> For the complete documentation index, see [llms.txt](https://library.zoom.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://library.zoom.com/technical-library/ja/bijinesusbisu/zoom-contact-center/expert-insights/integrate-engagement-data.md).

# エンゲージメントデータを統合する

### 概要

Zoom コンタクトセンターは、通話レコーディング、文字起こし、エージェントメモ、応対結果など、すべての顧客とのやり取りの中で価値の高いエンゲージメントデータを生成します。読み進めて、外部システム（たとえば、CRM やその他のレコーディング用システム）にエンゲージメントデータを保存し、統合された顧客ビューを作成し、効果的なエージェントコーチングを有効にし、Zoom コンタクトセンターを使用する際のコンプライアンス要件を満たす方法を確認しましょう。

エージェントがより効率的に作業できる方法に応じて最適なアプローチを選択できるよう、さまざまな連携方法を解説します。

最適な方法は、主に 1 つの重要な要素に左右されます: **エージェントがやり取りを処理しているアプリケーション**。ご紹介する 2 つの選択肢は次のとおりです:

1. CRM 内で標準の ZCC CRM CTI コネクタを使用するエージェント。
2. Zoom Workplace アプリで作業するエージェント。これには、ZCC API と Webhook を使ったカスタムソリューションが必要です。

***

### 標準の CRM CTI コネクタ連携

これが最もシンプルな方法です。エージェントが ZCC CRM CTI コネクタを使用している場合、ほとんどのエンゲージメントデータは Zoom プラットフォームと適切な CRM の間で自動的に同期できます。

#### <mark style="color:青;">仕組み</mark>

CTI コネクタは、ZCC エージェントインターフェースを CRM に直接埋め込みます。対応が終了すると、レコーディング、文字起こし、メモ、対応内容などのデータが Zoom 内に自動的に保存され、CRM 内の関連するレコーディング（たとえば、チケットまたは連絡先）にリンクされます。

#### <mark style="color:青;">セットアップ要件</mark>

Zoom と CRM 間のデータ同期を許可する機能は「標準搭載」ですが、ZCC 管理ポータル内での有効化が必要です。

次の手順を完了します:

{% stepper %}
{% step %}
**ZCC 管理ポータルで有効にする**

Zoom 管理ポータルに管理者としてログインし、コンタクトセンター管理 > 連携 > アプリケーション に移動します。

関連する CRM 連携を見つけ、CRM 内でのデータ保存を許可するために適切な設定を有効にします。
{% endstep %}

{% step %}
**CRM 権限**

次を確認し、従ってください: [CRM 連携 セットアップガイド](https://support.zoom.com/) これにより、CRM 連携ユーザーが関連するすべてのオブジェクトに対して必要な書き込み権限を持っていることを確認してください。
{% endstep %}
{% endstepper %}

#### <mark style="color:青;">対応している CRM プラットフォーム</mark>

この機能は、エージェントが以下の CRM を使用する場合、ZCC CRM CTI コネクタを通じて利用できます:

* Salesforce
* Zendesk
* ServiceNow
* Microsoft Dynamics
* HubSpot

CRM CTI コネクタを使用すると、特別な設定は不要で、連携はエンゲージメントデータをデフォルトで CRM に保存します。

***

### API によるカスタム連携

エージェントがネイティブの Zoom Workplace アプリまたは ZCC Smart Embed を使用している場合、エンゲージメントデータを転送するにはカスタムソリューションが必要です。これを行う主な方法は、Zoom コンタクトセンター API を使用することです。

API を通じてエンゲージメントデータにアクセスする主な方法は 2 つあります:

* **ポーリング:** 新しいエンゲージメントデータがオンラインかどうかを確認するために、定期的に Zoom API を照会します。
* **Webhook:** 文字起こしが準備できしだい、Zoom からリアルタイムの通知を受け取ります。

別の 3 つ目の方法もあります、 **Flow Events 連携**、これは特定のデータ型で機能します。

#### <mark style="color:青;">Zoom コンタクトセンター API の投票（ポーリング）</mark>

エンゲージメント データをダウンロードするには、適切な ZCC API エンドポイントをクエリする必要があります。データの種類ごとに異なる API から取得されるため、関連する各エンドポイントに対して投票（ポーリング）ロジックを構築する必要があるでしょう。

Reports V2（CX 分析）内の多くのエンゲージメント関連 API は、次を使用した終了時刻フィルタリングを現在サポートしています `end_time_from` および `end_time_to`。これらのパラメータがオンラインで利用できる場合は、投票（ポーリング）ジョブが実際に終了した時点に基づいてエンゲージメントを取得できるよう、これらを優先してください。エンゲージメントの完全なデータ（報告 V2 データを含む）はエンゲージメント終了時に確定するため、これにより取得漏れのレコードを減らすことができます。

| このデータを取得するには...                             | この API を投票（ポーリング）する...                                                                                                                                                                                                                                                                                                                  | このフィールドの使用...  | 注記:                             |
| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------- |
| <p>レコーディングメディアファイル</p><p>（音声およびビデオチャネル）</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/get/contact_center/recordings">レコーディング一覧</a> または</p><p>エンゲージメントレコーディング一覧</p>                                                                                                                                                                             | `download_url` | キューでコールレコーディングが有効になっている必要があります。 |
| <p>レコーディング文字起こし</p><p>（音声およびビデオチャネル）</p>    | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">レコーディング一覧</a> または</p><p>エンゲージメントレコーディング一覧</p>                                                                                                                                                                             | `文字起こし_url`    | 文字起こしが有効になっているコールレコーディングが必要です。  |
| <p>文字起こし</p><p>(メッセージ チャネル)</p>             | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">エンゲージメントを取得</a> または</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">過去のエンゲージメントログデータを一覧表示</a></p> | `文字起こし_url`    | 文字起こしはメッセージ チャネルでデフォルトで有効です。    |
| <p>ディスポジション</p><p>(すべてのチャネル)</p>            | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">エンゲージメントを取得</a> または</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">過去のエンゲージメントログデータを一覧表示</a></p> | `ディスポジション`     | 処理オブジェクトの配列。                    |
| <p>メモ</p><p>(すべてのチャネル)</p>                  | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">エンゲージメントを取得</a> または</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">過去のエンゲージメントログデータを一覧表示</a></p> | `メモ`           | メモオブジェクトの配列。                    |
| <p>ボイスメールメディアファイル</p><p><br><br></p>        | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">アカウントの受信箱メッセージを一覧表示する</a> <strong>または</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">受信箱のメッセージを一覧表示する</a></p>                  | `download_url` | コンタクトセンターの受信箱に残されたボイスメール向け。     |
| ボイスメール文字起こし                                 | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">アカウントの受信箱メッセージを一覧表示する</a> <strong>または</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">受信箱のメッセージを一覧表示する</a></p>                  | `文字起こし_url`    | 受信箱で文字起こしを有効にする必要があります。         |

{% hint style="danger" %}
**警告**

ダウンロード URL (`download_url`, `文字起こし_url`, `playback_url`、など）これらのZoom APIによって提供されるものは **ありません** 公開リンクではありません。これらはプログラムからのアクセス用に設計されており、関連ファイルをダウンロードするにはAPI認証（たとえば、Authorization ヘッダー内のアクセス トークン）が必要です。

これは次を意味します：

* これらの URL をユーザーがクリックできるように CRM に直接保存することはできません。ユーザーがブラウザでリンクをクリックしても認証されず、ダウンロードは失敗します。
* 正しい方法は、バックエンドサービスがその URL を使ってファイルを取得することです。その後、サービスはそのファイルを独自のシステム（たとえば Amazon S3、Azure Blob Storage、または CRM のファイルストレージ）に保存し、そこからユーザーに安全なリンクを提供できます。
  {% endhint %}

{% hint style="warning" %}
**ご注意**

**処理遅延 - 音声とビデオの録画:**

このデータは、通話が終了した瞬間には利用できません。まずオーディオを処理してアップロードする必要があり、長い通話では数分かかることがあります。録画を見逃さないようにするには、 `query_date_type` を `recording_end_time` に設定して、録音一覧 API をポーリングしてください。これにより、通話が終了した時点ではなく、処理が完了した時点に基づいてデータが取得されます。

Reports V2 (CX 分析) のエンゲージメント中心の照合ジョブでは、 `end_time_from` および `end_time_to` と重複する時間ウィンドウを使用して、遅延処理や一時的な配信問題に対する安全バッファを確保してください。
{% endhint %}

Zoom コンタクトセンター API の詳細については、 [コンタクトセンター API](https://developers.zoom.us/docs/api/contact-center/) ドキュメント。

#### <mark style="color:青;">リアルタイムイベントにはWebhookを使用する</mark>

より即時性の高いイベント駆動型のアプローチとして、ZCC の Webhook を購読できます。これは、ほぼリアルタイムの連携に最も効率的な方法です。

**仕組み**

1. Zoom App Marketplaceで適切なイベントを購読してください。
2. イベントが発生すると、Zoom はあなたの Webhook URL（または Websocket 接続）に通知を送信します。
3. イベントのペイロードには、必要なデータが直接、またはフォローアップのAPI通話用のURL/IDとして含まれています。

**エンゲージメントデータの一般的なWebhookイベント**

* **エンゲージメント終了データの準備ができました:** 連絡先\_center.cx\_engagement\_end\_data\_ready（エンゲージメント終了報告 V2 データを取得できる状態であることを示します）
* **音声/ビデオ録画:** 連絡先\_center.recording\_completed (〜を提供する `download_url`)
* **音声/ビデオ 文字起こし:** 連絡先\_center.recording\_文字起こし\_completed (〜を提供する `文字起こし_url`)
* **メッセージ 文字起こし:** 連絡先\_center.engagement\_メッセージ\_文字起こし\_completed (〜を提供する `文字起こし_url`)
* **注記:** 連絡先\_center.engagement\_note\_added (〜を提供する `メモ` メモデータを含むフィールド)
* **処理:** 連絡先\_center.engagement\_処理\_added (〜を提供する `処理_name` 処理データを含むフィールド)

**推奨パターン: エンゲージメントデータの準備ができたら取得をトリガーする**

受信したら `連絡先_center.cx_engagement_end_data_ready`、それを、そのエンゲージメントのエンゲージメント終了報告 V2 データが完了したことを示す合図として扱ってください。その時点で、Historical Engagement log data API およびその他の関連 API を通話し、最終データセットを収集してください。このイベントでは、 `engagement_id` を検索キーとして使用し、その後、必要なエンドポイントから完全なエンゲージメント成果物を取得します。

{% hint style="warning" %}
**ご注意**

* **複数のイベントに注意してください:** その `メモ追加` および `処理追加` イベントは、1つのエンゲージメントに対して複数回発火することがあります（たとえば、エージェントが複数のメモを保存した場合や、通話が転送された場合など）。アプリケーションのロジックは、これに対応できる必要があります。
* **冗長性を組み込む:** イベント配信は常に100%保証されるわけではありません（たとえば、エンドポイントやWebSocket接続が一時的にダウンしている可能性があります）。
* **バックアップ戦略:** ポーリング API を使用して照合スクリプトを実行することを推奨します `end_time_from` および `end_time_to` 見逃したイベントを検出し、データのギャップを埋めるためのウィンドウ。
  {% endhint %}

Zoom コンタクトセンターの Webhook/WebSocket イベントの詳細については、参照してください [コンタクトセンター Webhook](https://developers.zoom.us/docs/api/contact-center/events/) ドキュメント。

#### <mark style="color:青;">フロー イベント 連携</mark>

特定のデータ型については、JavaScript イベントスクリプトを使用して、ZCC Flow エディタから外部システムにデータを直接プッシュできます。

**サポートされるデータと制限：**

* **処理:** 次の方法を使用して、すべての着信エンゲージメント チャネル タイプでアクセスできます。 `global_system.Engagement.処理` 変数。
* **文字起こし：** 次の方法を使用する、着信メッセージ エンゲージメント（たとえば、Web チャット）のみでアクセスできます。 `global_system.Engagement.文字起こし` 変数。
* **複数のフロー：** 設定内で複数のフローを扱う場合、特に1つのフローが `RouteTo` ウィジェットを使って別のフローに接続する場合、同一のイベントスクリプトとトリガーがすべてのフローで適切に設定されていることを確認することが重要です。

この方法はメッセージ フローで最も効果を発揮し、1つのイベントで文字起こしと処理の両方をまとめることができます。

**設定手順**

次の手順に従ってフローを設定します:

{% stepper %}
{% step %}
**イベントスクリプトを追加する**

ZCC フロー（たとえば、Web チャット フロー）で、Start ウィジェットをクリックします。

イベントスクリプトを見つけて、Engagement Closed および/または処理 Saved などのイベント用にイベントスクリプトを追加します。

<div align="left"><figure><img src="/files/c1bfa5ec8db522bd96d4c5bd8ed7facb8ae331d1" alt="Flow screen showing a welcome message and events."><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**独自の JavaScript を追加する**

以下の例では、処理と文字起こしの両方を取得し、それらをまとめて外部 API に送信します。

```javascript
async function main () { 
  try {
    // 変数から処理オブジェクトを取得します
    const 処理_data = var_get()['global_system.Engagement.処理'];
    
    // 完全な文字起こしオブジェクトを取得します
    const 文字起こし_data = await req.get(var_get()['global_system.Engagement.文字起こし']);

    // 送信したいすべてのデータを含むペイロードを準備します
    const payload_to_send = {
      処理: 処理_data.data.result,
      文字起こし: 文字起こし_data.data.result.文字起こし
    };

    // データの送信先を定義します
    const external_api_url = '<あなたのAPIエンドポイントに置き換えてください>';
    
    // 結合したデータを外部システムに送信します
  	const response = await req.post(external_api_url, payload_to_send);
    
    // トラブルシューティングのために外部システムからの応答を記録します
    log.debug("外部 API の応答: " + JSON.stringify(response.data));
    
  } catch (error) {
    log.debug("文字起こしイベントスクリプトでエラーが発生しました: " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### 要約と推奨事項

エージェントのワークフローと技術リソースに最も合う連携方法を選択してください。

| エージェントが次を使用している場合...              | その場合、最適な選択肢は...                    | 主な考慮事項:                                                                                                                                                                                                  |
| --------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| サポート対象の CRM にある ZCC CTI コネクタ      | 組み込みの連携                            | <ul><li>最も簡単な方法</li><li>コードは不要</li><li>エンゲージメントデータの同期は組み込みです</li></ul>                                                                                                                                   |
| Zoom Workplace アプリまたは Smart Embed | API Webhook と終了時刻でフィルタリングしたポーリング突合 | <ul><li>使用 <code>連絡先\_center.cx\_engagement\_end\_data\_ready</code> を取得トリガーとして</li><li>次に <code>end\_time\_from</code>/<code>end\_time\_to</code> ウィンドウ</li><li>効率を向上させながら、見逃したエンゲージメントを減らします</li></ul> |
| 着信メッセージフロー（およびデータをプッシュする必要がある場合）  | フローイベントスクリプト                       | <ul><li>ニッチですが強力</li><li>JavaScript が必要です</li><li>メッセージの書き起こしと対応結果の送信に最適です</li></ul>                                                                                                                     |

これらのさまざまな経路を理解することで、顧客とのやり取りを完全に把握できる、堅牢で信頼性の高い連携を構築できます。イベントでトリガーされる取得と終了時刻でフィルタした照合を組み合わせることで、完全性を向上させながら不要な API 呼び出しを削減できます。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://library.zoom.com/technical-library/ja/bijinesusbisu/zoom-contact-center/expert-insights/integrate-engagement-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
