このドキュメントでは、チャットの文字起こしメタデータ レコードのスキーマについて説明します。これは、コンタクト センター 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(オブジェクト): テンプレート化された Markdown メッセージ本文。type(文字列): 常にmarkdown_template。content(文字列): マークダウン テンプレートのコンテンツ。
メディアとファイルのメッセージ本文
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 Platform メディアとして保存する場合に存在): 保存されたドキュメント メディアの識別子。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(文字列、日時): フォーム完了イベントが発生したときのタイムスタンプ。これは、エントリレベルのtimestamp(秒単位の整数 Unix エポック タイムスタンプ)とは異なります。details(オブジェクト。ペイロードが追加の完了の詳細を提供する場合にのみ存在): 追加のステータスの詳細。error_code(文字列。コードを含むエラーの場合のみ存在): 完了結果に関連付けられたエラーコード。message(文字列): 人が読める形式のステータスの詳細。
サーバー生成のメッセージ本文とパススルー メッセージ本文
server_message(オブジェクト): サーバーが生成したメッセージ本文。文字起こしにserver_messageエントリが含まれるのは、アカウントでタスク仮想エージェントの文字起こしコンテンツを有効にしている場合のみです。それ以外の場合、文字起こしではこれらのエントリが省略されます。このオブジェクトは、音声文字変換が保存されたサーバーサイド メッセージを参照する場合に使用します。type(文字列): 常にserver_message。message_id(整数): 保存されたサーバー メッセージの識別子。visibility(文字列または null): 保存されたサーバー メッセージの公開設定。
passthrough(オブジェクト): 仮想エージェントまたは CCaaS 統合のためにシステムが CCAI Platform を介して渡すカスタム ペイロード。統合ではcontentが定義されます。これは CCAI Platform スキーマの一部ではありません。不透明なものとして扱ってください。type(文字列): 常にpassthrough。content(文字列またはオブジェクト): 統合で定義されたペイロード。その構造は統合によって異なり、CCAI Platform はそれを解釈しません。
アクション メッセージの本文
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(整数): エージェント ID。email(文字列、メール): エージェントのメールアドレス。name(文字列): エージェントの表示名。
from_agent(オブジェクト、ソース エージェントを含む転送イベントにのみ存在): イベントのソース エージェント。id(整数): エージェント ID。email(文字列、メール): エージェントのメールアドレス。name(文字列): エージェントの表示名。
to_agent(オブジェクト。人間のエージェントを宛先とする転送イベントまたはエスカレーション イベントの場合にのみ存在): イベントの宛先となる人間のエージェント。id(整数): エージェント 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 - 失敗:
photoFailed、videoFailed、screenshotFailed、textFailed、verificationFailed
検証
endUserVerified
共同ブラウズ
cobrowseRequestedFromEndUsercobrowseCodeGeneratedcobrowseStartedcobrowseEndedcobrowseFailed
フォーム
formRequestedformSentformCompleted
転送
transferStartedtransferAcceptedtransferFailed
仮想エージェントのエスカレーション
escalationStartedescalationAcceptedescalationDeflectedescalationFailed
タスク仮想エージェント
taskVaStartedtaskVaFinished
メンバーシップ
agentJoinedmemberJoinedmemberLeft
セッションのライフサイクル
chatEndedchatEndedWithPostSessionchatDismissedchatReactivatedcheckInRequiredcheckInTimedOuttranscriptRequestedtranscriptUpdated
カスタム
custom
comm_type が call に設定されているレコードの場合、追加の通話の文字起こし通知イベントが表示されることがあります。これらのイベントは、通常のチャット イベント ファミリーではなく、通話または Agent Assist の文字起こしの処理に関連付けられています。
定義
チャットの文字起こしメタデータ ドキュメントには、次のサブスキーマが表示されます。このセクションでは、各サブスキーマを 1 回定義します。サブスキーマを参照するプロパティ グループは、インラインで形状を再定義するのではなく、このセクションを参照します。
entry(オブジェクト)
1 つの文字起こしメッセージ、通知、またはアクションを表します。各エントリには、Unix エポック timestamp、最上位の type、その形状に一致するタイプの body オブジェクト、送信者 role、user_data オブジェクトがあります。フィールドの完全なリストについては、音声文字変換エントリをご覧ください。
user_data(オブジェクト)
送信者のメタデータが利用可能な場合に、音声文字変換エントリの送信者を記述します。agent、manager、virtual-agent、external-agent、task-virtual-agent のエントリには、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 が含まれている場合は、可能であれば未加工のエントリを保持し、トランスクリプトの残りの部分の解析を続行します。システムは、既存のフィールドの意味を変更せずに、新しいメッセージ本文タイプを追加することがあります。
非推奨のフィールド
このドキュメントには、チャットの文字起こしメタデータ レコードの非推奨フィールドは記載されていません。