通話オブザーバビリティのデモ
デプロイメント
各デプロイメントには一意の ID が生成されます。ログはコンソールで確認できます。
コールログ
通話をクリックして、推論コードが生成したログ出力を確認できます。コールログ
トランスクリプト
各通話には、書き起こされた音声と生成されたテキストが独立して分かれたトランスクリプトがあります。これらのトランスクリプトを API または CLI でエクスポートすると、より詳細なターン単位のタイムスタンプも含まれます。
ロギング可能なイベント
ツール呼び出しに紐付けずにイベントを記録します。SDK
SDK では、エージェントまたはツールからLogMessage イベントを yield することでカスタムイベントを記録できます:
Websocket
SDK を使わずに素の WebSocket を使用している場合、ロギングイベントは次のようになります:Playground
プレイグラウンドでは通話のTranscript タブからこれらのイベントを確認できます。
ロギング可能なメトリクス
ワークフロー内の任意のポイントでメトリクスを記録します。SDK
SDK では、LogMetric イベントをブロードキャストすることでメトリクスを記録できます。これを示すフォーム入力テンプレートからの抜粋:
LogMetric イベントを購読しており、LogMetric がブロードキャストされたことを検出すると、デフォルトでそれを WebSocket 経由でログとして送信します。
Websocket
SDK を使わずに素の WebSocket を使用している場合、メトリクスのロギングは次のようになります:Playground
プレイグラウンドでは通話のTranscript タブからこれらのイベントを確認できます。

通話の録音
通話の録音はプレイグラウンドからダウンロードできます。
Webhook
Cartesia は通話のライフサイクル全体を通じて、お客様の HTTPS エンドポイントに Webhook イベントを送信します。POST + application/json を公開し、x-webhook-secret ヘッダーが保存済みのシークレットと一致することを検証してください。

Webhook シークレットの検証
- Python
- TypeScript
イベントタイプ
エンベロープフィールド
すべての Webhook イベントには、以下のトップレベルフィールドが含まれます:call
call_started、call_completed、call_failed イベントに含まれます。GET /agents/calls/{call_id} のレスポンスと一致します。一部のイベント(例:call_started)では、まだ有効な値を持たない end_time などのフィールドが省略される場合があります。
turn
call_turn イベントに含まれます。エージェントまたはユーザーの発話ごとに 1 ターン。
analysis
post_call_analysis イベントに含まれます。非同期分析の完了後に送信されます(現時点では要約の生成。今後、評価とメトリクスがここに追加される予定です)。
例: call_completed
例: post_call_analysis
エンドポイントのテスト
後方互換性のため:
call_completedおよびcall_failedイベントには、トップレベルのbody(トランスクリプト配列)とトップレベルのend_reasonも含まれます。代わりにcall.transcriptとcall.end_reasonを使用してください。call_turnイベントには、生のターンペイロードを含むトップレベルのbodyも含まれます。代わりにturnを使用してください。