このドキュメントでは、チャットの文字起こしメタデータ レコードのスキーマについて説明します。これは、完了したチャット文字起こし用にコンタクト センター AI プラットフォーム(CCAI プラットフォーム)が生成する JSON ファイルです。チャットの文字起こしメタデータ レコードは、チャット履歴の JSON エクスポートによって生成され、インスタンスの構成に応じて、CRM の文字起こしアップロードと外部ストレージの文字起こしファイルを通じて配信できます。このスキーマを使用して、文字起こし JSON の解析、受信したペイロードの検証、文字起こしメッセージの下流システムへのマッピングを行います。
スキーマ ルート
チャット文字起こしメタデータ レコードは、1 つのチャット文字起こしアーティファクトを表す単一の JSON オブジェクトです。ルートのフィールドは、通信、文字起こし形式のバージョン、文字起こしエントリの順序付きセットを識別します。
通信識別子 comm_type と comm_id
comm_type と comm_id は、この文字起こしレコードが表すコミュニケーションを識別します。
comm_typeは通信タイプを識別します。通常、値はchatです。SMS の文字起こしコンテンツが混在する音声通話の場合はcallになることがあります。comm_idは、文字起こしで表されるチャットまたは通話の識別子です。
フォーマット バージョン transcript_version
JSON 文字起こし形式のバージョンを識別します。インテグレーションでは、前方互換性のある解析のためにこのフィールドを使用し、認識されないフィールドは無視する必要があります。
エントリ弁別子 - entries[].type と entries[].body.type
entries の各項目は、1 つの文字起こしメッセージまたはイベントを表します。エントリレベルの type フィールドは、メッセージ本文のタイプを反映します。ネストされた body オブジェクトは、型(text、markdown、photo、noti、action など)によって形状が異なるペイロードを伝送します。
チャットの文字起こしメタデータのスキーマ
このスキーマは、チャット文字起こしのデータ構造を記述します。以降のセクションでは、コア コンポーネントについて説明します。
コアの文字起こし情報
次のプロパティは、文字起こし自体に関する基本的な情報を提供します。
comm_type(文字列): 文字起こしが表すコミュニケーション タイプ。指定できる値:chat、call。値callは、SMS の文字起こしコンテンツが混在する音声通話を示します。comm_id(整数): 文字起こしで表されるコミュニケーションの一意の識別子。transcript_version(文字列): 文字起こし JSON 形式のバージョン。現在の値は"1.0"です。バージョニングと非推奨をご覧ください。assigned_at(文字列、日時): チャットが割り当てられたときのタイムスタンプ。timezone(文字列): 文字起こしコンテキストのタイムゾーン("America/Los_Angeles"など)。
文字起こしエントリ
entries(配列): 文字起こしエントリの順序付きリスト。各エントリは、会話内の 1 つのメッセージ、通知、アクションを表します。timestamp(整数): システムがエントリを作成したときの Unix エポック タイムスタンプ(秒単位)。type(文字列): メッセージ本文のタイプ。この値はbody.typeを反映します。サポートされているボディタイプについては、定義をご覧ください。body(オブジェクト): エントリ ペイロード。形状はtype/body.typeの値によって異なります。role(文字列): エントリを生成した参加者またはシステム コンポーネントのロール。指定できる値:end_user、agent、manager、virtual_agent、external_agent、task_virtual_agent、system。user_data(オブジェクト): 送信者のメタデータ。agent、manager、virtual_agent、external_agent、task_virtual_agentエントリの場合、このオブジェクトには送信者の表示データが含まれます。end_userエントリとsystemエントリの場合、このオブジェクトは空です。name(文字列。送信者のメタデータが利用可能な場合にのみ存在します): 送信者の表示名。id(整数。送信者のメタデータが利用可能な場合にのみ存在します): 送信者の識別子。avatar_url(文字列、URI。送信者のメタデータが利用可能な場合にのみ存在します): 送信者のアバター画像の URL。
テキスト メッセージの本文
text(オブジェクト): プレーン テキストのメッセージ本文。type(文字列): 常にtext。content(文字列): メッセージ テキスト。lang(文字列。言語メタデータが利用可能な場合にのみ存在): メッセージに関連付けられた言語コード。
text_template(オブジェクト): テンプレート化されたテキスト メッセージのメッセージ本文。type(文字列): 常にtext_template。content(文字列): テンプレート テキスト。
markdown(オブジェクト): マークダウン形式のメッセージ本文。type(文字列): 常にmarkdown。content(文字列): マークダウン コンテンツ。lang(文字列。言語メタデータが利用可能な場合にのみ存在): メッセージに関連付けられた言語コード。
markdown_template(オブジェクト): テンプレート化されたマークダウン メッセージ本文。type(文字列): 常にmarkdown_template。content(文字列): Markdown テンプレートのコンテンツ。
メディアとファイルのメッセージ本文
photo(オブジェクト): 写真またはスクリーンショットのメッセージ本文。type(文字列): 常にphoto。media_id(整数): 保存された写真メディアの識別子。
video(オブジェクト): 動画メッセージのメッセージ本文。type(文字列): 常にvideo。media_id(整数。システムが動画を CCAI プラットフォーム メディアとして保存する場合に存在します): 保存された動画メディアの識別子。title(文字列。埋め込み動画オブジェクトが動画を表す場合に存在): 動画のタイトル。video(オブジェクト。埋め込み動画オブジェクトが動画を表す場合に存在): 動画の詳細。url(文字列、URI): 動画の URL。text(文字列): 動画の代替テキストまたはフォールバック URL。
image(オブジェクト): 画像メッセージのメッセージ本文。type(文字列): 常にimage。title(文字列。メッセージの送信者が指定した場合に存在します): 画像のタイトル。image(オブジェクト): 画像の詳細。url(文字列、URI): 画像の URL。text(文字列): 画像の代替テキストまたはフォールバック URL。
document(オブジェクト): ドキュメント メッセージ本文。type(文字列): 常にdocument。media_id(整数。システムがドキュメントを CCAI プラットフォーム メディアとして保存する場合に存在します): 保存されたドキュメント メディアの識別子。title(文字列。埋め込みドキュメント オブジェクトがドキュメントを表す場合に存在します): ドキュメントのタイトル。document(オブジェクト。埋め込みドキュメント オブジェクトがドキュメントを表す場合に存在します): ドキュメントの詳細。url(文字列、URI): ドキュメントの URL。text(文字列): ドキュメントの代替テキストまたはフォールバック URL。
audio(オブジェクト): 音声メッセージのメッセージ本文。type(文字列): 常にaudio。media_id(整数。システムが音声を CCAI プラットフォーム メディアとして保存する場合に存在します): 保存された音声メディアの識別子。title(文字列。埋め込み音声オブジェクトが音声ファイルを表す場合に存在): 音声ファイルのタイトル。audio(オブジェクト。埋め込み音声オブジェクトが音声ファイルを表す場合に存在します): 音声の詳細。url(文字列、URI): 音声ファイルの URL。text(文字列): 音声ファイルの代替テキストまたはフォールバック URL。
インタラクティブ メッセージの本文
inline_button(オブジェクト): インライン ボタンのメッセージ本文。type(文字列): 常にinline_button。title(文字列): ボタンの上に表示するタイトル。buttons(配列): ボタン定義のリスト。title(文字列): ボタンのラベル。action(文字列): ボタンに関連付けられたアクション。link(文字列、URI。リンク スタイルのクイック返信の場合のみ存在): ボタンに関連付けられた URL。
sticky_button(オブジェクト): スティッキー ボタンのメッセージ本文。type(文字列): 常にsticky_button。title(文字列): ボタンの上に表示するタイトル。buttons(配列): ボタン定義のリスト。title(文字列): ボタンのラベル。action(文字列): ボタンに関連付けられたアクション。link(文字列、URI。リンク スタイルのクイック返信の場合のみ存在): ボタンに関連付けられた URL。
content_card(オブジェクト): コンテンツ カードのメッセージ本文。type(文字列): 常にcontent_card。cards(配列): コンテンツ カードのリスト。title(文字列): カードのタイトル。body(文字列。カードの本文テキストを構成した場合のみ存在): カードの本文テキスト。
form_complete(オブジェクト): 消費者がフォームを完了、失敗、キャンセルしたときにクライアントが送信するフォーム完了メッセージの本文。type(文字列): 常にform_complete。signature(文字列。完了イベントに署名が含まれている場合にのみ存在します): フォーム完了ペイロードの署名。data(オブジェクト): フォームの記入の詳細。status(文字列): 完了ステータス。指定できる値:success、error、cancelled。smart_action_id(整数): フォームに関連付けられたスマート アクションの ID。timestamp(文字列、日時): フォームの完了イベントが発生したときのタイムスタンプ。これは、秒単位の整数 Unix エポック タイムスタンプであるエントリレベルのtimestampとは異なります。details(オブジェクト。ペイロードで完了に関する追加の詳細情報が提供される場合にのみ存在します): 追加のステータスの詳細。error_code(文字列。コード付きのエラーの場合のみ存在): 完了結果に関連付けられたエラーコード。message(文字列): 人が読める形式のステータスの詳細。
サーバー生成とパススルーのメッセージ本文
server_message(オブジェクト): サーバーで生成されたメッセージ本文。文字起こしにserver_messageエントリが含まれるのは、アカウントでタスクの仮想エージェントの文字起こしコンテンツを有効にしている場合のみです。それ以外の場合、文字起こしにはこれらのエントリは含まれません。このオブジェクトは、文字起こしが保存されたサーバーサイド メッセージを参照する場合に使用します。type(文字列): 常にserver_message。message_id(整数): 保存されたサーバー メッセージの識別子。visibility(文字列または null): 保存されたサーバー メッセージの公開設定。
passthrough(オブジェクト): 仮想エージェントまたは CCaaS 統合のためにシステムが CCAI プラットフォームを通過するカスタム ペイロード。統合でcontentが定義されます。これは CCAI プラットフォーム スキーマの一部ではないため、不透明として扱います。type(文字列): 常にpassthrough。content(文字列またはオブジェクト): インテグレーションで定義されたペイロード。構造はインテグレーションによって異なり、CCAI プラットフォームは解釈しません。
アクション メッセージの本文
action(オブジェクト): 仮想エージェントまたは chatbot フローがリクエストするアクション。actionフィールドは、アクション ペイロードの形状を決定します。type(文字列): 常にaction。action(文字列): アクション タイプ。の可能な値は、escalation、deflection、endなどです。escalation_reason(文字列。actionがescalationの場合にのみ存在): 会話がエスカレーションされた理由。menu_id(整数。actionがescalationの場合にのみ存在): 会話をエスカレーションするメニューの識別子。language(文字列。actionがescalationの場合にのみ存在します): 宛先キューの言語コード。deflection_type(文字列。actionがdeflectionの場合にのみ存在): リクエストされた偏向のタイプ。sip_parameters(オブジェクトまたは null。actionがdeflectionの場合にのみ存在します): 転送の一部として転送する SIP パラメータ。
通知メッセージの本文
noti(オブジェクト): 通知メッセージの本文。通知には、チャット中に発生したシステム イベントが記載されています。type(文字列): 常にnoti。event(文字列): 通知イベント名。agent(オブジェクト。人間のエージェントに関連付けられたイベントの場合のみ存在します): イベントに関連付けられたエージェント。id(整数): エージェントの識別子。email(文字列、メール): エージェントのメールアドレス。name(文字列): エージェントの表示名。
from_agent(オブジェクト。ソース エージェントを含む転送イベントの場合のみ存在します): イベントのソース エージェント。id(整数): エージェントの識別子。email(文字列、メール): エージェントのメールアドレス。name(文字列): エージェントの表示名。
to_agent(オブジェクト。転送イベントまたはエスカレーション イベントで、宛先が人間のエージェントの場合にのみ存在します): イベントの宛先となる人間のエージェント。id(整数): エージェントの識別子。email(文字列、メール): エージェントのメールアドレス。name(文字列): エージェントの表示名。
from_virtual_agent(オブジェクト。仮想エージェントからのエスカレーション イベントの場合にのみ存在します): イベントのソース 仮想エージェント。id(整数): バーチャル エージェントの識別子。name(文字列): 仮想エージェントの表示名。avatar_url(文字列、URI、または null): 仮想エージェントのアバター画像の URL。
to_virtual_agent(オブジェクト。仮想エージェントへの転送イベントの場合のみ存在): イベントの宛先仮想エージェント。id(整数): バーチャル エージェントの識別子。name(文字列): 仮想エージェントの表示名。avatar_url(文字列、URI、または null): 仮想エージェントのアバター画像の URL。
target(文字列。転送イベントでのみ存在します): 転送の宛先タイプ。有効な値はmenuとagentです。status(文字列。チャット ステータスを含むイベントの場合のみ存在): イベントに関連付けられたチャット ステータス。timeout(ブール値。タイムアウト関連のイベントの場合のみ存在): タイムアウトが原因でイベントが発生したかどうか。memberIdentity(文字列。参加者の参加または退出イベントの場合のみ存在): 参加者の ID。memberName(文字列。参加者の参加または退出イベントの場合のみ存在): 参加者の表示名。name(文字列。virtual-agent イベントまたは task-va イベントの場合のみ存在): イベントに関連付けられた表示名。reason(文字列。task-va 完了イベントでのみ存在): task-va セッションが終了した理由。escalation_reason(文字列。エスカレーション イベントでのみ存在): エスカレーションの理由。deflection(オブジェクト。回避イベントでのみ使用): 回避の詳細。detail(オブジェクト。カスタム通知イベントの場合のみ存在): カスタム イベントの詳細。key(文字列): カスタム イベントキー。data(オブジェクト): カスタム イベント ペイロード。
通知イベント名
event フィールドは、通知イベントを識別します。チャット プロバイダは、唯一の信頼できる情報源として、次のリストにあるすべての通知イベントを文字起こし JSON に保持します。リストには、これらのイベントがファミリーごとにグループ化されて表示されます。
スマート アクション リクエスト
verificationRequestedphotoRequestedvideoRequestedscreenshotRequestedtextRequestedcobrowseRequestedFromAgent
スマート アクションの結果
完了:
photoFinished、videoFinished、screenshotFinished、textFinishedキャンセル:
photoCanceled、videoCanceled、screenshotCanceled、textCanceled、cobrowseCanceled失敗:
photoFailed、videoFailed、screenshotFailed、textFailed、verificationFailed
検証
endUserVerified
共同ブラウズ
cobrowseRequestedFromEndUsercobrowseCodeGeneratedcobrowseStartedcobrowseEndedcobrowseFailed
フォーム
formRequestedformSentformCompleted
転送
transferStartedtransferAcceptedtransferFailed
仮想エージェントによるエスカレーション
escalationStartedescalationAcceptedescalationDeflectedescalationFailed
タスク仮想エージェント
taskVaStartedtaskVaFinished
メンバーシップ
memberJoinedmemberLeft
セッションのライフサイクル
chatEndedchatEndedWithPostSessionchatDismissedcheckInRequiredcheckInTimedOuttranscriptRequestedtranscriptUpdated
カスタム
custom
comm_type が call に設定されているレコードの場合、通話文字起こし通知イベントが追加で表示されることがあります。これらのイベントは、通常のチャット イベント ファミリーではなく、通話または Agent Assist の文字起こし処理に関連付けられています。
定義
次のサブスキーマがチャット文字起こしメタデータ ドキュメントに表示されます。このセクションでは、各サブスキーマを 1 回定義します。サブスキーマを参照するプロパティ グループは、その形状をインラインで再定義するのではなく、このセクションを参照します。
entry(オブジェクト)
1 つの文字起こしメッセージ、通知、アクションを表します。各エントリには、Unix エポック timestamp、最上位レベルの type、そのシェイプと一致する型の body オブジェクト、送信者 role、user_data オブジェクトがあります。フィールドの全一覧については、トランスクリプト エントリをご覧ください。
user_data(オブジェクト)
送信者のメタデータが利用可能な場合に、文字起こしエントリの送信者を説明します。エージェント、マネージャー、仮想エージェント、外部エージェント、タスク仮想エージェントのエントリには、name、id、avatar_url を含めることができます。コンシューマー エントリとシステム エントリは空のオブジェクトを保持します。
メッセージ本文(オブジェクト、oneOf)
各エントリの body オブジェクトは、body.type の値を使用して、サポートされているメッセージ本文の形状のいずれかを選択します。サポートされているボディタイプには、テキスト ボディ、メディアまたはファイル ボディ、インタラクティブ ボディ、サーバー生成ボディ、アクション ボディ、通知ボディなどがあります。ドキュメントに記載されているバリエーションの全一覧については、テキスト メッセージの本文から通知メッセージの本文をご覧ください。
参加者の役割(文字列、列挙型)
文字起こしエントリの送信者カテゴリを識別します。
使用できる値
end_user- 消費者。agent- 人間のエージェント。manager- 管理者参加者。virtual_agent- 仮想エージェント。external_agent- 外部エージェントの参加者。task_virtual_agent- タスク仮想エージェント。system- システムによって生成されたエントリ。
バージョニングと非推奨
チャット文字起こしメタデータ ドキュメントは、下位互換性のあるスキーマの進化をサポートしています。システムでは、新しいフィールドとメッセージ本文のバリエーションが随時追加される可能性があります。統合では、機能が継続されるように、認識されないキーは無視する必要があります。
現在の形式バージョン
transcript_version(文字列)- 現在の値:"1.0"。統合では、ペイロードに存在するフィールドに基づいて文字起こしを解析する必要があります。将来のバージョンで新しいフィールドやメッセージ本文のタイプが追加されても、失敗しないようにする必要があります。
不明なメッセージ本文のタイプ
文字起こしエントリに認識されない type または body.type が含まれている場合は、可能な限り未加工のエントリを保持し、文字起こしの残りの部分の解析を続行します。システムは、既存のフィールドの意味を変更することなく、新しいメッセージ本文のタイプを追加する場合があります。
非推奨のフィールド
このドキュメントには、チャット文字起こしメタデータ レコードの非推奨フィールドは記載されていません。