エラーコード一覧
通話の処理中にエラーが発生すると、payload の errors[] に 1 件以上のエラーオブジェクトが入って配信されます。本ページはエラーオブジェクトの構造と、code に入り得る値をまとめたリファレンスです。
エラーオブジェクトの構造
| フィールド | 型 | 必須 | 例 | 用途 |
|---|---|---|---|---|
code | string | 必須 | "CALL_CONNECTION_FAILED" | エラー分類コード。後述の一覧のいずれかの値。受信側 switch のキー |
message | string | 必須 | "Failed to initiate or connect the call." | 分類ごとに固定の英語メッセージ。表示・ログ用 |
timestamp | string (ISO8601) | 必須 | "2026-05-12T10:23:45.000Z" | エラー発生時刻(UTC・ミリ秒精度)。時系列ソートに使う |
重要
エラー判定は errors 配列が空でないかで行ってください。data.callStatus にはエラー発生時点の遷移中ステータス(CALLING など)が入る場合があり、ERROR 固定ではありません。
code に入り得る値
code は「何が起きたか・どう対処すべきか」を表す 6 つのエラー分類のいずれかです。
| code | 意味 | 通話への影響 | 推奨される対応 |
|---|---|---|---|
CALL_NOT_PERMITTED | 発信が許可されなかった(国際発信制限・詐欺電話疑いによるブロック等) | 通話は行われていない | 宛先を確認。解除が必要な場合はお問い合わせ |
CALL_CONNECTION_FAILED | 通話の発信・接続に失敗した(回線・通信環境側の問題を含む) | 通話は行われていない | 時間をおいて再発信可能 |
CALL_INTERRUPTED | 通話中に問題が発生し、通話が正常に完了しなかった | 通話が中断された可能性 | 必要に応じて再発信を判断 |
CALL_RESULT_PROCESSING_FAILED | 通話自体は終了したが、通話結果の処理(文字起こし・分析・保存)に失敗した | 通話は実施済み。結果データ(transcript / 分析結果)欠損の可能性 | 再発信は不要。結果データが必要ならお問い合わせ |
INTERNAL_ERROR | Recho 内部の異常(通話状態が長時間更新されない事象の検知など) | 状況による(data.callStatus を参照) | 継続する場合はお問い合わせ |
UNKNOWN_ERROR | 上記のいずれにも分類できない予期しないエラー | 状況による(data.callStatus を参照) | 継続する場合はお問い合わせ |
備考
分類は今後のリリースで追加されることがあります。追加時は本ページの一覧を更新して告知します。受信側は未知の code 値が来ても落ちない実装にしてください(例: switch の default 節でログのみ出力)。
特に注意が必要な分類
CALL_RESULT_PROCESSING_FAILEDは「失敗した通話」ではありません。 通話(発信先との会話)自体は行われています。このエラーを理由に再発信すると、相手に二重で電話がかかることになります。- 障害調査が必要な場合は、対象の
callId(data.callId)を添えてお問い合わせください。Recho 側で詳細なエラー情報を確認できます。
旧エラーコードからの変更
以前は NETWORK_ERROR や STALE_CALLING_DETECTED など内部実装に由来する詳細コードを配信していましたが、現在は上記 6 分類に集約されています。また、エラーオブジェクトから where / phase / stacktrace フィールドは廃止されました。旧コードで分岐している受信実装は以下の対応で移行してください。
| 旧 code | 新 code |
|---|---|
INTERNATIONAL_PERMISSION_ERROR | CALL_NOT_PERMITTED |
TWILIO_API_ERROR, CALL_INITIATION_ERROR, GEMINI_API_UNAVAILABLE | CALL_CONNECTION_FAILED |
WEBSOCKET_CONNECTION_FAILED, VOICEAI_PROCESSING_ERROR, PRE_VOICEAI_RUNNING_FAILED, STATUS_UPDATE_TO_CALLING_FAILED, STATUS_UPDATE_TO_CONCURRENCY_LIMIT_EXCEEDED_FAILED | CALL_INTERRUPTED |
POST_VOICEAI_RUNNING_FAILED, ANALYZER_FAILED, GEMINI_ANALYZER_FAILED, HISTORY_FORMAT_FAILED, CALL_LOG_SAVE_FAILED, STATUS_UPDATE_TO_CLOSING_FAILED, STATUS_UPDATE_TO_FINAL_STATUS_FAILED, STATUS_UPDATE_IN_CALLBACK_FAILED, CALLBACK_PROCESSING_FAILED | CALL_RESULT_PROCESSING_FAILED |
STALE_CALLING_DETECTED, STALE_CLOSING_DETECTED, STALE_REQUESTED_DETECTED, STALE_CONNECTING_DETECTED | INTERNAL_ERROR |
INVALID_REQUEST_ID, NETWORK_ERROR, TIMEOUT | —(廃止。現行システムでは発生しません) |