QM チャット セッションのイベントデータ

このページでは、コンタクト センター AI プラットフォーム(CCAI プラットフォーム)が品質管理(QM)アプリケーションにエクスポートできるチャット セッション イベント データについて説明します。QM チャット イベントデータは、ウェブ SDK とモバイル SDK をサポートしています。CCAI Platform と QM アプリケーションの統合の詳細については、QM と SIPREC の統合をご覧ください。

通話セッション イベント データについては、QM 通話セッション イベント データをご覧ください。

チャット セッションのイベントとトリガー

特定のセッション イベントが発生すると、チャット セッション データが QM アプリケーションにエクスポートされます。このセクションでは、チャット イベントタイプを一覧表示し、それぞれについてセッション イベント ペイロードの例を示します。

チャットを開始しました

このイベントは、人間のエージェントまたは仮想エージェントがチャットを開始したときにトリガーされます。イベント ペイロードには、キュー、参加者、開始者に関する情報など、チャットの初期状態が含まれます。

次のコードサンプルは、イベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "support_number": null,
  "session_type_v2": "In-web",
  "chat_id": 138,
  "state": "waiting",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "dn": "end_user_5"
    }
  ]
}

割り当て待ちのチャット

このイベントは、チャット セッションがキューに入り、割り当てを待機しているときにトリガーされます。

次のコードサンプルは、イベント ペイロードを示しています。

{
  "queue_path_ids": "7/23",
  "queue_path_names": "Test/virtual",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 196,
  "state": "waiting",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "dn": "end_user_5"
    }
  ]
}

チャットが承認されました

このイベントは、人間のエージェントまたは仮想エージェントがチャットを承諾したときにトリガーされます。これは、エージェントがチャットに接続する前のオプションの中間イベントです。

次のコードサンプルは、人間のエージェントのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 167,
  "state": "connected",
  "direction": "incoming",
  "initiator": "agent_1",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "media_id": "MB0d0540e638354714a43d64e9be9677b6",
      "dn": "end_user_5"
    },
    {
      "state": "accepted",
      "type": "agent",
      "media_id": "MBd9670cb0cddd424c814194795527ae3a",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

次のコードサンプルは、仮想エージェントのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/23",
  "queue_path_names": "Test/virtual",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 196,
  "state": "connected",
  "direction": "incoming",
  "initiator": "virtual_agent_2",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "media_id": "MBdfcdab9220f94f1486008a165db3f31a",
      "dn": "end_user_5"
    },
    {
      "state": "accepted",
      "type": "virtual_agent",
      "media_id": "MBea10421d150b4d22b675de17070bc383",
      "dn": "virtual_agent_2"
    }
  ]
}

チャットに接続しました

このイベントは、チャットが人間のエージェントまたは仮想エージェントに接続されたときにトリガーされます。自動接続または人間のエージェントによる手動接続が可能です。

次のコードサンプルは、人間のエージェントのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 114,
  "state": "connected",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "media_id": "MB7a504ce7f418447bb4a48b8f3fa609d0",
      "dn": "end_user_5"
    },
    {
      "state": "connected",
      "type": "agent",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

次のコードサンプルは、仮想エージェントのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/23",
  "queue_path_names": "Test/virtual",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 196,
  "state": "connected",
  "direction": "incoming",
  "initiator": "virtual_agent_2",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "dn": "end_user_5"
    },
    {
      "state": "connected",
      "type": "virtual_agent",
      "dn": "virtual_agent_2"
    }
  ],
  "connected_at": "2024-09-13T14:04:17.000-07:00"
}

チャットを閉じました

このイベントは、完全な接続が確立される前にチャット セッションがキャンセルまたは終了した場合(承認されなかった場合や、早期に終了した場合など)にトリガーされます。

次のコードサンプルは、イベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 197,
  "state": "dismissed",
  "direction": "incoming",
  "initiator": "agent_1",
  "participants": [
    {
      "state": "dismissed",
      "type": "external",
      "media_id": "MB444f542e9b9c4f89a8369bb2430357ad",
      "dn": "end_user_5"
    },
    {
      "state": "dismissed",
      "type": "agent",
      "media_id": "MB7e657411b2284f95b2cf31ef5e6dc83c",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

チャットを再開しました

このイベントは、以前に一時停止または中断されたチャット セッションが再開されたときにトリガーされます。ペイロードには、チャットが再開されたときの状態が含まれます。

次のコードサンプルは、イベント ペイロードを示しています。

{
  "session_type_v2": "In-web",
  "chat_id": 198,
  "state": "resumed",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "resumed",
      "type": "external",
      "media_id": "MB320da61121bc4fc48ea099759f679333",
      "dn": "end_user_5"
    },
    {
      "state": "resumed",
      "type": "agent",
      "media_id": "MBbe5db89a01ab4814a8e7830daf3d30fa",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

参加者がチャットから退出した

このイベントは、1 人以上の参加者がチャット セッションから退出したときにトリガーされます。これは、チャットを終了するエンドユーザー、人間のエージェント、仮想エージェントのいずれかです。ペイロードには、参加者がチャットを離れたときのチャットの状態が含まれます。

次のコードサンプルは、エンドユーザーがチャットを終了したときのイベント ペイロードを示しています。

{
  "session_type_v2": "In-web",
  "chat_id": 169,
  "state": "participantDisconnect",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "disconnected",
      "type": "external",
      "media_id": "MB4dd73370bc564cf18f5347233523ef44",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "agent",
      "media_id": "MBba370f84cf914992b05e9aab03730c4b",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

次のコードサンプルは、人間のエージェントがチャットを終了したときのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 169,
  "state": "participantDisconnect",
  "direction": "incoming",
  "initiator": "agent_1",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "media_id": "MB4dd73370bc564cf18f5347233523ef44",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "agent"
      "media_id": "MBba370f84cf914992b05e9aab03730c4b",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ]
}

次のコードサンプルは、仮想エージェントがチャットを終了したときのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/23",
  "queue_path_names": "Test/virtual",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 196,
  "state": "participantDisconnect",
  "direction": "incoming",
  "initiator": "virtual_agent_2",
  "participants": [
    {
      "state": "disconnected",
      "type": "external",
      "media_id": "MBdfcdab9220f94f1486008a165db3f31a",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "virtual_agent",
      "media_id": "MBea10421d150b4d22b675de17070bc383",
      "dn": "virtual_agent_2"
    }
  ]
}

チャットを終了しました

このイベントは、チャット セッションが終了したときにトリガーされます。チャットを終了するエンドユーザー、人間のエージェント、仮想エージェントのいずれかです。ペイロードには、チャットの終了時の状態(参加者、チャットの接続と終了のタイムスタンプなど)が含まれます。

次のコードサンプルは、人間のエージェントとエンドユーザーがチャットを終了したときのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "support_number": null,
  "session_type_v2": "In-web",
  "chat_id": 127,
  "state": "disconnected",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "disconnected",
      "type": "external",
      "media_id": "MB4a0a435e759c43369098ee7f2d0271f0",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "agent",
      "media_id": "MBa4afeafb5bcc4a279f51db76f3b98deb",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    }
  ],
  "connected_at": "2024-08-27T17:06:37.000-07:00",
  "ends_at": "2024-08-27T17:06:59.000-07:00"
}

次のコードサンプルは、仮想エージェントとエンドユーザーがチャットを終了したときのイベント ペイロードを示しています。

{
  "queue_path_ids": "7/23",
  "queue_path_names": "Test/virtual",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 190,
  "state": "disconnected",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "disconnected",
      "type": "external",
      "media_id": "MB6ea6204b6a0448428d88e9976fd856d4",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "virtual_agent",
      "media_id": "MBc6a2b72c99534a68990caf622b65571a",
      "dn": "virtual_agent_2"
    }
  ],
  "connected_at": "2024-09-12T10:50:51.000-07:00",
  "ends_at": "2024-09-12T11:54:08.000-07:00"
}

次のコードサンプルは、キューで待機中にチャットが終了したイベントのペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "support_number": null,
  "session_type_v2": "In-web",
  "chat_id": 141,
  "state": "disconnected",
  "direction": "incoming",
  "initiator": "end_user_5",
  "participants": [
    {
      "state": "disconnected",
      "type": "external",
      "media_id": "MB65670b2c44534af3860fad35be88ac41",
      "dn": "end_user_5"
    }
  ],
  "connected_at": "",
  "ends_at": "2024-08-29T14:41:16.000-07:00"
}

チャット セッションのイベント フィールド

次の表では、コンタクト センター AI プラットフォームが QM アプリケーションにエクスポートするセッション データのフィールドについて説明します。

一般フィールド

フィールド名

説明

条件

type

  • AgentState
  • ChatState

JSON ペイロード全体のイベントタイプ。

  • エージェント関連のイベントの AgentState を渡します。
  • チャット関連のイベントの ChatState を渡します。

item

イベント情報を含むオブジェクト。

チャットの状態フィールド

フィールド名

説明

条件

chat_id

  • チャット ID

item オブジェクトで使用できます。

コンタクト センター AI プラットフォーム システムでのチャット セッションの識別子。

  • コンタクト センター AI プラットフォーム セッション メタデータのメイン オブジェクトの ID フィールドの値を渡します。

state

  • waiting
  • connected
  • disconnected
  • dismissed
  • resumed
  • participantDisconnect
  • transferred

item オブジェクトで使用できます。

チャット セッションの現在の状態。

direction

  • incoming

item オブジェクトで使用できます。

コンタクト センターの視点から見たチャット セッションの方向。

  • チャット セッションがインバウンドの場合に incoming を渡します。

initiator

  • agent_1
  • virtual_agent_2
  • end_user_5

item オブジェクトで使用できます。

チャットの状態を初期化する当事者の識別子。

  • 人間のエージェントの場合

    セッション メタデータの agent_info オブジェクトの ID フィールドの値を渡します。

  • 仮想エージェントの場合

    セッション メタデータの participants オブジェクトの virtual_agent_id フィールドの値を渡します。

  • エンドユーザーにとっての利点

    セッション メタデータの end_user オブジェクトの ID フィールドの値を渡します。

queue_path_ids

  • キュー ID のパス

item オブジェクトで使用できます。

通話の最初のエージェントに到達する前にエンドユーザーがたどったキューパス。

この値は、ナビゲートされたキューのキュー ID を使用して構築されます。

  • これは受信チャットにのみ適用されます。

queue_path_names

  • キュー名のパス

item オブジェクトで使用できます。

通話の最初のエージェントに到達する前にエンドユーザーがたどったキューパス。

この値は、ナビゲートされたキューのキュー名を使用して構築されます。

  • これは受信チャットにのみ適用されます。

language

  • 言語コード

item オブジェクトで使用できます。

エンドユーザーが選択した言語の言語コード。

  • これは受信チャットにのみ適用されます。

queue_uuid

  • キュー ID

item オブジェクトで使用できます。

チャットが転送されたキューの UUID。

  • これは、着信チャットとキュー転送チャットにのみ適用されます。

tenant

  • インスタンス名

item オブジェクトで使用できます。

チャットをホストするインスタンスの名前。

event_id

  • イベント ID

item オブジェクトで使用できます。

チャット セッションの識別子。

timestamp

  • UNIX タイムスタンプ

item オブジェクトで使用できます。

チャットのタイムスタンプ(Unix エポック時間)

session_type_v2

  • In-web

item オブジェクトで使用できます。

ウェブ SDK のチャット セッションを示します。

support_number

  • NULL

  • チャットには適用されません。

connected_at

  • 日付と時刻

item オブジェクトで使用できます。

チャット セッションが開始された日時。

ends_at

  • 日付と時刻

item オブジェクトで使用できます。

チャット セッションが終了した日時。

participants

item オブジェクトで使用できます。

通話参加者の情報を含むオブジェクト。

participant_id

  • agent_id
  • virtual_agent_id

participants オブジェクトで使用できます。

チャット参加者の識別子。

  • 人間のエージェントの場合

    セッション メタデータの agent_info オブジェクトの ID フィールドの値を渡します。

  • 仮想エージェントの場合

    セッション メタデータの participants オブジェクトの virtual_agent_id フィールドの値を渡します

  • エンドユーザーにとっての利点

    セッション メタデータの end_user オブジェクトの ID フィールドの値を渡します。

  • サードパーティ向け

    サードパーティの電話番号を渡します(利用可能な場合)。

    それ以外の場合は、null 値を渡します。

type

  • external
  • agent
  • virtual_agent

participants オブジェクトで使用できます。

通話参加者のタイプ。

  • チャットの参加者がエージェントの場合、agent を渡します。
  • チャットの参加者がエンドユーザーまたはサードパーティの場合、external を渡します。
  • チャットの参加者が仮想エージェントの場合、virtual_agent を渡します。

state

  • connected
  • disconnected
  • accepted
  • dismissed
  • resumed

participants オブジェクトで使用できます。

チャット会議における参加者の現在の状態。

media_id

  • twilio_mediaID
  • nexmo_mediaID

participants オブジェクトで使用できます。

携帯通信会社からのチャット セッション メディアの識別子。

  • 発信者が Twilio の番号にチャットする場合、または Twilio の番号からチャットする場合に twilio_mediaID を渡します。
  • 開始者が Nexmo 番号にチャットした場合、または Nexmo 番号からチャットした場合に nexmo_mediaID を渡します。

dn

  • end_user_1
  • agent_1

participants オブジェクトで使用できます。

参加者の電話番号。

agent_number

participants オブジェクトで使用できます。エージェントの番号。

name

participants オブジェクトで使用できます。エージェントの名前。

alias

participants オブジェクトで使用できます。エージェントのエイリアス。

チャット セッションの転送

チャット セッションの転送は、個別のチャット イベントではありません。チャット セッションの転送が発生したことを示すペイロードです。このセクションでは、エージェントがチャットを終了したときにトリガーされるチャット セッション転送ペイロードを示します。この例では、initiator フィールドの値は agent_1 で、エージェント 1 が転送を開始したことを示しています。participants 配列では、agent_1 の状態は disconnected で、agent_2 の状態は connected です。これは、セッションがエージェント 1 からエージェント 2 に転送され、エージェント 1 がチャットを離れ、エージェント 2 が参加したことを示します。この例の全体的な state フィールドの値は participantDisconnect ですが、必要に応じて、全体的な状態が transferred または connected になるようにシステムをモデル化することもできます。セッションの転送をより明示的に表す追加のフィールド(transfer_id や専用の転送イベントタイプなど)を持つようにシステムをモデル化することもできます。

次のコードサンプルは、セッション転送のイベント ペイロードを示しています。

{
  "queue_path_ids": "7/26",
  "queue_path_names": "Test/calls",
  "language": "en",
  "session_type_v2": "In-web",
  "chat_id": 208,
  "state": "participantDisconnect",
  "direction": "incoming",
  "initiator": "agent_1",
  "participants": [
    {
      "state": "connected",
      "type": "external",
      "media_id": "MBed9193af0a82486cbad069925b5a0b18",
      "dn": "end_user_5"
    },
    {
      "state": "disconnected",
      "type": "agent",
      "media_id": "MB05685c80e6af444faa1de5c5e48a26c7",
      "agent_number": "Uno numero",
      "name": "Admin UJET",
      "alias": "super_agent",
      "dn": "agent_1"
    },
    {
      "state": "connected",
      "type": "agent",
      "media_id": "MB5caad80c7d94477d9db9c5f1c3662768",
      "agent_number": "420",
      "name": "ajay1 ujet",
      "alias": "ajay1-alias",
      "dn": "agent_2"
    }
  ]
}