Zum Inhalt springen
Tutorial

So verwenden Sie das Botoi TypeScript SDK anhand von 5 realen Beispielen

| 7 min read

Installieren Sie @botoi/sdk, rufen Sie über 150 Endpunkte mit vollständiger Typsicherheit, automatischer Wiederholung und keinen Abhängigkeiten auf. Fünf Copy-Paste-Beispiele enthalten.

TypeScript code in a VS Code editor
Photo by Safar Safarov on Unsplash

Sie erstellen eine Node.js-App und müssen E-Mails validieren, Screenshots erfassen und PII erkennen Support-Tickets erstellen oder QR-Codes für Belege generieren. Du könntest schreiben fetch Verpackungen, Behandeln Sie Wiederholungsversuche, analysieren Sie Fehler und hoffen Sie, dass die Typen mit der API synchron bleiben. Oder Sie könnten installieren ein Paket.

Der @botoi/sdk Paket gibt Ihnen getippt Zugriff auf über 150 Endpunkte mit automatischer Wiederholung, Fehlerklassen und null Abhängigkeiten. Dieser Beitrag geht anhand von fünf Copy-Paste-Beispielen, die Sie noch heute versenden können.

Installieren und initialisieren

Das SDK liest BOTOI_API_KEY standardmäßig aus Ihrer Umgebung. Kein API-Schlüssel? Anonym Der Zugriff funktioniert mit 5 Anfragen pro Minute und 100 pro Tag. Das Paket hat keine Abhängigkeiten und erfordert Node.js 20+.

Fünf Dinge, die Sie heute bauen können

Scannen Sie Benutzereingaben vor der Protokollierung auf personenbezogene Daten

Support-Tickets enthalten E-Mails, Telefonnummern und SSNs, die Kunden ohne nachzudenken einfügen. Wenn Sie diese Nutzlasten protokollieren, speichern Sie personenbezogene Daten, nach denen Sie nie gefragt haben. Der pii.detect Die Methode findet vertrauliche Daten, sodass Sie sie schwärzen können, bevor sie in Ihre Datenbank gelangen.

Antwort:

Jeder Befund umfasst die Entität type, das übereinstimmende value, und die start/end Zeichenpositionen. Verwenden Sie diese Offsets, um empfindlich zu ersetzen Text mit [REDACTED] bevor in Protokolle geschrieben wird.

Generieren Sie Zod-Schemata aus API-Antworten

Sie erhalten JSON von einer Drittanbieter-API und benötigen eine Laufzeitvalidierung. Handschriftliche Zod-Schemata für a Die 30-Felder-Stripe-Zahlungsabsicht nimmt Zeit in Anspruch, die Sie nicht haben. Der schema.jsonToZod Die Methode generiert das Schema aus einem beliebigen JSON-Objekt.

Ausgabe:

Fügen Sie die Ausgabe in Ihre Codebasis ein und fügen Sie hinzu import { z } from "zod", und du haben laufzeitvalidierte Typen in weniger als 30 Sekunden. Es werden verschachtelte Objekte und Arrays behandelt rekursiv.

Erkennen Sie, welchen Tech-Stack ein Wettbewerber verwendet

Konkurrenzforschung bedeutet normalerweise, DevTools zu öffnen und anhand von Skript-Tags zu raten. Der techDetect.detect Die Methode scannt eine URL und gibt kategorisierte Ergebnisse zurück. Rahmen, Analysen, CDNs, Hosting-Anbieter und mehr.

Antwort:

Für jede Technologie gibt es einen Konfidenzwert und eine Kategorie. Nützlich für Vertriebsinformationen, Markt Recherche oder Prüfung Ihres eigenen Stacks.

Erfassen Sie ganzseitige Screenshots programmgesteuert

Social-Preview-Bilder, PDF-Berichte, visuelle Regressionstests. Sie alle brauchen Screenshots. Der screenshot.capture Die Methode gibt eine Binärdatei zurück Response Einspruch können Sie einlegen direkt auf die Festplatte schreiben.

Binäre Endpunkte (Screenshots, PDFs, Bilder) geben ein Raw zurück Response. Anruf .arrayBuffer() um die Bytes zu bekommen. Der Endpunkt unterstützt benutzerdefinierte Ansichtsfenster, ganzseitig Capture und PNG/JPEG/WebP-Formate.

QR-Codes als SVG generieren

Quittungen, Veranstaltungstickets, Marketingmaterialien. Überall tauchen QR-Codes auf. Der qr.generate Die Methode gibt standardmäßig SVG zurück, was unendliche Skalierung und winzig bedeutet Dateigrößen.

Die SVG-Ausgabe ist eine eigenständige Zeichenfolge, die Sie in HTML einbetten, in einer Datei speichern oder einbinden können ein PDF. Benutzerdefinierte Farben, Fehlerkorrekturstufen und Größe sind alle konfigurierbar.

Fehlerbehandlung, die Ihnen bei der Wiederherstellung hilft

Das SDK exportiert typisierte Fehlerklassen für jeden Fehlermodus. Sie können bestimmte Fehler abfangen und reagieren unterschiedlich auf Ratenbegrenzungen, Authentifizierungsfehler und Zeitüberschreitungen.

Das SDK wiederholt automatisch 429- und 5xx-Fehler mit exponentiellem Backoff (standardmäßig bis zu 3 Versuche). Die meisten vorübergehenden Fehler werden behoben, ohne dass Ihr Code sie berührt. Der BotoiRateLimitError beinhaltet a retryAfter Eigenschaft in Sekunden, sodass Sie warteschlangenbasierte Fallbacks erstellen können für hochvolumige Arbeitslasten.

Konfigurationsoptionen

Die einfachste Konfiguration liest alles aus der Umgebung:

Satz BOTOI_API_KEY in deinem .env Datei und das SDK übernimmt sie automatisch. Keine Konstruktorargumente erforderlich.

Was ist enthalten

Das SDK stellt 87 Ressourcen-Namespaces zur Verfügung, die Suche, Textverarbeitung, Entwicklerdienstprogramme usw. abdecken. Sicherheit und Validierung, Bildgenerierung und Speicherdienste. Jede Methode ist vollständig typisiert; Bewegen Sie den Mauszeiger über einen beliebigen Aufruf in Ihrem Editor, um die Anforderungsparameter und die Antwortform anzuzeigen.

Ein paar Namespaces für den Einstieg:

  • botoi.ip, botoi.email, botoi.dns für Nachschlagewerke
  • botoi.hash, botoi.jwt, botoi.uuid für Entwickler-Dienstprogramme
  • botoi.pii, botoi.encrypt, botoi.validate für Sicherheit
  • botoi.qr, botoi.screenshot, botoi.og zur Bilderzeugung
  • botoi.schema, botoi.json, botoi.csv zur Datentransformation

Die vollständige SDK-Referenz finden Sie unter /sdk/, oder durchsuchen Sie das Paket weiter npm.

FAQ

Funktioniert das SDK ohne API-Schlüssel?
Ja. Der anonyme Zugriff ermöglicht 5 Anfragen pro Minute und 100 pro Tag. Übergeben Sie einen API-Schlüssel für höhere Limits.
Was passiert, wenn die API eine 429 zurückgibt?
Das SDK fängt es ab und versucht es erneut mit exponentiellem Backoff unter Berücksichtigung des Retry-After-Headers. Sie können maxRetries konfigurieren (Standard: 3).
Kann ich das SDK in einem Browser verwenden?
Das SDK zielt auf Node.js 20+ ab. Rufen Sie für die Verwendung im Browser die REST-API direkt mit fetch auf.
Wie gehe ich mit binären Antworten wie Screenshots und QR-Codes um?
Binäre Endpunkte geben ein Response-Objekt zurück. Rufen Sie .arrayBuffer() für Bilder oder .text() für SVG-Strings auf.
Gibt es ein Python SDK?
Noch nicht. Die REST-API funktioniert in jeder Sprache mit HTTP-Unterstützung. Curl-Beispiele finden Sie in den API-Dokumenten.

Starte mit botoi zu entwickeln

150+ API-Endpunkte für Abfragen, Textverarbeitung, Bildgenerierung und Entwickler-Tools. Kostenloser Tarif, keine Kreditkarte nötig.