Skip to main content
発信通話では、宛先番号とエージェント設定をThunderPhoneに渡すことで、AIが代わりに通話を発信します。一般的なユースケース:
  • 予約確認
  • アンケートの折り返し
  • 不在着信後の「再試行」フォローアップ
  • ディスパッチ形式の通知
連絡先リスト全体に発信する場合は、ダッシュボードの キャンペーン機能 (/dashboard/campaigns)を使用してください。連絡先のCSVを受け取り、 タイムゾーン対応の発信時間帯、同時実行数、再試行ポリシーを処理します。 このガイドでは、単一のプログラムによる発信を説明します。

前提条件

1

VoIP番号を用意する

発信通話には、VoIP接続を通じて from_numberを所有している必要があります。デモ番号は着信専用です。 独自の番号を持ち込むを参照してください。
2

エージェントを作成する

発信向けのプロンプトでは、通常、エージェントが自身と目的を名乗ることから始めます。 例: 「こんにちは、明日午後3時の予約を確認するためにAcmeからお電話しています…」。 outbound_speak_orderagent_first(デフォルト)に設定してください。
3

残高を正に保つ

残高が$0.00以下の場合、発信通話は402 Payment Requiredを返します。 POST /v1/billing/top-upでチャージするか、 自動リロードを有効にしてください。

保存済みエージェントで通話を発信する

最も簡単な方法は、IDでエージェントを参照することです:
レスポンス:
status: "initiated"は、リクエストが受理されたことを意味するだけであり、通話は まだ接続されていません。ライブステータスを確認するには、 GET /v1/calls/{call_id} をポーリングしてください(in_progresscompleted / failed)。

インライン設定で通話を発信する

エージェントとして保存するほどではない一回限りのプロンプトを使用する場合は、 代わりにconfigを渡します。形式は call.incoming webhookの レスポンススキーマと一致します:

通話を追跡する

並行して、 telephony.complete webhookを購読してください。 これは通話の終了を最も迅速に把握する方法です。受信webhookを受け取れない場合は、 数秒ごとにGET /v1/calls/{call_id}をポーリングしてください。通話終了後、レコードには end_reasonduration_seconds、録音URLが含まれます。

対応すべき障害モード

保留時間の制御

相手先の応答が遅いために長時間化するアウトバウンド通話 (IVRツリー、キュー)は、max_hold_seconds で上限を設定できます。
直近 N 秒間に人の音声が受信されない場合、エージェントは通話を終了します。デフォルトは 900(15 分)です。

次のステップ

アウトバウンド通話リファレンス

すべてのリクエストフィールドとエラーコード。

call.complete を受信

完了したアウトバウンド通話をシステムにストリーミングします。

請求

残高不足でアウトバウンド通話が失敗しないよう自動チャージします。

アウトバウンドエージェントをテスト

本番環境の前にアウトバウンドエージェントをドライランします。