mcpField
T
twilio

twilio

github.com/vercel-labsテスト・品質2.0k75 回インストール2 日前に更新
リポジトリ

twilio について

開発者向けの Twilio REST API エミュレーターで、メッセージ、認証、通話、会話をローカルでテストできます。初期データと受信イベントのシミュレーション用ルートを備えています。

主な機能

  1. 01状態を保持する Twilio REST API エミュレーション
  2. 02初期アカウントと認証情報
  3. 03Messaging、Verify、Voice、Conversations のルート
  4. 04受信イベントとコールバックのシミュレーション
  5. 05ローカル認証コードの確認

活用シーン

  1. 01送信メッセージとステータスコールバックのテスト
  2. 02OTP 認証フローの検証
  3. 03受信 SMS と通話のシミュレーション
  4. 04実際の Twilio 通信なしでのアプリテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vercel-labs/emulate --skill twilio

インストール後、Claude Code で/twilioを入力して読み込まれたか確認します。

詳細

Twilio API エミュレーター

シード済みアカウント、Auth Token、API キー、着信電話番号、Programmable Messaging、Messaging Services、Verify、基本的な Voice 通話、Conversations REST リソース、署名付き Webhook、ローカルシミュレータールート、インスペクターを備えた、状態を保持する Twilio REST エミュレーションです。

起動

ローカルリスナーはデフォルトで 127.0.0.1 にバインドします。コンテナやほかのマシンからアクセスするには、CLI に --host 0.0.0.0 を渡すか、createEmulator に hostname: '0.0.0.0' を指定します。クライアントからアクセス可能な URL を通知するには、--base-url または baseUrl を設定します。

npx emulate --service twilio

デフォルト URL:すべてのサービスを起動した場合は http://localhost:4013、Twilio のみを起動した場合は http://localhost:4000 です。

デフォルト

TWILIO_ACCOUNT_SID=AC00000000000000000000000000000000
TWILIO_AUTH_TOKEN=twilio_test_auth_token
TWILIO_API_KEY=SK00000000000000000000000000000000
TWILIO_API_SECRET=twilio_test_api_secret
TWILIO_PHONE_NUMBER=+15551234567
TWILIO_VERIFY_SERVICE_SID=VA00000000000000000000000000000000

URL マッピング

実際の Twilio URLエミュレーター URL
https://api.twilio.com/2010-04-01/...$TWILIO_EMULATOR_URL/2010-04-01/...
https://messaging.twilio.com/v1/...$TWILIO_EMULATOR_URL/messaging/v1/...
https://verify.twilio.com/v2/...$TWILIO_EMULATOR_URL/verify/v2/...

公式 Node SDK は Twilio 製品の絶対 URL を生成します。SDK のテストでは、これらのホストを上記のエミュレータープレフィックスに書き換えるカスタムリクエストクライアントを使用してください。

認証

HTTP Basic 認証では、次のいずれかを受け付けます。

  • Account SID と Auth Token
  • API Key SID と API Key Secret

主なルート

  • POST /2010-04-01/Accounts/{AccountSid}/Messages.json - 送信メッセージを作成
  • GET /2010-04-01/Accounts/{AccountSid}/Messages.json - メッセージを一覧表示
  • POST /2010-04-01/Accounts/{AccountSid}/Calls.json - 送信通話を作成
  • POST /verify/v2/Services/{ServiceSid}/Verifications - 検証を開始
  • POST /verify/v2/Services/{ServiceSid}/VerificationCheck - 検証コードを確認
  • POST /conversations/v1/Services/{ServiceSid}/Conversations - Conversation を作成
  • POST /conversations/v1/Services/{ServiceSid}/Conversations/{ConversationSid}/Participants - 参加者を追加
  • POST /conversations/v1/Services/{ServiceSid}/Conversations/{ConversationSid}/Messages - メッセージを追加
  • POST /_twilio/simulate/inbound-message - SMS の着信をシミュレート
  • POST /_twilio/simulate/message-status - メッセージステータスコールバックをシミュレート
  • POST /_twilio/simulate/inbound-call - 着信通話をシミュレート

SMS と OTP のテスト

  • シード済み Verify Service のコードは 123456 です。
  • Verification の作成時に CustomCode を使用すると、その検証専用のコードを指定できます。
  • E2E テストで最新のローカルコードを取得するには、Basic 認証を使って GET /_twilio/simulate/verification-code?To=...&ServiceSid=... を使用します。
  • ローカルの Verify 状態を強制的に設定するには、VerificationSid または To を指定して POST /_twilio/simulate/verification-status を使用します。
  • SMS の着信 Webhook をテストするには、POST /_twilio/simulate/inbound-message を使用します。
  • SMS の着信時は、割り当てられた Messaging Service の inbound_request_url が優先され、設定されていない場合は電話番号の sms_url が使用されます。
  • 送信メッセージのステータスコールバックをテストするには、POST /_twilio/simulate/message-status を使用します。

現在の制限

実際の SMS、MMS、WhatsApp、メール、音声、通信事業者、コンプライアンス、請求、SendGrid、Studio、Flex、TaskRouter、Video、Sync、Segment、Conversations SDK の WebSocket 動作、および完全な TwiML インタープリターの動作は実装されていません。

組み込みエミュレーターと併用するカスタムエミュレーター

npx emulate init --custom inventory を使用して、サードパーティ API エミュレーターとテストをひな形から作成します。組み込みの { emulator: "twilio" } などのエントリーと並べて、emulate の defineConfig を使い、emulate.config.ts に登録します。npx emulate start --watch を実行すると、インポートが再読み込みされ、表示された /_emulate URL でカスタム状態を確認できます。再読み込みが成功すると、実行状態はシードにリセットされます。既存のフラットなシード設定も引き続き使用できます。--config を指定すると、明示したファイルが選択されます。サードパーティ API エミュレーターの作成とテストについては、https://emulate.dev/docs/custom-emulators を参照してください。

コメント