Skip to main content

Webhook の仕組み

通話イベントが発生すると、OneInbox はイベントペイロードを含む HTTP POST をサーバーに送信します。サーバーは数秒以内に 2xx で応答する必要があります — 応答がない場合、OneInbox は再送します。 Webhook を設定すれば、GET /v1/calls/<id> を繰り返しポーリングする必要はありません。OneInbox がイベント発生の瞬間にデータをプッシュします。

Webhook を作成する

サーバー上の URL と受信したいイベントを指定して Webhook をセットアップします。OneInbox はそれらのイベントが発火するたびにその URL に POST リクエストを送信します。
id を保存しておいてください — Webhook の更新や削除に必要です。

サポートされているイベント


イベントペイロード

call.started

通話が接続し、エージェントがセッションを開始したときに発火します。通話開始時刻をログに記録したり、CRM で「通話中」の更新をトリガーするために使用します。

call.ended

通話が終了したときに発火します。このペイロードには AI が生成した結果とサマリーが含まれます — CRM 更新、リードルーティング、レポートに最もよく使われるイベントです。

call.analyzed

通話終了後、AI がサマリーと結果の生成を完了したときに発火します。通話結果に基づいた CRM 更新やリードルーティングをトリガーするために使用します。

call.failed

通話の接続に失敗したときに発火します。失敗のログ記録、リトライのトリガー、チームへのアラートに使用します。

call.recording.available

通話録音が処理されてアクセス可能になったときに発火します。通話後に録音を保存または共有するために使用します。

transcript.partial

部分的なトランスクリプト更新とともにアクティブな通話中に発火します。リアルタイムモニタリングやライブエージェントアシストに使用します — 部分的なトランスクリプトは通話が続くにつれて変わる場合があることに注意してください。

transcript.final

完全なトランスクリプトが準備完了したら call.ended の後に発火します。データベースへの記録や CRM への送信など、完全なメッセージごとの会話ログが必要な場合に使用します。

Webhook をテストする

本番稼働前にサーバーがイベントを正しく受信していることを確認するためにテスト配信を送信します:
サーバーはサンプルペイロードを含むテスト POST を受信するはずです。サーバーのログを確認して、受信できていてエンドポイントが 2xx を返していることを確認してください。

通話ごとの Webhook 上書き

グローバルな Webhook 設定を変更せずに、特定の通話のイベントを別の URL に送ることができます。これは異なるキャンペーンやバッチを別々のダウンストリームシステムにルーティングする場合に便利です — 例えばインバウンド通話用の URL とアウトバウンド通話用の URL を分ける場合。 通話を作成するときに webhook_url を渡します:
この通話のイベントは、設定済みのグローバル Webhook の代わりに(または追加で)webhook_url に送られます。

Webhook を管理する

すべての Webhook を一覧表示

アカウント内のすべての Webhook を取得します。更新または削除が必要な Webhook の id を見つけるために使用します。

Webhook を更新する

Webhook の URL、名前、イベント、またはステータスを変更します。

Webhook を削除する

Webhook を永続的に削除します。OneInbox はその URL へのイベント送信を即座に停止します。

配信履歴を確認する

Webhook の配信試行ログを取得します。特定のイベントがサーバーに届いたか確認したり、配信失敗を診断するのに便利です。最新の試行から順に返され、各行に response_statusresponse_bodyerror が含まれます。

API リファレンス

Webhook 作成 · Webhook 一覧 · Webhook 更新 · テスト配信