callStatus 一覧
body.data.callStatus には通話のステート名(通知時点のスナップショット)が入ります。本ページは取り得る値とその意味、eventType との対応関係をまとめたリファレンスです。
警告
callStatus はエラー判定に使えません。 エラー発生時点でも遷移中ステータス(CALLING など)が入る場合があります。エラー判定は body.errors 配列の有無で行ってください(Payload 仕様 > body.errors 参照)。
発信通話 (OUTBOUND) の callStatus
| callStatus | 意味 | 対応する eventType |
|---|---|---|
PENDING | キューに登録された直後 | OUTBOUND_CALL_PENDING |
REQUESTED | 電話回線プロバイダへ発信指示を出した | OUTBOUND_CALL_REQUESTED |
CALLING | 呼び出し進行中 / 通話接続中 | OUTBOUND_CALL_CALLING |
CLOSING | 通話切断後の後処理フェーズ | OUTBOUND_CALL_CLOSING |
COMPLETED | 通話完了(正常終了。errors 配列があればエラー有り完了) | OUTBOUND_CALL_COMPLETED |
EXPIRED | 発信予約時間ウィンドウを超過 | OUTBOUND_CALL_EXPIRED |
NO_RESPONSE | 相手が応答しなかった | OUTBOUND_CALL_NO_RESPONSE |
CANCELED | ユーザー操作で PENDING からキャンセル | OUTBOUND_CALL_CANCELED |
BUSY | 相手回線が話し中 | OUTBOUND_CALL_BUSY |
UNREACHABLE | 電波圏外・電源 OFF など、到達できなかった | OUTBOUND_CALL_UNREACHABLE |
MAX_ATTEMPTS_REACHED | 再発信を含む試行回数が上限到達 | OUTBOUND_CALL_MAX_ATTEMPTS_REACHED |
ERROR | エラー発生 | OUTBOUND_CALL_ERROR |
VOICEMAIL_REACHED | 留守電に到達 | OUTBOUND_CALL_ERROR 系(内部分類) |
HEALTHCHECK_FAILED | ヘルスチェック失敗 | OUTBOUND_CALL_ERROR 系(内部分類) |
LIMIT_REACHED | 各種上限到達(内部) | OUTBOUND_CALL_ERROR に集約 |
CONNECTING | 接続中(内部) | OUTBOUND_CALL_ERROR に集約 |
CONCURRENCY_LIMIT_EXCEEDED | 同時実行制限超過(内部) | OUTBOUND_CALL_ERROR に集約 |
注記
LIMIT_REACHED / CONNECTING / CONCURRENCY_LIMIT_EXCEEDED は内部状態として callStatus には現れることがありますが、対応する Webhook イベントは発火せず(または OUTBOUND_CALL_ERROR に集約され)、外部向けにはエラーとして扱われます。
着信通話 (INBOUND) の callStatus
| callStatus | 意味 | 対応する eventType |
|---|---|---|
CONNECTING | 着信を受け、内部処理を開始 | INBOUND_CALL_CONNECTING |
CALLING | 通話成立、対話進行中 | INBOUND_CALL_CALLING |
CLOSING | 通話切断後の後処理フェーズ | INBOUND_CALL_CLOSING |
COMPLETED | 通話完了 | INBOUND_CALL_COMPLETED |
CONCURRENCY_LIMIT_EXCEEDED | 同時通話数上限に到達 | INBOUND_CALL_CONCURRENCY_LIMIT_EXCEEDED |
ERROR | エラー発生 | INBOUND_CALL_ERROR |
eventType と callStatus の関係
両者は 似ているが別概念 です:
eventTypeは Webhook 配信のトリガー名(外部向けの公開シグナル)callStatusは 通話の内部ステータス(payload のデータフィールド)
ほぼ 1 対 1 で対応しますが、いくつかの内部 status は外部公開イベントに集約されます(上記 OUTBOUND_CALL_ERROR への集約など)。
受信側のロジック分岐は eventType を主キーに使うのを推奨します。callStatus は補助情報・ログ・統計用途に向きます。
状態遷移(概念図)
OUTBOUND
PENDING → REQUESTED → CALLING → CLOSING → COMPLETED
↘ NO_RESPONSE / BUSY / UNREACHABLE / EXPIRED / ...
↘ ERROR
CANCELED ← (PENDING でユーザー操作)
INBOUND
CONNECTING → CALLING → CLOSING → COMPLETED
↘ CONCURRENCY_LIMIT_EXCEEDED
↘ ERROR
詳細な遷移仕様は内部実装に依存するため、外部向けに保証されるのは「同一 callId のイベントは FIFO で配信される」点のみです(設定ガイド > 配信の挙動 参照)。