コンテンツへスキップ
Tutorial

Botoi TypeScript SDK の使用方法と 5 つの実際の例

| 7 min read

@botoi/sdk をインストールし、完全なタイプ セーフティ、自動再試行、依存関係なしで 150 以上のエンドポイントを呼び出します。 5 つのコピー&ペーストの例が含まれています。

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

Node.js アプリを構築していて、電子メールを検証し、スクリーンショットをキャプチャし、PII を検出する必要があります。 チケットをサポートしたり、レシート用の QR コードを生成したりできます。 書いてもいいでしょう fetch ラッパー、 再試行を処理し、エラーを解析し、型が API と同期していることを望みます。 またはインストールすることもできます 1つのパッケージ。

@botoi/SDK パッケージでは入力したものを提供します 自動再試行、エラー クラス、依存関係なしで 150 以上のエンドポイントにアクセスできます。 この投稿は歩きます 今すぐ出荷できる 5 つのコピー&ペーストの例をご覧ください。

インストールと初期化

SDKは読み取ります BOTOI_API_KEY デフォルトでは環境から。 API キーがありませんか? 匿名 アクセスは 1 分あたり 5 リクエスト、1 日あたり 100 リクエストで機能します。 パッケージには依存関係がありません。 Node.js 20 以上が必要です。

今日から構築できる 5 つのこと

ログに記録する前にユーザー入力をスキャンして PII を確認する

サポート チケットには、顧客が何も考えずに貼り付ける電子メール、電話番号、SSN が含まれています。 これらのペイロードをログに記録すると、要求したことのない PII が保存されることになります。 の pii.detect このメソッドは機密データを検出するため、データベースにヒットする前にデータを編集できます。

応答:

各調査結果にはエンティティが含まれます type、一致した value、そして start/end 文字の位置。 これらのオフセットを使用して機密情報を置き換えます テキスト付き [REDACTED] ログに書き込む前に。

API 応答から Zod スキーマを生成する

サードパーティ API から JSON を取得するため、実行時検証が必要です。 Zod スキーマを手書きする 30 フィールドの Stripe 支払いインテントには、必要以上の時間がかかります。 の schema.jsonToZod メソッドは、任意の JSON オブジェクトからスキーマを生成します。

出力:

出力をコードベースに貼り付け、追加します import { z } from "zod"、そしてあなた 30 秒以内に実行時に検証された型が得られます。 ネストされたオブジェクトと配列が処理されます 再帰的に。

競合他社がどのような技術スタックを使用しているかを検出する

競合他社の調査は通常、DevTools を開いてスクリプト タグから推測することを意味します。 の techDetect.detect メソッドは URL をスキャンし、分類された結果を返します。 フレームワーク、 分析、CDN、ホスティングプロバイダーなど。

応答:

各テクノロジーには信頼スコアとカテゴリが含まれています。 販売インテリジェンス、市場に役立ちます 研究したり、自分のスタックを監査したりできます。

プログラムで全ページのスクリーンショットをキャプチャする

ソーシャル プレビュー画像、PDF レポート、ビジュアル回帰テスト。 それらはすべてスクリーンショットが必要です。 の screenshot.capture メソッドはバイナリを返します Response できるオブジェクト ディスクに直接書き込みます。

バイナリ エンドポイント (スクリーンショット、PDF、画像) は生のデータを返します。 Response。 電話 .arrayBuffer() バイトを取得します。 エンドポイントはカスタム ビューポート、フルページをサポートします キャプチャ、および PNG/JPEG/WebP 形式。

QRコードをSVGとして生成

領収書、イベントチケット、マーケティング資料。 QRコードはいたるところに表示されます。 の qr.generate このメソッドはデフォルトで SVG を返します。これは、無限のスケーリングと小さな値を意味します。 ファイルサイズ。

SVG 出力は自己完結型の文字列で、HTML に埋め込んだり、ファイルに保存したり、 PDF。 カスタムカラー、エラー修正レベル、サイズはすべて設定可能です。

回復に役立つエラー処理

SDK は、各障害モードの型指定されたエラー クラスをエクスポートします。 特定のエラーをキャッチすることができ、 レート制限、認証失敗、タイムアウトに対して異なる対応をします。

SDK は、指数バックオフを使用して 429 エラーと 5xx エラーを自動再試行します (デフォルトでは最大 3 回の試行)。 一時的な障害のほとんどは、コードが影響することなく解決されます。 の BotoiRateLimitError が含まれています retryAfter プロパティを数秒で取得できるため、キューベースのフォールバックを構築できます 大量のワークロード向け。

構成オプション

最も単純な構成では、環境からすべてを読み取ります。

セット BOTOI_API_KEY あなたの中で .env ファイルと SDK がそれを取得します 自動的に。 コンストラクター引数は必要ありません。

含まれるもの

SDK は、ルックアップ、テキスト処理、開発者ユーティリティ、 セキュリティと検証、イメージ生成、およびストレージ サービス。 すべてのメソッドは完全に型指定されています。 エディターで呼び出しの上にマウスを置くと、リクエスト パラメーターと応答の形状が表示されます。

始めるためのいくつかの名前空間:

  • botoi.ipbotoi.emailbotoi.dns 検索用
  • botoi.hashbotoi.jwtbotoi.uuid 開発者ユーティリティ用
  • botoi.piibotoi.encryptbotoi.validate セキュリティのため
  • botoi.qrbotoi.screenshotbotoi.og 画像生成用
  • botoi.schemabotoi.jsonbotoi.csv データ変換用

完全な SDK リファレンスについては、次の URL を参照してください。 /sdk/、またはでパッケージを参照します npm

FAQ

SDK は API キーなしで動作しますか?
はい。 匿名アクセスでは、1 分あたり 5 リクエスト、1 日あたり 100 リクエストが発生します。 制限を高くするには API キーを渡します。
API が 429 を返すとどうなりますか?
SDK はそれをキャッチし、Retry-After ヘッダーを尊重して指数バックオフで再試行します。 maxRetries を設定できます (デフォルト: 3)。
ブラウザーで SDK を使用できますか?
SDK は Node.js 20 以降をターゲットとしています。 ブラウザで使用する場合は、fetch を使用して REST API を直接呼び出します。
スクリーンショットや QR コードなどのバイナリ応答はどのように処理すればよいですか?
バイナリ エンドポイントは Response オブジェクトを返します。 画像の場合は .arrayBuffer() を、SVG 文字列の場合は .text() を呼び出します。
Python SDKはありますか?
まだ。 REST API は、HTTP サポートを備えた任意の言語から動作します。 CURL の例は API ドキュメントにあります。

botoiで開発を始めよう

150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。