カスタム CRM ソリューションを使用すると、CCAI Platform との現在の標準統合ではない CRM を使用している企業は、Contact Center AI Platform(CCAI Platform)ポータルを利用できます。カスタム CRM 構成は、自社製 CRM や標準以外の CRM を使用する場合に機能します。
エージェントは通話とチャットを処理し、スーパーバイザーは CCAI プラットフォーム ポータルを使用してレポートをモニタリングして取得できます。通話またはチャット セッションに関するすべての詳細は、セッション メタデータ ファイルに保存されます。このファイルには、セッション情報、転送、処理時間、参加者、診断情報など、20 以上のデータポイントを含めることができます。セッション メタデータ ファイルを解析して、セッション後の分析とトラッキングに使用できます。
セッション メタデータとユーザーがアップロードしたメディア ファイルは外部ストレージ サービスにプッシュされ、エージェントはセッション中にエージェント アダプタでユーザーがアップロードしたメディア ファイルを直接確認できます。
カスタム CRM ソリューションは、次のコンポーネントの組み合わせで実装されます。一部のコンポーネントは、構成に適用される場合とされない場合があります。
通話セッションとチャット セッションごとにセッション メタデータ ファイルを生成する
メタデータとメディア ファイルを外部ストレージ サービスにプッシュする
汎用 API 統合
カスタム ルックアップ URL
メールによる CRM レコードの更新
エージェント アダプターからのアカウントまたはケースのルックアップ
前提条件
カスタム CRM 機能を使用するには、まず外部ストレージを設定する必要があります。詳しくは、カスタム CRM ソリューション用の外部ストレージを参照してください。
セッション メタデータ
セッション メタデータ ファイルには、セッションに関する詳細情報が含まれています。このメールは、セッションが完了してから 15 分後に送信されます。詳細については、セッション メタデータ ファイルをご覧ください。
カスタム CRM のインタラクションと統合の方法
| 汎用 API | カスタム URL | |
|---|---|---|
| アカウント検索 | ○ | ○ |
| ケースの検索 | ○ | |
| ケースの更新 | ○ | × |
汎用 API
汎用 API 統合メソッドを使用すると、カスタム CRM の API を使用して CCAI Platform との双方向接続を確立できます。このシームレスな方法は、すぐに利用できる CRM 統合エクスペリエンスと同じように感じられます。エージェントは、通話セッションまたはチャット セッションの CRM レコードを作成するためにアクションを起こす必要はありません。これは、一意の API 構成によって異なります。これにより、レコードのシームレスな検索と更新が可能になります。
カスタム URL
カスタムリンク オプションを使用すると、エージェントはセッションごとに作成されたカスタムリンクを使用して CRM を操作できます。標準の CRM 統合や汎用 API エクスペリエンスとは異なり、CRM レコードを作成するには、エージェントが操作する必要があります。場合によっては、セッションのカスタムリンクを含むタブを開くだけで済むこともありますが、エージェントが手動でレコードを作成する必要があることもあります。
カスタム ルックアップ URL の詳細と構成
URL の基本的な機能は CRM ルックアップの実行ですが、CRM によっては、カスタム URL のコンテンツに基づいてより複雑なプロセスをトリガーできます。カスタム CRM の URL は、セッション情報を含む変数で構成でき、セッション中にエージェント アダプタでアクセスできます。URL にアクセスすると、カスタム CRM がトリガーされ、ルックアップが実行されます。この CRM ルックアップにより、エージェントはアクティブな通話セッションまたはチャット セッションで「チケット ポップアップ」を利用できます。カスタム リンクのプロセスは、カスタム CRM がこのリンクを処理し、必要に応じて変更または書き換える機能にのみ依存します。
外部に保存されたセッション メタデータ、通話録音、その他のファイルは、記載されているメール更新方法も活用しない限り、CRM レコードにリンクされません。
この構成では、エージェントは CCAI Platform Portal にログインし、別のタブで CRM にログインします。通話とチャットは [CCAI Platform] タブで処理され、チケットの詳細は [CRM] タブで確認できます。
この構成を機能させるには:
エージェントはブラウザで CRM にログインしている必要があります
エージェントはブラウザで CCAI プラットフォーム ポータルにログインしている必要があります
カスタム ルックアップ URL を事前に構成する必要があります
関連する CRM レコードを表示するには、CRM でカスタム URL を処理する必要があります。
カスタム ルックアップ URL の動作
CCAI Platform では、空でないパラメータのみが URL に含まれます。
セッションが終了すると、CCAI プラットフォームは ANI/UID/メールアドレスを含む生成された URL を CCAI プラットフォーム データベースに保存しません。
カスタム検索 URL の構成
固有識別子、CRM の機能、動作が異なるため、2 つの異なる URL を作成する必要があります。1 つは IVR/PSTN/SMS セッション用、もう 1 つはウェブとモバイル SDK セッション用です。IVR/PSTN/SMS セッションでは、ANI が一意の識別子として使用されますが、ウェブとモバイルの SDK では、CUID とメールアドレスが使用される可能性があります。
次の変数を使用して、ルックアップ URL を構成できます。
| 変数 | 値 |
|---|---|
{CUSTOMER_PHONE_NUMBER} |
エンドユーザーの電話番号 |
{ANI} |
エンドユーザーの電話番号。下位互換性のために保持されています。 |
{CUID} |
カスタム ユーザー ID |
{EMAIL} |
エンドユーザーのメールアドレス |
{MENU_PATH} |
キューのメニューパス全体。 たとえば、「Orders/Order confirmation/Order info」などです。 |
{MENU_ID} |
メニュー ID |
{CHANNEL} |
セッション チャネル。値は次のいずれかです。
|
{TYPE} |
セッション タイプ。 通話に使用可能な値は次のとおりです。
チャットの可能な値:
|
{SUPPORT_PHONE_NUMBER} |
エンドユーザーが電話をかけるサポート センターの電話番号。 |
{OUTBOUND_NUMBER} |
エージェントがアウトバウンド コールに使用する電話番号。 |
{SESSION_ID} |
セッション ID。値は次のいずれかです。
|
{CUSTOM_AGENT_ID} |
user オブジェクトの省略可能なエージェント ID フィールド。エージェント ID は、セッションが確立され、エージェントが割り当てられるまで取得できません。そのため、この変数が定義されるまでの時間を確保するために、通話またはチャットのレコードの作成を遅らせるようにインスタンスを構成します。通話またはチャットのレコードの作成を遅らせるには、[設定>
運用管理 > CRM レコード作成の詳細] に移動します。詳しくは、CRM レコードの作成の詳細をご覧ください。 |
CCAI プラットフォーム ポータルの構成
管理者ロールが割り当てられているアカウントを使用して CCAI Platform ポータルにログインします。
[設定] > [デベロッパー向けの設定] に移動します。
[CRM] セクションで、[カスタム CRM] を選択します。
[CRM lookup] にカスタム URL を入力します。
CRM リクエストで使用する [電話番号の形式] を選択します。
[変更を保存] をクリックします。
まだ設定していない場合は、外部ストレージ サービスを構成します。詳しくは、外部ストレージをご覧ください。
メールによる CRM レコードの更新
カスタム検索 URL などの構成では、セッションが完了したら、セッション メタデータを CRM で更新する必要があります。この機能を使用すると、CCAI Platform はメールを使用してセッション データを自動的に送信できます。セッションが終了してから約 15 分後に、構成された場所にメールが送信され、メールの内容を使用して CRM のレコードが更新されます。この機能は、グローバルに構成することも、キューごとに構成することもできます。メールを受信すると、セッションの CRM レコードを更新または新規作成するように CRM が設定されている場合があります。
詳細情報を送信
以下が含まれます:
Subject line
JSON 構文のセッション メタデータを含む本文
チャットのログ(該当する場合)を含む TXT 形式の添付ファイル
CCAI プラットフォームは、セッション終了後 15 分間待機してからメールを送信します。
メールは、セッションが正常に終了した場合にのみ送信されます。失敗したセッションや放棄されたセッションでは送信されません。
グローバル構成
管理者ロールが割り当てられているアカウントを使用して CCAI Platform ポータルにログインします。
[設定] > [デベロッパー向けの設定] に移動します。
[CRM] セクションで、[カスタム CRM] が選択されていることを確認します。
[Send session outcome via Email] を有効にします。
メールの送信先となるメールアドレスを入力します。
[変更を保存] をクリックします。
キューごとの構成
管理者ロールが割り当てられているアカウントを使用して CCAI Platform ポータルにログインします。
[設定] > [キュー] に移動し、サブキューを選択します。
[Send session outcome via Email] を有効にします。
メールの送信先となるメールアドレスを入力します。

[Save Custom CRM setting] をクリックします。
設定の継承とオーバーライド
| 設定 | 動作 |
|---|---|
| Global = 無効 Queue = 無効 |
すべてのキューに送信しないでください。 |
| グローバル = 無効 キュー = 有効 |
キュー設定(オン/オフの状態)は、グローバル設定よりも優先されます。 メールは、特定のキューから、キュー設定で定義されたメールアドレスに送信されます。 |
| Global = 有効 Queue = 無効 |
キューの設定(メールアドレス、オン/オフの状態)は、グローバル設定を継承します。 メールは、指定されたキューからグローバル設定で定義されたメールアドレスに送信されます。 |
| グローバル = 有効 キュー = 有効 |
キュー設定(メールアドレス)はグローバル設定よりも優先されます。 メールは、指定されたキューからキュー設定で定義されたメールアドレスに送信されます。 メールアドレスが空の場合、メールは送信されません。 |
エージェント エクスペリエンス
CRM レコードのルックアップ
エージェント ロールが割り当てられているアカウントを使用して、CCAI Platform ポータルにログインします。
通話またはチャット アダプタを開きます。
[新しいブラウザ ウィンドウで開く] ボタンを使用して、ルックアップをトリガーします。
[リンクをコピー] ボタンを使用して、ルックアップ URL をクリップボードにコピーします。

カスタム CRM ソリューションの外部ストレージ
カスタム ソリューション用の外部ストレージを使用すると、外部ストレージ サービスを使用して CCAI Platform セッションのメタデータ、通話録音、チャットの文字起こし、ユーザーがアップロードしたメディア ファイルを保存して取得できます。ファイルは CRM の外部に保存されます。
外部ストレージを構成するには、次のものが必要です。
構成とテスト用に管理者ロールとエージェント ロールが割り当てられた有効な CCAI プラットフォーム アカウント
外部ストレージ サービス
フォルダ構造
次のフォルダ構造が、外部ストレージの Folder Path に整理されます。
ujet-chat-transcripts
ujet-media
ujet-metadata
ujet-voice-recordings
ujet-voicemails
ファイル形式と命名規則
次のファイル形式は外部ストレージ サービスにプッシュできます。ファイルは転送中に HTTPS を使用して暗号化されます。
| ファイル | 名前 |
|---|---|
| 通話の録音 | - call-{id}.mp3 - call-{id}.wav |
| メディア ファイル | - call-{id}-photo-{photo-id}.jpg - call-{id}-video-{video-id}.mp4 - chat-{id}-photo-{photo-id}.jpg - chat-{id}-video-{video-id}.mp4 |
| チャットの文字起こし | - chat-{id}.txt |
| セッション メタデータ | - call-{id}.json - chat-{id}.json |
エージェントとスーパーバイザーのエクスペリエンス
通話またはチャット セッション中に、スマート アクションを使用してお客様がアップロードした写真や動画がエージェント アダプタに表示されます。
カスタム URL CRM 連携とセッション メタデータ ファイルのメール更新方法を組み合わせて使用している場合、エージェントとスーパーバイザーは外部サーバーを使用してセッション情報にアクセスできます。
外部ストレージ サービスを構成する
外部ストレージを構成する手順は次のとおりです。
管理者ロールが割り当てられているアカウントを使用して、CCAI Platform ポータルにログインします。
[設定] > [デベロッパー向けの設定] に移動します。
[デベロッパー設定] ページで、[外部ストレージ] セクションに移動します。
スイッチを [オン] に切り替えて、CRM サーバー外での情報保存を有効にし、保存するファイルの種類を選択します。
[サーバー設定] セクションで、ストレージ タイプを選択し、設定手順(SFTP サーバー、Google Cloud バケット)を完了します。
SFTP サーバー
SFTP のホスト(URL または IP アドレス)を入力します。
[ポート] 番号を入力します。
SFTP のログイン ユーザー ID を入力します。
SFTP サーバーで認証にパスワードが必要な場合は、[パスワード] フィールドに入力します。
SFTP サーバーで認証に秘密鍵が必要な場合は、[SSH Private Key] チェックボックスをオンにします。
SSH 秘密鍵を入力(コピーして貼り付け)します。
秘密鍵のパスフレーズを入力します。セッション情報を SFTP サーバー上の特定のフォルダに保存する場合は、[フォルダパス] チェックボックスをオンにして、SFTP フォルダパスを入力します。
[変更を保存] をクリックします。
Cloud Storage
宛先の Google Cloud バケット名を入力します。
Google Cloud クライアント ID を入力します。
Google Cloud クライアント シークレットを入力します。
セッション情報を Google Cloud バケットの特定のフォルダに保存する場合は、[フォルダパス] チェックボックスをオンにして、Google Cloud フォルダパスを入力します。
[リンクして保存] をクリックします。
外部ストレージ構成のテスト
既存の標準統合がある CRM の場合:
CRM にログインします。
エージェント ロールが割り当てられた CCAI Platform の認証情報を使用して、CRM 内の CCAI Platform にログインします。
通話またはチャットを開始します。セッションに関連付けられている CRM レコードが表示されます。
セッションが終了すると、トランスクリプト ファイルは数秒以内にアップロードされます。
外部サーバーのストレージ フォルダに直接移動し、ファイルが使用可能であることを確認します。
セッション ファイルを CRM に送信する
外部ストレージが有効になっている場合、CRM ストレージと外部ストレージの URL のデベロッパー設定により、セッション ファイルを送信し、エージェント アダプタでファイルを表示するために使用するソースを決定できます。
これらの設定を表示するには、[設定 > デベロッパー設定 > 外部ストレージ] で外部ストレージを有効にする必要があります。[Enable information storage outside CRM servers] を [On] に切り替えます。
CRM ストレージ
[設定] > [開発者向け設定] > [外部ストレージ] > [CRM ストレージ] に移動します。
[セッション ファイルも CRM に送信する] の横にあるチェックボックスをオンにすると、通話録音やチャットの文字起こしなどのセッション ファイルが CRM と構成済みの外部ストレージに送信されます。
[変更を保存] をクリックします。
チェックボックスがオンになっている場合、録音は CRM と外部ストレージの両方に保存されます。
外部ストレージの URL
外部ストレージの URL は次の 2 か所で使用されます。
エージェント アダプタ。
レポート: レポートと、[設定]、[通話]、[完了] などのメニューにメディア URL が表示されます。
[設定] > [デベロッパー設定] > [外部ストレージ] > [外部ストレージ URL] に移動します。
エージェント アダプタにファイルを表示するには、ソースの [CRM URLs] または [External Storage URLs] を選択します。
[変更を保存] をクリックします。
CRM ストレージ
CRM ストレージのチェックボックスがオフの場合、録音は外部ストレージにのみ保存され、CRM へのリンクが使用されます。
チェックボックスがオンになっている場合、録音は CRM と外部ストレージの両方に保存されます。
外部ストレージの URL
この URL は次の 2 か所で使用されます。
1 つは CCAI Platform アダプタのメディアを表示しています。外部ストレージまたは CRM。
もう 1 つはレポートにあります。メディア URL は、レポートだけでなく、[設定]、[通話]、[完了] などのメニューにも表示されます。
CCAI プラットフォーム ポータルにカスタム CRM を表示する
独自のカスタムビルド CRM でカスタム CRM 統合を使用する場合は、CCAI プラットフォーム ポータルの専用ページに CRM を読み込むことができます。有効にすると、CCAI Platform Portal の [CRM] タブが読み込まれ、カスタムビルドの CRM ページが表示されます。これは、[Developer Settings] > [CRM] で設定できます。
この機能により、エージェントは CCAI プラットフォームの通話アダプタとチャット アダプタを使用してライブ サポート セッションを処理しながら、カスタム CRM で作業できます。これには、CCAI プラットフォーム ポータルを使用して、自動的にポップアップ表示されたアカウントとレコードの詳細、モバイルアプリまたは消費者から渡されたセッション固有のファイルとデータを確認することが含まれます。
カスタム CRM ページを設定する
カスタム CRM ページを設定する手順は次のとおりです。
CCAI Platform ポータルで、[設定 > デベロッパー設定] をクリックします。[設定] メニューが表示されない場合は、 [メニュー] をクリックします。
[CRM] ペインで、[カスタム CRM] をクリックします。
[Display CRM in CCAI Platform portal] 切り替えボタンをクリックしてオンにします。
[表示 URL] にカスタム CRM ページの URL を入力し、[保存] をクリックします。
カスタム URL の画面ポップを開く
カスタム URL を開くを使用して、システムで連絡先が見つからない場合にカスタム URL の画面ポップアップを表示します。一時的なアカウント ID を使用して CRM レコードを作成し、キューレベルの構成に基づいてパラメータを含むカスタムリンクをトリガーします。
キューごとに画面ポップアップを有効にする
[Settings > Queue > IVR] に移動し、編集するキューをクリックします。
パネルの [Open Custom URL] に移動します。
URL を入力して、画面ポップアップを表示します。
URL に変数パラメータ {ACCOUNT_ID} と {PHONE_NUMBER} を含めます。
例を示します。
- [保存] をクリックします。
カスタム CRM の汎用 API 統合
汎用 API 統合メソッドを使用すると、CRM の API を使用して CCAI Platform との双方向接続を確立できます。このシームレスな方法は、すぐに利用できる CRM 統合エクスペリエンスと同じような感覚で利用できます。
エージェントは、通話セッションまたはチャット セッションの CRM レコードを作成するために操作を行う必要はありません。独自の API 構成に応じて、シームレスなレコード検索とレコード更新を有効にできます。
用語
用語 |
説明 |
アカウント |
これは、CRM の Account/Contact/Customer/Lead エンティティを参照するために使用されます。CRM では、このエンティティに別の名前が付けられている場合があります。 アカウントにはレコードが含まれます。 |
記録 |
CRM の Case/Ticket/Conversation/Incident エンティティを参照するために使用されます。CRM では、このエンティティに別の名前が付けられている場合があります。 レコードはアカウントに属します。 |
コメント |
CRM の Comment/Note エンティティを参照するために使用されます。CRM では、このエンティティに別の名前が付けられている場合があります。 コメントはレコードに属します。 |
API 設定
このセクションでは、カスタム CRM API 設定に固有の設定について説明します。
認証方法
CCAI Platform は、CRM に対して次の 3 つの認証方法をサポートしています。
基本認証: ユーザー名とパスワードを含む認証情報を構成します。
カスタム ヘッダー: カスタム ヘッダーの Key-Value ペア(フィールド キーとフィールド値)を構成します。必要な数のペアを入力します。
OAuth: CCAI Platform は、業界標準の認可プロトコルである OAuth 2.0 をサポートしています。[Include the Redirect URL as part of the Authorization URL and Token URL] オプションを有効にする必要がある場合は、OAuth 情報を指定します。
次の値を構成します。
認証 URL(必須)
トークンの URL(必須)
クライアント ID(必須)
クライアント シークレット(必須)
範囲
状態
アクセスタイプ
電話番号の形式
CRM リクエストで使用する電話番号の形式を選択します。
自動: 作成: +1 222 333 4444、検索: *222*333*4444
E.164: +12223334444
US Local: 2223334444
米国のローカル標準: (111) 222-3333
米国以外: +1 222 333 4444
API リクエストのタイムアウト
プルダウンを使用して、API リクエスト タイムアウトを 1 ~ 10 秒に設定します。このタイムアウトは、構成したすべてのエンドポイントに適用されます。
CRM 検索 URL
エージェントが現在のアカウントとレコードを指すために使用するルックアップ URL を指定します。
ブラウザでアカウント ページまたはレコード ページを開いている場合は、CRM に表示されている検索 URL を入力します。
ウェブ SDK とモバイル SDK で CRM 検索 URL を使用することもできます。CRM アカウントとレコード情報を検索してエージェント アダプタに表示するように SDK を構成できます。CRM 検索 URL の完全なリストについては、リクエスト URL パラメータをご覧ください。
アカウント検索 URL
{ACCOUNT_ID} 変数を使用して、実際のアカウント ID を挿入します。
例:
https://www.example.com/contact/{ACCOUNT_ID}
レコード検索 URL
{RECORD_ID} 変数を使用して、実際のレコード ID を挿入します。
例:
https://www.example.com/record/{RECORD_ID}
API エンドポイント
これは、汎用 API の最も重要な構成です。
エージェントがアカウント検索を利用できるようにするには、[アカウントを検索] エンドポイントと [アカウントを作成] エンドポイントを構成する必要があります。
また、レコードの検索とレコードの作成のエンドポイントを設定して、エージェントがレコードの検索や作成を行えるようにすることもできます。これには、前の手順でアカウントを設定する必要があります。
最後に、[Update a record]、[Upload a file]、[Comment] エンドポイントを入力すると、レコードの更新が有効になります。これには、前の手順のレコード設定が必要です。
エンドポイントの構成
以下の設定を構成します。
リクエスト URL: API エンドポイント URL。
リクエスト メソッドを POST、GET、PUT、PATCH から選択します。
リクエストのパラメータを指定します。CCAI Platform で定義された変数を使用して、必要な情報を渡すことができます(次の表を参照)。また、パラメータの値としてプレーン テキストまたは数値を入力することもできます。パラメータは必要な数だけ追加できます。
エンドポイントが POST/PUT/PATCH の場合、CCAI プラットフォームはリクエストの構築方法をより細かく制御できます。[プロパティ] または [コンテナ] から [リクエスト データ形式] を選択します。リクエスト JSON の形式を指定します。
Property のインスタンスです。これは、CCAI Platform がパラメータからリクエスト本文を構築するときに、リクエスト オブジェクトが基本プロパティ マップであることを示します。
コンテナ。これは、送信するリクエスト オブジェクト データが構造内にネストされている必要があることを示します。[マップ] または [配列] から [コンテナ タイプ] を選択します。[コンテナ名] を入力します。パラメータからリクエスト本文を構築する際に、親オブジェクト名として使用されます。
例: マップ: { container_name : { ...parameters } }
例: 配列: {container_name : [ { ...parameters } ] }
[Response Data Location](レスポンスのデータのロケーション)を入力します。JSON レスポンスでターゲット レスポンス オブジェクトを見つけるために使用されます。
リクエスト URL パラメータ
| パラメータ | 変数 | コメント |
|---|---|---|
| エージェント ID | {AGENT_ID} |
内部エージェント ID。 |
| エージェントのカスタム ID | {AGENT_CUSTOM_ID} |
ユーザーのプロフィールからのオプション フィールド。 |
| Agent Email(エージェントのメールアドレス) | {AGENT_EMAIL} |
回答したエージェントのメールアドレス(該当する場合)。 |
| エンドユーザーの名前 | {NAME} |
|
| エンドユーザーの名 | {FIRST_NAME} |
出典: Name |
| エンドユーザーの姓 | {LAST_NAME} |
Name から取得されます。指定されていない場合はデフォルトで -- になります。 |
| 外部 ID | {UJET_ID} |
CCAI プラットフォームのエンドユーザー ID |
| メール | {EMAIL} |
|
| 通話タイプ/セッション タイプ | {SESSION_TYPE} |
|
| エンドユーザーの電話番号 | {PHONE_NUMBER} |
設定の選択肢を使用してフォーマット |
| 通話 ID | {Call_ID} |
CCAI プラットフォームの通話 ID。 |
| チャット ID | {Chat_ID} |
CCAI プラットフォームのチャット ID。 |
| 言語 | {LANG} |
|
| カスタム UID | {CUSTOM_USER_ID} |
モバイルの場合: メールの左側です。たとえば、test.user3@test.co の test.user3 |
| アカウント ID | {ACCOUNT_ID} |
Find/Create contact エンドポイントを呼び出して見つかった。 |
| レコード ID | {RECORD_ID} |
Find/Create record エンドポイントを呼び出して見つかった。 |
| セッション ID | {SESSION_ID} |
CCAI プラットフォーム セッション ID |
| メニューパス | {MENU_PATH} |
|
| 発信電話番号 | {OUTBOUND_PHONE_NUMBER} |
設定の選択肢を使用してフォーマット |
| キュー名 | {QUEUE_NAME} |
|
| キュー ID | {QUEUE_ID} |
内部キュー ID。 |
| SDK 名 | {SDK_NAME} |
Web SDK または Mobile SDK で示されているエンドユーザーの名前。 |
| SDK のメールアドレス | {SDK_EMAIL} | Web SDK または Mobile SDK で指定されたエンドユーザーのメールアドレス。 |
| SDK Phone | {SDK_PHONE} | Web SDK または Mobile SDK で示されているエンドユーザーの電話番号。 |
| SDK 識別子 | {SDK_IDENTIFIER} |
ウェブまたはモバイル SDK のエンドユーザーまたはアカウントを識別します。このプロパティには個人情報(PII)を含めないでください。アカウントを作成する際は、リクエストでこの識別子が必要です。 |
| SmartAction セッション ID | {SMART_ACTION_SESSION_ID} |
|
| SmartAction: 確認 | (近日提供予定) | |
| SmartAction: テキスト入力 | (近日提供予定) | |
| 評価 | {RATING} |
ユーザーが退出した場合にのみ使用できます |
| フィードバック メッセージ | {FEEDBACK} |
ユーザーが退出した場合にのみ使用できます |
| 通話時間 | {CALL_DURATION} |
mm:ss 形式 |
| 保留時間 | {HOLD_TIME} |
mm:ss 形式 |
| 待機時間 | {WAIT_TIME} |
mm:ss 形式 |
| 通話後の作業時間 | (近日提供予定) | |
| デバイスの種類 | {DEVICE_TYPE} |
|
| 切断者 | {DISCONNECTED_BY} |
|
| チャネル | {CHANNEL} |
|
| レコードの件名 | {TICKET_SUBJECT} |
レコードのタイトルとして使用 |
| レコードの説明 | {TICKET_DESCRIPTION} |
|
| レコードの説明 HTML | {TICKET_DESCRIPTION_HTML} |
説明と同じですが、HTML 形式になっています |
| コメントの本文 | {COMMENT_BODY} |
コメントを追加する場合(評価の保存、通話/チャットの終了、通話/チャットの開始)にのみ使用できます |
| ファイルデータ | {FILE_DATA} |
アップロード ファイル エンドポイントでのみ使用できますが、multipart フォームの base64 またはデータが含まれています。 |
リクエスト URL パラメータ関数
動的 CCAI Platform 変数を操作するための関数が用意されています。これらの関数は、エンドポイント設定の [リクエスト パラメータ] セクションでのみ使用できます。
関数から作成された結果の値は文字列になります。関数から値が返されない場合、実行前にリクエストのパラメータ リストからパラメータが削除されます。
| 関数 | 関数の構文 | 説明 |
|---|---|---|
| デフォルト値 | =DEFAULT_VALUE(val1, val2) |
値が null または空でない限り val1 を使用し、デフォルトで val2 に戻ります。 |
連結 Or | =CONCAT_OR(val1, val2,
val3) | or を使用した複数の値の連結。例: 'val1 or val2 or val3' |
連結 And | =CONCAT_AND(val1, val2,
val3) | and を使用した複数の値の連結。例: 'val1 and val2 and val3' |
例
リクエスト URL パラメータ関数の使用例を次に示します。
デフォルト
次の例では、Create a Record Endpoint で DEFAULT_VALUE を使用しています。エージェント設定のキーと値は、エージェントのメールアドレスが空の場合にフォールバックするデフォルト関数を使用します。レコード作成時にエージェントのメールアドレスが空になる理由はいくつかあります。たとえば、割り当てられたエージェントが着信に応答する前にお客様が IVR 通話を終了した場合や、チャットの場合、エージェントが応答する前にレコードが作成されます。このようにして、必須パラメータは、後で更新されるまで安全な値にデフォルト設定されるか、通話が放棄された場合に設定される可能性があります。

連結
次の例では、Find an Account by Query エンドポイントで CONCAT_OR を使用しています。この例は Zoho CRM に固有のものですが、CONCAT_OR の使用方法を示しています。CONCAT_AND は同じルールに従いますが、or ではなく and で値を接続します。実行時のエンドポイントに存在する値と、リクエスト パラメータとして渡される結果の値については、次のケースをご覧ください。

| 存在するキー | 結果の値 |
|---|---|
ACCOUNT_ID |
(Id:equals:<uuid>) |
ACCOUNT_ID、EMAIL |
(Id:equals:<uuid>) または (Email:equals:kim@example) |
PHONE_NUMBER、EMAIL |
(Phone:equals:+12223334444) または (Email:equals:kim@example) |
API アカウント
API アカウント エンドポイントは、CRM のアカウントとの統合をサポートしています。
400 エラーを返すエンドポイントへの呼び出しを再試行します。他のエラーを返す呼び出しは再試行されません。再試行は 1 週間継続され、指数関数的に減少します。API フローについては、カスタム CRM 汎用 API: フローをご覧ください。
クエリ エンドポイントでアカウントを検索する(以前のアカウント エンドポイントでアカウントを検索する)
このエンドポイントは、電話番号、メールアドレス、内部 CRM ID でアカウントを検索するために使用されます。これは、アカウントの検索に使用されるデフォルトのエンドポイントです。
レスポンスの例:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
ID でアカウントを検索するエンドポイント
このエンドポイントは、ID でアカウントを検索するために使用されます。通常、この ID は URL の一部になります。URL の検証では、URL が ID で構成されていない場合、このエンドポイントは使用されません。これは REST 標準に準拠します。ルックアップが失敗して 404 が返された場合は、クエリによる検索が次に実行されます。
レスポンスの例:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
アカウント エンドポイントを作成する
このエンドポイントは、アカウントが見つからなかった場合にアカウントを作成するために使用されます。ほとんどの CRM では、レコードをアカウントに関連付ける必要があります。統合フローを作成するため、すべての CRM でこの要件を適用します。
API レコード
API レコード エンドポイントを使用すると、CRM のレコードやケースと統合できます。
クエリでレコードを検索する(以前のレコード検索エンドポイント)
このエンドポイントは、条件でレコードを検索するために使用されます。通常、これはアカウントに関連付けられたレコードを見つけるために使用されます。既存のレコードを再利用するように CCAI Platform が構成されている場合は、見つかったレコードが使用されます。これは、レコードの検索に使用されるデフォルトのエンドポイントです。
レスポンスの例:
{
"id": 456,
"subject": "Record title",
"status": "open", // enumerated status open/closed, or 1,2,3
"contactId": 123, // contact attached to ticket
"phone": "11234567890", // contact phone
}
レコード エンドポイントを作成する
このエンドポイントは、レコードの作成に使用されます。レコードの検索リクエストでレコードが見つからない場合、または既存のレコードを再利用しないように CCAI Platform が構成されている場合は、新しいレコードが作成されます。
リクエストの例:
{
"id": 123,
"subject": "Record title",
"description": "A longer description of the record, can be formatted in html",
"phone": "11234567890", // can be saved in multiple formats
"contactId": 123,
"sourceType": "PHONE", // PHONE/CHAT
"menu": "queue1",
"direction": "outgoing",
"rating": 5, // 1-5 scale
"feedback": "the agent was great!" // description of rating
}
レコード エンドポイントを更新する
このエンドポイントは、レコードの更新に使用されます。レコードのタイトルと説明を更新します。このエンドポイントは、CSAT 評価の保存、通話またはチャットの終了イベント、選択したキュー、ユーザーの確認などの CCAI Platform イベントに応じて、レコードを更新するようにも機能します。
ファイル エンドポイントをアップロードする
このエンドポイントは、添付ファイルのアップロードに使用されます。
アップロード エンドポイントのタイプを選択する
Base64 エンコード形式
Multipart form
添付するファイルを選択する
通話の録音
チャットの文字起こし
ボイスメール
Google フォト
動画
セッション メタデータ ファイル
[ID] と [添付ファイルの URL] から [添付ファイルのタイプ] を選択します。レスポンス JSON の形式を指定します。
ID
添付ファイル ID。添付ファイルの ID の JSON レスポンスでパラメータの場所を入力します。これは、添付ファイル ビルダーの URL で {ATTACHMENT_ID} として使用できます。
Attachment Builder の URL。添付ファイルをダウンロードする URL を入力します。RECORD_ID と ATTACHMENT_ID は使用可能な変数です。
例:
https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}添付ファイルの URL
ファイル ダウンロード URL の JSON レスポンスでパラメータの場所を入力します。
ファイルをアップロードしたときに CCAI Platform でレコードにコメントを残す場合は、[CRM にコメントを追加する] レコード チェックボックスをオンにします。これらのコメントには、Comment エンドポイントの Text Format 設定が適用されます。
次の例は、POST/PUT/PATCH を使用したマルチパート フォームの例です。
{
"file": <file data>
"id": 123, // optional, this can also just be part of the URL;
// for example https://example-customer.com/upload/record/{RECORD_ID}
}
レスポンスの例:
例 A: ダウンロード URL が存在する
{
"id": 123,
"url": "https://some-hosted-url.com"
}
例 B
この場合、ダウンロード URL は存在しませんが、この ID を使用するダウンロード添付ファイル エンドポイントが存在します。例: https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}
{
"id": 123
}
コメント エンドポイント
このエンドポイントは、レコードにコメントを追加するために使用されます。エンドポイントが構成されている場合、CCAI Platform プラットフォームは、イベントを含むレコードにコメントを追加します。
通話またはチャットの開始
通話またはチャットの終了
CSAT の評価とコメント
カスタム データ パッケージ
コメントを転送する
処分コードとメモ
アンケートの質問と回答
コメントの [テキスト形式] を選択します。[テキストを HTML に変換する] チェックボックスがオンになっている場合、テキストは HTML 形式になります。オフになっている場合は、書式なしテキストになります。
リクエストの例(POST/PUT/PATCH):
{
"comment": "Some text",
// string can also be formatted on ujet side as html
"id": 123,
// optional, this can also just be part of the URL;
// for example https://example-customer.com/comment/record/{RECORD_ID}
}
カスタム CRM 汎用 API: フロー
このセクションでは、カスタム CRM の汎用 API フローのフローチャートを示します。
基本的なフローチャート

アカウントの確認または作成フロー

レコード フローを検索または作成する

通話またはチャット後のアクション フロー

レコードの更新フロー

コメント フロー

アップロード ファイル フロー

エージェント アダプタ
カスタム CRM は、アダプター(UI ウィジェット)を CRM システムに統合する汎用的なメソッドを提供します。CRM システムは、アダプタがシステム内で有効化され、トリガーされる方法を処理できる必要があります。
ユーザー インターフェース アダプタを統合するには、通常、CRM ソフトウェアまたはアプリケーションが必要です。この機能は、Salesforce、Kustomer、Zendesk などの複数の CRM ソフトウェアですでに提供されています。
iFrame
エージェント アダプタは、iFrame タグを使用して CRM やその他のツールにシームレスに統合できます。HTML iframe タグについて詳しくは、HTML iframe タグをご覧ください。
ただし、CRM はアダプタをユーザーに提示する方法を処理する必要があります。たとえば、アダプタの表示と非表示を切り替えるための UI ボタンが用意されている場合があります。さらに、アダプタはドラッグ可能に設計できるため、エージェントは都合のよいように画面上でアダプタの位置を変更できます。次の例は、URL の形式を示しています。
通話アダプター:
https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom
チャット アダプタ:
https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom
iFrame テンプレート
通話アダプター:
html
<iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>
チャット アダプタ:
html
<iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>
URL パラメータ
URL パラメータを使用すると、インタラクションの種類(通話またはチャット)、インタラクションのソース(カスタム)などの追加情報をソフトウェアに提供できます。
テナントの CRM 設定がリストにない場合、[From] パラメータは常に [Custom] に設定する必要があります。
型
- 電話
- チャット
差出人
- カスタム(テナントの CRM 設定と一致している必要があります)。リストにない CRM の場合は、常に custom にする必要があります。CRM の設定がない場合は、このパラメータをスキップできます。
エージェント アダプタのイベント
エージェント アダプタは、CRM システムでフックできるイベントを投稿します。これにより、CRM の更新が処理されます。これを行うには、CRM が親ウィンドウからの投稿をリッスンし、投稿データを読み取る必要があります。データに基づいて、特定のセッション ID のチケットタブを開くなどのアクションをトリガーできます。
通話アダプターとチャット アダプターの両方に、CRM の機能を強化するために利用できる特定のイベントがあります。
通話アダプター
- New Call
- 通話の編集を開始しました
- 通話の編集が終了しました
- 通話を終了
チャット アダプター
- 新しいチャット
- アクティブなチャット
- Chat Inbound Message
- Chat の送信メッセージ
- チャットを終了
- チャットを閉じた場合
両方のアダプター
- エージェント ログイン
- 画面共有セッションを開始しました
- 画面共有セッションのリモート コントロールが変更された
- Screen Share session full device changed(画面共有セッションのフルデバイスが変更されました)
- 画面共有セッションが終了しました
- 転送
- Party added
- エージェントがセッションに接続する
- エージェントのログアウト
- Agent Assist を追加しました
イベントのデータ
call_id: IVR(インタラクティブ音声レスポンス)による音声着信通話の識別子です。chat_id: メッセージングのインバウンド通話(ウェブまたはモバイル チャット)の識別子。cobrowse_session_id: 画面共有セッションの識別子。画面共有セッションは、通話セッションまたはチャット セッションで開始できます。session_type: セッションのタイプ(音声、チャット、メッセージなど)。va_data_parameters: キューで構成されたすべての変数を仮想エージェントに送信します。これは、バーチャル エージェントが関与するイベントにのみ必要です。省略可。session_variable: ペイロードで CCAI プラットフォームに送信される仮想エージェントのすべての変数。省略可。custom_sip_headers: これにより、着信 SIP 通話のカスタム SIP ヘッダーが POST イベントログに表示されます。カスタム SIP ヘッダーを使用する場合にのみ必要です。省略可。custom_data_secured: サーバーからの署名付きカスタムデータが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタム データが含まれます。詳細については、Chat の署名なしカスタムデータをご覧ください。省略可。
エージェント ID
agent_id: エージェントの識別子。from_agent_id: 通話やチャットをエージェント間で転送する際に、転送元エージェントを示すために使用されます。to_agent_id: エージェント間で通話やチャットを転送する際に、転送先のエージェントを示すために使用されます。agent_custom_id: ユーザー プロファイルに入力されている場合は、ユーザー プロファイルの代理店 ID。省略可。from_agent_custom_id: 通話やチャットをエージェント間で転送する際に、転送元エージェントを示すために使用されます。to_agent_custom_id: 通話やチャットをエージェント間で転送する際に、転送先のエージェントを示すために使用されます。agent_email: エージェントのメールアドレス。from_agent_email: 通話やチャットをエージェント間で転送する際に、転送元エージェントを示すために使用されます。to_agent_email: 通話やチャットをエージェント間で転送する際に、転送先のエージェントを示すために使用されます。
仮想エージェント ID
virtual_agent_id: 特定の仮想エージェントに割り当てられた ID 番号。
キュー ID
queue_id: CCAI プラットフォーム キューの識別子。通話がキューから発信された場合にのみ存在します。from_queue_id: 通話やチャットをあるキューから別のキューに転送する際に、元のキューを示すために使用されます。to_queue_id: 通話やチャットをあるキューから別のキューに転送する際に、転送先のキューを示すために使用されます。queue_path: CCAI プラットフォーム キューのパスです。通話がキューから発信された場合にのみ存在します。from_queue_path: 通話やチャットをあるキューから別のキューに転送する際に、元のキューを示すために使用されます。to_queue_path: 通話やチャットをあるキューから別のキューに転送する際に、転送先のキューを示すために使用されます。
Campaign ID
campaign_id: CCAI プラットフォーム キャンペーン ID。通話タイプがキャンペーン通話の場合にのみ含まれます。campaign_name: CCAI プラットフォーム キャンペーンの名前。通話タイプがキャンペーン通話の場合にのみ含まれます。
メッセージ
message: 新しいコンシューマー メッセージを受信したことを示すイベントとメッセージ コンテンツ。
セッション タイプ
session_type: CCAI プラットフォーム セッション タイプ。cobrowse_session_remote_control: リクエストされたリモート コントロールの画面共有セッションのステータスを示します。値:off、requested、rejected、on。cobrowse_session_full_device: デバイス全体の画面共有セッションのステータスを示します。値:off、requested、rejected、on。
参加者
type: 参加者のタイプ -end_user、agent(/api/v1/calls または /api/v1/chats レスポンスの participants.type から)。cobrowse_session_requested_by: 画面共有セッションを開始したユーザーを示します。指定可能な値はagent、end_userです。cobrowse_session_ended_by: 画面共有セッションを終了したユーザーを示します。指定可能な値はagent、end_user、apiです。end_user_id:/api/v1/callsまたは/api/v1/chatsレスポンスのparticipants.end_user_id。このフィールドは、タイプがend_userの場合にのみ存在します。
インタラクション / セッション タイプ
通話タイプ
- 音声着信: 標準の PSTN 通話。
- 音声インバウンド(モバイルを使用した IVR): モバイル SDK から発信されたフォールバック PSTN 通話。
- 音声インバウンド(モバイル): インストール済みのモバイル SDK を使用して消費者が配置します。
- 音声コールバック(ウェブ): ウェブ SDK から開始されます。
- Voice Inbound(API): API を使用して開始されました。
- 音声スケジュール(モバイル): インストール済みのモバイル SDK を使用してスケジュール設定されています。
- Voice Scheduled(ウェブ): インストール済みのウェブ SDK を使用してスケジュール設定された通話。
- 音声発信: エージェントが番号をダイヤルして開始した通話。
- Voice Outbound(API): API を使用して開始されました。
- 音声キャンペーン: アウトバウンド ダイヤラー(キャンペーン)を使用して開始されます。
チャットの種類
- メッセージ(WhatsApp): WhatsApp を使用して開始されました。
- メッセージング インバウンド(SMS)
- Messaging Outbound(SMS)
- Messaging Outbound(API を使用した SMS)
- メッセージ(ウェブ): インストール済みのウェブ SDK を使用して開始されます。
- メッセージ(モバイル): インストールされた Mobile SDK を使用して開始されます。
通話またはチャットのタイプ
- 画面共有セッション: 通話またはチャット中にエージェントまたはエンドユーザーによって開始されます。
イベントタイプ
エージェント アダプタによって投稿されるイベントタイプは次のとおりです。
エージェント ログイン
エージェント ログイン イベントは、エージェントがアダプタにログインしたときに発生します。
Agent_Login イベントの例を次に示します。
{
"type": "Agent_Login",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子省略可:
agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。agent_email: エージェントのアカウントに関連付けられたメールアドレス。
新しい通話
エージェントが通話に応答すると、新しい通話イベントが発生します。このイベントには、通話の開始時間、通話に対応したエージェント、通話の発信元などの情報が含まれます。
New_Call イベントの例を次に示します。
{
"type": "New_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレスqueue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元のキューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。campaign_id: キャンペーンの ID。このフィールドはキャンペーン呼び出しに含まれます。省略可。campaign_name: キャンペーンの名前。このフィールドはキャンペーン呼び出しに含まれます。省略可。call_id: 通話 IDsession_type: セッション タイプvirtual_agent_id: 仮想エージェントの識別子。このフィールドは、バーチャル エージェントが関与するイベントに含まれます。省略可。va_data_parameters: キューで構成され、仮想エージェントに送信される変数。このフィールドは、仮想エージェントが関与するイベントに含まれます。省略可。session_variable: Contact Center AI Platform に送信されるバーチャル エージェントのすべての変数。省略可。custom_sip_headers: 着信 SIP 通話のカスタム SIP(セッション開始プロトコル)ヘッダーを POST イベントログに表示できるようにします。このフィールドは、カスタム SIP ヘッダーが使用されている場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳細については、Chat の署名なしカスタムデータをご覧ください。省略可。
通話の編集を開始しました
通話の編集が開始され、録音されていない場合、Call redaction started イベントが発生します。イベントデータは、通話に対応したエージェントの ID と通話 ID で構成されます。
agent_id: 通話に対応したエージェントの IDcall_id: 通話の ID
通話の秘匿化開始イベントの例を次に示します。
{
"agent_id": 2896,
"call_id": 97939
}
通話の編集を停止しました
通話の編集停止イベントは、通話の編集が終了し、録音が再開されたときに発生します。このイベントは、通話に対応したエージェントの ID と call ID で構成されます。
agent_id: 通話を処理したエージェントのIDcall_id: 呼び出しのID
通話の編集が停止されたイベントデータの例を次に示します。
{
"agent_id": 2896,
"call_id": 97939
}
通話を終了
通話終了イベントは、通話が終了したときに発生します。このイベントには、通話が終了した日時、通話を処理したエージェント、通話の発信元などの情報が含まれます。
End_Call イベントの例を次に示します。
{
"type": "End_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレスqueue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元のキューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。campaign_id: キャンペーンの ID。このフィールドはキャンペーン呼び出しに含まれます。省略可。campaign_name: キャンペーンの名前。このフィールドはキャンペーン呼び出しに含まれます。省略可。call_id: 通話 IDsession_type: セッション タイプvirtual_agent_id: 仮想エージェントの識別子。このフィールドは、仮想エージェントが関与するイベントに含まれます。省略可。va_data_parameters: キューで構成され、仮想エージェントに送信される変数。このフィールドは、仮想エージェントが関与するイベントに含まれます。省略可。session_variable: Contact Center AI Platform に送信されるバーチャル エージェントのすべての変数。省略可。custom_sip_headers: 着信 SIP 通話のカスタム SIP(セッション開始プロトコル)ヘッダーを POST イベントログに表示できるようにします。このフィールドは、カスタム SIP ヘッダーが使用されている場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
新しいチャット
エージェントがチャット セッションを開始すると、新しいチャット イベントが発生します。このイベントは、チャットが開始された日時を示し、チャットの送信元となったチャットを処理したエージェントなどの情報が含まれます。
New_chat イベントの例を次に示します。
{
"type": "New_Chat",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
イベント データ フィールドの説明は次のとおりです。
chat_id: チャット IDsession_type: セッション タイプagent_id: エージェントの識別子agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレス。queue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元キューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
チャットを終了
チャット セッションが終了すると、チャット終了イベントが発生します。このイベントは、チャットが終了したタイミングを示し、チャットを処理したエージェントやチャットの発生元などの情報が含まれます。
End_Chat イベントの例を次に示します。
{
"type": "End_Chat",
"data": {
"chat_id": 73522,
"session_type": "Messaging Inbound (Web Chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": null,
"queue_path": null,
"agent_custom_id": null
}
}
イベント データ フィールドの説明は次のとおりです。
chat_id: チャット識別子。session_type: セッション タイプ。agent_id: エージェントの識別子。agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレス。queue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元のキューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
アクティブなチャット
アクティブなチャット イベントは、エージェントがチャット アダプタのチャットタブに切り替えたときに発生します。
Active_Chat イベントの例を次に示します。
{
"type": "Active_Chat",
"data": {
"chat_id": 73521,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
イベント データ フィールドの説明は次のとおりです。
chat_id: チャット IDsession_type: セッション タイプagent_id: エージェントの識別子agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレス。queue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元のキューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
Chat のインバウンド メッセージ
チャットのインバウンド メッセージ イベントは、新しい顧客メッセージが受信されたことを示します。メッセージの内容が含まれます。
チャットのインバウンド メッセージ イベントでは、次のフィールドのデータがレポートされます。
chat_id: チャット セッションを識別しますsession_type: 作成されるセッションのタイプ(ウェブチャット経由のメッセージの受信など)を示しますagent_id: チャット セッションを処理するエージェントを識別しますagent_custom_id: このフィールドは、エージェントのプロファイルにカスタム ID が含まれている場合にのみ存在します。省略可。agent_email: チャット セッションを処理するエージェントのメールアドレス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。queue_id: チャット セッションの送信元キューの ID。このフィールドは、チャットがキューから開始された場合にのみ含まれます。queue_path: チャット セッションの送信元となったキューのパス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。message: 新しいコンシューマー メッセージを受信したことを示すイベントとメッセージ コンテンツcustom_data_secured: セキュアな SDK カスタムデータの送信を許可します。省略可。custom_data_not_secured: 保護されていない SDK カスタムデータの送信を許可します。省略可。
Chat_Inbound_Message イベントの例を次に示します。
{
"type": "Chat_Inbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Can you help me with my order tracking number?"
}
}
Chat の送信メッセージ
チャット アウトバウンド メッセージ イベントは、新しいお客様のメッセージを受信したときに発生します。メッセージの内容が含まれます。
チャット アウトバウンド メッセージ イベントでは、次のフィールドのデータが報告されます。
chat_id: チャット セッションを識別しますsession_type: 作成されるセッションのタイプ(ウェブチャット経由のメッセージの受信など)を示しますagent_id: チャット セッションを処理するエージェントを識別しますagent_custom_id: このフィールドは、エージェントのプロファイルにカスタム ID がある場合にのみ含まれます。省略可。agent_email: チャット セッションを処理するエージェントのメールアドレス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。queue_id: チャット セッションの送信元キューの ID。このフィールドは、チャットがキューから開始された場合にのみ含まれます。queue_path: チャット セッションの送信元となったキューのパス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。message: 新しいユーザー メッセージを受信したことを示すイベントとメッセージの内容custom_data_secured: セキュアな SDK カスタムデータの送信を許可します。省略可。custom_data_not_secured: 保護されていない SDK カスタムデータの送信を許可します。省略可。
Chat_Outbound_Message イベントの例を次に示します。
{
"type": "Chat_Outbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Please give me a moment to look up your account information"
}
}
チャットを閉じた場合
チャット アダプタでエージェントがチャットタブを閉じると、チャット イベントが終了します。
Dismissed_Chat イベントの例を次に示します。
{
"type":"Dismissed_Chat",
"data":{"chat_id":73522,
"session_type":"Messaging Inbound (Web Chat)",
"agent_id":1,
"agent_email":"ariel@example.com"
}
}
イベント データ フィールドの説明は次のとおりです。
chat_id: チャット IDsession_type: セッション タイプagent_id: エージェントの識別子agent_custom_id: エージェントのプロファイルに入力された場合のエージェントのカスタム識別子。省略可。agent_email: エージェントのアカウントに関連付けられたメールアドレスqueue_id: 通話の発信元キューの識別子。このフィールドは、通話がキューから発信された場合に含まれます。省略可。queue_path: 通話の発信元のキューのパス。このフィールドは、通話がキューから発信された場合に含まれます。省略可。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
画面共有セッションを開始しました
画面共有セッションが開始されたイベントは、エージェントまたはエンドユーザーが画面共有セッションを開始したときに発生します。画面共有セッションは、通話中またはチャット中に開始できます。詳しくは、画面共有をご覧ください。
画面共有セッション開始イベントの JSON オブジェクトの例を次に示します。
{
"type": "Cobrowse_Session_Started",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_requested_by": "agent",
"cobrowse_session_remote_control": "off",
"cobrowse_session_full_device": "off"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子。call_id: IVR(インタラクティブ音声レスポンス)チャネルでの着信通話の識別子。このフィールドは、通話中に画面共有セッションが開始された場合に含まれます。chat_id: ウェブまたはモバイル チャネルでの受信チャットの識別子。このフィールドは、チャット中に画面共有セッションが開始された場合に含まれます。cobrowse_session_id: 画面共有セッションの識別子。cobrowse_session_requested_by: 画面共有セッションを開始したユーザーを示します。値はagentとend-userです。cobrowse_session_remote_control: リモート コントロールの画面共有セッションのステータスを示します。値はon、rejected、requested、offです。cobrowse_session_full_device: デバイス全体の画面共有セッションのステータスを示します。値はon、rejected、requested、offです。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
画面共有セッションのリモート コントロールが変更された
リモート コントロールの画面共有セッションのステータスが変更されると、画面共有セッションのリモート コントロールが変更されたイベントが発生します。このイベントは、リモート コントロールの画面共有セッションのステータスを示します。詳しくは、 画面共有をご覧ください。
Cobrowse_Session_Remote_Control_Changed イベントの JSON オブジェクトの例を次に示します。
{
"type": "Cobrowse_Session_Remote_Control_Changed",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_remote_control": "requested"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子。call_id: IVR(インタラクティブ音声レスポンス)チャネルでの着信通話の識別子。このフィールドは、通話中に画面共有セッションが開始された場合に含まれます。chat_id: ウェブまたはモバイル チャネルでの受信チャットの識別子。このフィールドは、チャット中に画面共有セッションが開始された場合に含まれます。cobrowse_session_id: 画面共有セッションの識別子。cobrowse_session_remote_control: リモート コントロールの画面共有セッションのステータスを示します。値はon、rejected、requested、offです。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
Screen Share session full device changed(画面共有セッションのフルデバイスが変更されました)
全デバイスの画面共有セッションのステータスが変更されると、Screen Share セッションの全デバイス変更イベントが発生します。このイベントは、デバイス全体の画面共有セッションのステータスを示します。詳しくは、画面共有をご覧ください。
Cobrowse_Session_Full_Device_Changed イベントの例を次に示します。
{
"type": "Cobrowse_Session_Full_Device_Changed",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_full_device": "rejected"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子。call_id: IVR(インタラクティブ音声レスポンス)チャネルでの着信通話の識別子。このフィールドは、通話中に画面共有セッションが開始された場合に含まれます。chat_id: ウェブまたはモバイル チャネルでの受信チャットの識別子。このフィールドは、チャット中に画面共有セッションが開始された場合に含まれます。Cobrowse_session_id: 画面共有セッションの識別子。Cobrowse_session_full_device: デバイス全体の画面共有セッションのステータスを示します。値はon、rejected、requested、offです。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
画面共有セッションが終了しました
画面共有セッションの開始イベントは、エージェント、エンドユーザー、または API によって画面共有セッションが終了したときに発生します。詳細については、画面共有を構成するをご覧ください。
Cobrowse_Session_Ended イベントの例を次に示します。
{
"type": "Cobrowse_Session_Ended",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_requested_by": "end_user",
"cobrowse_session_ended_by": "agent",
"cobrowse_session_remote_control": "on",
"cobrowse_session_full_device": "rejected"
}
}
イベント データ フィールドの説明は次のとおりです。
agent_id: エージェントの識別子。call_id: IVR(インタラクティブ音声レスポンス)チャネルでの着信通話の識別子。このフィールドは、通話中に画面共有セッションが開始された場合に含まれます。chat_id: ウェブまたはモバイル チャネルでの受信チャットの識別子。このフィールドは、チャット中に画面共有セッションが開始された場合に含まれます。cobrowse_session_id: 画面共有セッションの識別子。cobrowse_session_ended_by: 画面共有セッションを終了したユーザーを示します。値はagent、end-user、apiです。cobrowse_session_remote_control: リモート コントロールの画面共有セッションのステータスを示します。値はon、rejected、requested、offです。cobrowse_session_full_device: デバイス全体の画面共有セッションのステータスを示します。値はon、rejected、requested、offです。custom_data_secured: サーバーからの署名付きカスタム データが含まれます。省略可。custom_data_not_secured: ウェブページからの署名なしのカスタムデータが含まれます。詳しくは、Chat の署名なしカスタムデータ(省略可)をご覧ください。省略可。
転送
転送イベントは、通話またはチャットが転送されたときに発生します。これは、引き継ぎありの転送または引き継ぎなしの転送のいずれかを指します。
次のイベント フィールドは、転送イベントの一部です。
chat_idまたはcall_id: 通話またはチャット セッションを識別します。session_type: 作成されるセッションのタイプ(ウェブチャット経由のメッセージング インバウンドなど)を示しますcampaign_id: キャンペーンの ID。このフィールドは、通話タイプがキャンペーン通話の場合にのみ存在します。省略可。campaign_name: キャンペーンの名前。このフィールドは、通話タイプがキャンペーン通話の場合にのみ存在します。省略可。from_agent_id: 通話やチャットをエージェント間で転送する際に、転送元エージェントを示すために使用されます。from_agent_custom_id: 通話やチャットをエージェント間で転送する際に、転送元エージェントを示すために使用されます。省略可。from_agent_email: あるエージェントから別のエージェントに電話やチャットを転送する際に、転送元エージェントを示すために使用されます。to_agent_id: 通話やチャットをエージェント間で転送する際に、転送先のエージェントを示すために使用されます。to_agent_custom_id: あるエージェントから別のエージェントに電話やチャットを転送する際に、転送先のエージェントを示すために使用されます。省略可。to_agent_email: あるエージェントから別のエージェントに電話やチャットを転送するときに、転送先のエージェントを示すために使用されます。from_queue_id: あるキューから別のキューに電話やチャットを転送する際に、元のキューを示すために使用されます。from_queue_path: あるキューから別のキューに電話やチャットを転送する際に、元のキューを示すために使用されます。to_queue_id: あるキューから別のキューに電話やチャットを転送する際に、転送先のキューを示すために使用されます。to_queue_path: あるキューから別のキューに電話やチャットを転送するときに、転送先のキューを示すために使用されます。virtual_agent_id: 仮想エージェントに割り当てられた ID。省略可。va_data_parameters: キューで構成されたすべての変数を仮想エージェントに送信します。これは、バーチャル エージェントが関与するイベントにのみ必要です。省略可。(
session_variable: ペイロードで CCAI Platform に送信される仮想エージェントのすべての変数。省略可。custom_sip_headers: 受信した SIP 通話のカスタム SIP ヘッダーを POST イベントログに表示できるようにします。カスタム SIP ヘッダーを使用する場合にのみ必要です。省略可。custom_data_secured: セキュアな SDK カスタムデータの送信を許可します。省略可。custom_data_not_secured: 保護されていない SDK カスタムデータの送信を許可します。省略可。
転送イベントの例を次に示します。
{
"type": "Transfer_Chat",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"from_agent_id": 1,
"from_agent_custom_id": "007",
"from_agent_email": "Ira@example.com",
"to_agent_id" : 5
"to_agent_custom_id": "100"
"to_agent_email" : "ariel@example.com"
"from_queue_id": 8469,
"from_queue_path": "Developers / Ariel",
"to_queue_id" : 1234,
"to_queue_path" : "Schemes / Auric"
}
}
Party added
パーティ追加イベントは、転送を意味します。通話転送またはチャット転送のいずれかになります。
参加者追加イベントには、次のデータが含まれます。
chat_idまたはcall_id: 通話またはチャット セッションを識別します。session_type: 作成されるセッションのタイプ(ウェブチャット経由のメッセージング インバウンドなど)を示しますagent_custom_id: このフィールドは、エージェントのプロファイルにカスタム ID が含まれている場合にのみ存在します。省略可。agent_email: 通話またはチャット セッションを処理するエージェントのメールアドレス。queue_id: チャット セッションの送信元キューの ID。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。queue_path: チャット セッションの送信元となったキューのパス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。campaign_id: キャンペーンの ID。このフィールドは、通話タイプがキャンペーン通話の場合にのみ含まれます。省略可。campaign_name: キャンペーンの名前。このフィールドは、通話タイプがキャンペーン通話の場合にのみ含まれます。省略可。type: 参加者のタイプ(end_user や agent など)。このフィールドは、/api/v1/callsまたは/api/v1/chatsレスポンスの participants.type の一部として返されます。end_user_id: end_user_id。このフィールドは、/api/v1/callsまたは/api/v1/chatsレスポンスの一部として返されます。このフィールドは、エンドユーザーの通話またはチャットがエージェント間で転送された場合にのみ存在し、転送先のエージェントを示します。省略可。virtual_agent_id: 仮想エージェントに割り当てられた識別子。省略可。va_data_parameters: キューで構成されたすべての変数を仮想エージェントに送信します。これは、バーチャル エージェントが関与するイベントにのみ必要です。省略可。session_variable: ペイロードで CCAI Platform に送信される仮想エージェントのすべての変数。省略可。custom_sip_headers: これにより、着信 SIP 通話のカスタム SIP ヘッダーが POST イベントログに表示されます。カスタム SIP ヘッダーを使用する場合にのみ必要です。省略可。custom_data_secured: セキュアな SDK カスタムデータの送信を許可します。省略可。custom_data_not_secured: 保護されていない SDK カスタムデータの送信を許可します。省略可。
Party_Added イベントの例を次に示します。
{
"type": "Party_Added",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"type" : "agent"
}
}
エージェントがセッションに接続する
エージェントがセッションに接続すると、エージェントがセッションに接続したイベントが発生します。イベントには 2 種類あります。タイプは、通話かチャットかによって決まります。
次のイベント フィールドは、エージェントがセッションに接続するイベントの一部です。
agent_id: 通話またはチャット セッションを処理するエージェントを識別します。agent_email: 通話またはチャット セッションを処理するエージェントのメールアドレス。agent_custom_id: このフィールドは、エージェントのプロファイルにカスタム ID が含まれている場合にのみ存在します。省略可。chat_idまたはcall_id: 通話またはチャット セッションを識別します。virtual_agent_id: 特定の仮想エージェントに割り当てられた ID。省略可。campaign_id: キャンペーンの ID。このフィールドは、通話タイプがキャンペーン通話の場合にのみ含まれます。省略可。campaign_name: キャンペーンの名前。このフィールドは、通話タイプがキャンペーン通話の場合にのみ含まれます。省略可。queue_id: チャット セッションの送信元キューの ID。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。queue_path: チャット セッションの送信元となったキューのパス。このフィールドは、チャットがキューから開始された場合にのみ含まれます。省略可。session_type: 作成されるセッションのタイプ(ウェブチャット経由のメッセージング インバウンドなど)を示します。virtual_agent_id: 仮想エージェントに割り当てられた ID。省略可。va_data_parameters: キューで構成されたすべての変数を仮想エージェントに送信します。これは、バーチャル エージェントが関与するイベントにのみ必要です。省略可。session_variable: ペイロードで UJET に送信される仮想エージェントのすべての変数。省略可。custom_sip_headers: これにより、着信 SIP 通話のカスタム SIP ヘッダーが POST イベントログに表示されます。カスタム SIP ヘッダーを使用する場合にのみ必要です。省略可。custom_data_secured: セキュアな SDK カスタムデータの送信を許可します。省略可。custom_data_not_secured: 保護されていない SDK カスタムデータの送信を許可します。省略可。
Agent_Joined_Chat イベントデータの例を次に示します。
{
"type": "Agent_Joined_Chat",
"data": {
"chat_id": 103646,
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"session_type": "Messaging Inbound (SMS)",
}
}
エージェントのログアウト
エージェント ログアウト イベントは、エージェントがエージェント アダプタからログアウトしたときに発生します。
次のイベント フィールドは Agent_Logout イベントの一部です。
agent_id: ログインしたエージェントの識別子agent_email: エージェント アカウントに関連付けられたメールアドレスagent_custom_id: エージェントのプロフィールに入力されている場合、エージェントのカスタム ID。省略可。
Agent_Logout イベントの例を次に示します。
{
"type": "Agent_Logout",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
}
}
Agent Assist が開始されました
エージェントが通話またはチャット セッション中に Agent Assist を有効にすると、Agent Assist 開始イベントが発生します。
Agent_Assist_Started イベントの例を次に示します。
{
"type": "Agent_Assist_Started",
"data": {
"conversation_id": "12345",
"queue_id": "65",
"agent_id": "1",
"session_id": "78534G4RT4284",
"queue_language_id": "en",
"timestamp": "12:45:15"
}
}
イベント フィールドは次のとおりです。
conversation_id: 会話 IDqueue_id: キュー IDagent_id: エージェントの識別子session_id: セッション IDqueue_language_id: キューの言語timestamp: タイムスタンプ
バックグラウンドの画面ポップ
画面ポップアップ機能により、エージェントは CRM 画面ポップアップをバックグラウンドで実行できます。つまり、エージェントが操作しなくても、お客様の情報がエージェントの画面に表示されます。これにより、消費者のエクスペリエンスが向上し、エージェントの処理時間が短縮されます。
CRM レコードのポップアップ
イベント CRM_Record_Pop は、チケットをポップアップする必要があるときにトリガーされるサーバーサイド イベントです。このイベントには、CRM レコードの URL を含む recordUrl というパラメータが含まれています。埋め込みアダプタを使用している場合は、POST イベントをサブスクライブすることで、画面ポップアップを実行できます。
この目的を達成するために、次の例では、別のフレームまたはウィンドウから送信されたメッセージをリッスンするイベント リスナーを追加する方法を示します。このコード スニペットは、異なるフレームまたはウィンドウ間の通信を可能にし、受信したメッセージに基づいて iframe に表示されるコンテンツを動的に更新できるように設計されています。
// name is the html property of the iframe
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')
// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
try {
const data = JSON.parse(e.data)
const type = data.type
console.log('EventListener: ', JSON.stringify(data))
if (type === 'CRM_Record_Pop') {
const recordUrl = data.data.recordUrl
if (!recordUrl) {
return
}
console.log(`Opening <strong>recordUrl</strong> in iframe <strong>${iframeTarget.getAttribute('name')}</strong>`)
// changing an iframe target to the record URL pop
iframeTarget.src = recordUrl
} else if (type === 'New_Chat') {
console.log(`<strong>Chat started...</strong>`)
// handling here for new_chat events
} else if (type === 'End_Chat') {
console.log(`<strong>Chat ended...</strong>`)
// handling here for end_chat events
} if (.... //other event types) {
// code handling for other types
}else {
console.log(JSON.stringify(data))
}
} catch (e) {
log(e, true)
}
}, false)