Skip to main content
すべての通話の終了後に完了イベントが発火します。対象は、着信電話、 発信電話、Web通話、テスト通話(ビルダーのマイクセッション)です。これは ノンブロッキングです。任意の 2xx で応答してください。 イベントは両方の経路で配信されます。
  • Webhookエンドポイント は、 以下に記載する安定したペイロード、配信ごとの event_id、30 秒のタイムアウト、 および最大 24 時間の再試行とともに、 telephony.complete(電話通話)または web.complete(Web通話および ビルダーのマイクテスト通話)を受信します。
  • レガシー単一URL Webhook は、わずかに異なるペイロードで 1 回の同期試行を受信します(10 秒のタイムアウト、再試行なし)。 詳しくは レガシーペイロードの違いを参照してください。

リクエストペイロード(エンドポイント配信)

終了理由

トランスクリプト形式

transcripts の各エントリは、1つの会話ターンです。ロールは user(発信者の発話)、model(エージェントの発話およびツール呼び出し)、 tool(ツール結果)、system(言語切り替えなどの通話イベント)です。
完全に構造化されたターン履歴(割り込みマーカー、 確認プロンプト、生の位置情報を含む)については、 GET /v1/calls/{call_id}/history を使用してください。

レガシーペイロードの違い

レガシーの単一URL Webhookエンベロープは {"type": "telephony.complete" | "web.complete", "data": {…}} であり、 event_id は含まれません。また、その data はエンドポイントのペイロードと異なります。
  • ターン配列は transcripts ではなく history にあります(スキーマは上記と同じです)。
  • フィールドセットは未加工の通話終了レポートであり、上記の表以外の追加内部フィールドが含まれる場合があります。不明なフィールドは情報として扱ってください。
  • Web通話(direction: "web")では from_number / to_number省略され、origin_domain が追加されます。
  • Builderのマイクテスト通話は、レガシーパスでは telephony.complete として報告されます(エンドポイントシステムでは web.complete にマッピングされます)。
  • 転送の調整: 通話が転送で終了する場合、レガシーWebhookは同期的に呼び出され、転送先が準備できていないことを示すために {"transfer_ready": false} を返す場合があります。それ以外の応答(またはレガシーWebhookがない場合)では、転送が続行されます。エンドポイント配信はこの処理で参照されません。

ハンドラーの例


一般的なユースケース

CRM連携

各通話のトランスクリプトと録音URLを顧客レコードとともに保存します。

分析

トピックモデリング、CSATシグナルの抽出、転送率の監視のために、トランスクリプトをパイプラインへストリーミングします。

品質レビュー

QAツールで通話を開いて人によるレビューを行うか、独自の評価モデルで処理します。

通知

転送または失敗時に担当チームメンバーへ通知します。

関連項目

telephony.incoming / web.incoming

通話開始時に実行される、ブロッキング型の対応イベントです。

イベントカタログ

購読可能なその他のイベントタイプです。

通話履歴API

バックフィルやリプレイ向けに、REST経由で同じデータへアクセスできます。