リアルタイムの音声・テキスト対話およびバックグラウンドタスクイベントに使用する Conversation を作成します。
Realtime は現在 Beta 機能です。API 定義、イベント構造、および動作は変更される可能性があります。ドキュメントの更新を確認し、本番環境で使用する前に互換性を検証してください。
POST /api/v1/forward/realtime/conversations
ヘッダー
| Header | 必須 | 説明 |
|---|---|---|
| Authorization | はい | Bearer <PAT または SAT> |
| Content-Type | はい | application/json |
| Idempotency-Key | はい | アプリケーションが生成する作成操作の識別子です。先頭または末尾に空白を含まない 1~256 バイトの値を指定します。UUID を推奨します。同じ操作を再試行する場合は、同じ値とリクエストボディを再利用してください。 |
リクエストボディ
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| identity_id | string | はい | 現在の認証スコープ内でアクセスできる有効な Identity ID。先頭または末尾の空白や制御文字を含まない 1~128 文字の値です。 |
| template_id | string | はい | 現在の認証スコープ内でアクセスできる Template ID。先頭または末尾の空白や制御文字を含まない 1~128 文字の値です。 |
| title | string または null | いいえ | デフォルトは null。前後の空白を削除した後で 1~256 文字とし、制御文字は使用できません。 |
| metadata | object または null | いいえ | デフォルトは {}。null は {} として扱われます。正規化して保存されるテキストは 16 KiB 以下で、U+0000 を含めることはできません。 |
| config | object | いいえ | Conversation の Realtime 設定。省略すると、サービスがデフォルト設定を解決します。null は使用できません。 |
| config.audio | object | いいえ | 音声設定。 |
| config.audio.output | object | いいえ | 出力音声設定。 |
| config.audio.output.voice | string | いいえ | プリセット音声の識別子。次の表にある値のみ使用できます。作成後は固定され、変更できません。 |
プリセット音声
| voice | 名前 |
|---|---|
longanqian | デフォルト |
longanlingxin | Longan Lingxin |
longanlingxi | Longan Lingxi |
longanxiaoxin | Longan Xiaoxin |
longanlufeng | Longan Lufeng |
リクエスト例
レスポンス例
HTTP 201 Created
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
| id | string | Conversation ID。 |
| type | string | 常に voice.conversation。 |
| status | string | 作成に成功した場合は ready。 |
| title | string または null | Conversation のタイトル。 |
| metadata | object | ビジネスメタデータ。 |
| config | object | サービスが解決して保存した、完全な有効設定。 |
| config.audio.output.voice | string | Conversation に固定された出力音声。 |
| created_at | string | RFC 3339 形式の作成日時。 |
| updated_at | string | RFC 3339 形式の更新日時。 |
冪等な再試行
- 同じ
Idempotency-Keyと同じリクエストボディを使用すると、最初の作成結果が再送されます。 - 再送されたレスポンスには
Idempotency-Replayed: trueが含まれます。 - 同じ
Idempotency-Keyを異なるリクエストボディで使用すると、409 idempotency_conflictが返されます。 - 最初のリクエストが処理中の場合は
409 idempotency_key_in_progressが返されます。再試行までの間隔はRetry-Afterを参照してください。
エラー
| HTTP | Code | 発生条件 |
|---|---|---|
| 400 | invalid_request、invalid_identity_id、invalid_template_id、invalid_title、invalid_metadata | リクエストパラメーターが無効です。 |
| 400 | invalid_voice | config.audio.output.voice がサポートされていません。 |
| 400 | invalid_idempotency_key | 冪等性ヘッダーがないか、無効です。 |
| 401 | authentication_required、ゲートウェイの TOKEN_INVALID | PAT または SAT が無効または期限切れであるか、Service Account Key が直接使用されています。 |
| 403 | permission_error、identity_mismatch | SAT が利用可能な Workspace に紐付けられていないか、Identity スコープの SAT で別の Identity が指定されています。 |
| 404 | identity_not_found | 現在の認証スコープ内で Identity が見つかりません。 |
| 409 | idempotency_conflict | 同じキーを異なるリクエストに使用することはできません。 |
| 409 | idempotency_key_in_progress | 同じキーのリクエストが処理中です。再試行間隔は Retry-After を参照してください。 |
| 409 | conversation_not_ready、conversation_initialization_conflict | Conversation の準備ができていないか、初期化が競合しています。 |
| 422 | identity_disabled | Identity が無効です。 |
| 422 | conversation_initialization_failed | Conversation の初期化に失敗しました。 |
| 500 | conversation_persistence_error、conversation_state_invalid、template_config_read_failed、internal_error | サービス内部エラーが発生しました。 |
| 502 | forward_unavailable、forward_protocol_error | 依存サービスでエラーが発生しました。 |
| 503 | idempotency_unavailable | サービスが一時的に利用できません。 |

