# Intégrer les données d'engagement

### Vue d'ensemble

Zoom Centre de contact génère des données d'engagement précieuses lors de chaque interaction client, y compris les enregistrements d'appel, les transcriptions, les notes des agents et les statuts. Continuez votre lecture pour découvrir comment stocker les données d'engagement dans des systèmes externes (par exemple, CRM et autres systèmes d'enregistrement) afin de créer une vue client unifiée, Activer un coaching efficace des agents, ou répondre aux exigences de conformité lors de l'utilisation de Zoom Centre de contact.

Nous allons détailler les différentes méthodes d'Intégrations pour vous aider à choisissez la meilleure approche en fonction de la manière dont vos agents peuvent travailler avec une efficacité accrue.

La meilleure méthode dépend principalement d'un facteur clé : **l'application dans laquelle les agents gèrent leurs interactions**. Les deux options que nous allons aborder sont :

1. Des agents utilisant le Connecteur CRM CTI ZCC prêt à l'emploi au sein du CRM.
2. Des agents travaillant dans l'application Zoom Workplace, ce qui nécessite une solution personnalisée avec les API ZCC et les webhooks.

***

### Intégrations du Connecteur CRM CTI prêt à l'emploi

C'est la méthode la plus simple. Si vos agents utilisent un Connecteur CRM CTI ZCC, la plupart des données d'engagement peuvent être synchronisées automatiquement entre la plateforme Zoom et le CRM approprié.

#### <mark style="color:bleu;">Fonctionnement</mark>

Le Connecteur CTI intègre l’interface de l’agent ZCC directement dans le CRM. Lorsqu’un engagement se termine, des données telles que les enregistrements, les transcriptions, les notes et les dispositions sont automatiquement enregistrées dans Zoom et liées au contact pertinent (par exemple, un ticket ou un contact) dans votre CRM.

#### <mark style="color:bleu;">Exigences de configuration</mark>

La fonctionnalité qui permet la synchronisation des données entre Zoom et le CRM est fournie « prête à l’emploi », mais nécessite une activation dans le portail administrateur ZCC.

Effectuez les étapes suivantes :

{% stepper %}
{% step %}
**Activer dans le portail administrateur ZCC**

Connectez-vous au portail administrateur Zoom en tant qu’administrateur et accédez à Gestion du centre de contact > Intégrations > Applications.

Trouvez l’Intégrations CRM pertinente et activez les Paramètres appropriés pour Autoriser le stockage des données dans votre CRM.
{% endstep %}

{% step %}
**Autorisations CRM**

Examinez et suivez les [guides de configuration des Intégrations CRM](https://support.zoom.com/) pour vérifier que votre utilisateur d’intégration CRM dispose des autorisations d’écriture nécessaires pour tous les objets concernés.
{% endstep %}
{% endstepper %}

#### <mark style="color:bleu;">Plateformes CRM prises en charge</mark>

Cette fonctionnalité est accessible via le ZCC CRM CTI Connecteur lorsque les agents utilisent les CRM suivants :

* Salesforce
* Zendesk
* ServiceNow
* Microsoft Dynamics
* HubSpot

Avec les connecteurs CTI CRM, aucune configuration spéciale n’est requise, et l’Intégrations enregistrera les données d’engagement dans le CRM par défaut.

***

### Intégrations personnalisées via des API

Si vos agents utilisent l'application native Zoom Workplace ou ZCC Smart Embed, vous aurez besoin d'une solution personnalisée pour transférer les données d'engagement. La principale façon de le faire est avec les API Zoom du centre de contact.

Il existe deux approches principales pour accéder aux données d'engagement via l'API :

* **Interrogation :** Interrogez périodiquement l'API Zoom pour voir si de nouvelles données d'engagement sont Disponible.
* **Webhooks :** Recevez une Notification en temps réel de Zoom dès qu'une transcription est prête.

Il existe également une troisième approche, **Intégrations Flow Events**, ce qui fonctionne pour certains types de données.

#### <mark style="color:bleu;">Sondage des API du centre de contact Zoom</mark>

Pour télécharger des données d’engagement, vous devez interroger les points de terminaison API ZCC appropriés. Il est important de noter que différents types de données proviennent de différentes API, vous devrez donc probablement créer une logique de sondage pour chaque point de terminaison pertinent.

| Pour obtenir ces données...                                            | Sondage de cette API...                                                                                                                                                                                                                                                                                                                                                              | En utilisant ce champ... | Remarques :                                                                        |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ | ---------------------------------------------------------------------------------- |
| <p>Fichier multimédia d’enregistrement</p><p>(Canal voix et vidéo)</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">Lister les enregistrements</a> ou</p><p>Lister les enregistrements de la file d'attente</p>                                                                                                                                                                            | `download_url`           | Nécessite que l'enregistrement d'appel soit activé pour la file d'attente.         |
| <p>Transcription de l'enregistrement</p><p>(Canal voix et vidéo)</p>   | [Lister les interactions](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                        | `transcription_url`      | Nécessite l'enregistrement d'appel avec transcription activée.                     |
| <p>transcription</p><p>(Canal de messagerie)</p>                       | [Lister les interactions](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                        | `transcription_url`      | La transcription est activée par défaut pour les canaux de messagerie.             |
| <p>Dispositions</p><p>(Tous les canaux)</p>                            | [Lister les interactions](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                        | `dispositions`           | Un tableau d'objets de disposition.                                                |
| <p>Notes</p><p>(Tous les canaux)</p>                                   | [Lister les interactions](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                        | `notes`                  | Un tableau d'objets de note.                                                       |
| <p>Fichier multimédia de messagerie vocale</p><p><br><br></p>          | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Lister les messages de la boîte de réception d'un compte</a> <strong>ou</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Lister les messages d’une boîte de réception</a></p> | `download_url`           | Pour les messages vocaux laissés dans une boîte de réception du centre de contact. |
| Transcription de messagerie vocale                                     | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Lister les messages de la boîte de réception d'un compte</a> <strong>ou</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Lister les messages d’une boîte de réception</a></p> | `transcription_url`      | Nécessite que la transcription soit activée pour la boîte de réception.            |

{% hint style="danger" %}
**Avertissement**

Les URL de téléchargement (`download_url`, `transcription_url`, `playback_url`, et ainsi de suite) fournies par ces API Zoom sont **pas** pas des liens publics. Elles sont conçues pour un accès programmatique et nécessitent une authentification API (par exemple, un jeton d’accès dans l’en-tête Authorization) pour télécharger le fichier associé.

Cela signifie :

* Vous ne pouvez pas enregistrer ces URL directement dans un CRM pour qu’un utilisateur clique dessus. Un utilisateur qui clique sur le lien dans son navigateur ne sera pas authentifié, et le téléchargement échouera.
* La méthode correcte consiste à faire en sorte que votre service backend utilise l’URL pour récupérer le fichier. Votre service peut ensuite stocker le fichier dans votre propre système (comme Amazon S3, Azure Blob Storage ou le stockage de fichiers de votre CRM) et fournir ensuite à vos utilisateurs un lien sécurisé depuis cet emplacement.
  {% endhint %}

{% hint style="warning" %}
**Attention**

**Retards de traitement - Enregistrements audio et vidéo :**

Ces données ne sont pas disponibles dès qu’un appel se termine. L’audio doit d’abord être traité et téléversé, ce qui peut prendre plusieurs minutes pour les longs appels. Pour vous assurer de ne manquer aucun enregistrement, définissez le `query_date_type` paramètre sur `recording_end_time` lors de l’interrogation de l’API List recordings. Cela récupère les données en fonction du moment où le traitement s’est terminé, et non du moment où l’appel s’est terminé.
{% endhint %}

Pour plus d'informations sur les API du centre de contact Zoom, voir [API du centre de contact](https://developers.zoom.us/docs/api/contact-center/) documentation.

#### <mark style="color:bleu;">Utiliser les webhooks pour les événements en temps réel</mark>

Pour une approche plus immédiate, axée sur les événements, vous pouvez vous abonner aux webhooks ZCC. C’est la méthode la plus efficace pour des Intégrations quasi en temps réel.

**Fonctionnement**

1. Abonnez-vous aux événements appropriés dans Zoom App Marketplace.
2. Lorsqu’un événement se produit, Zoom envoie une Notification à l’URL de votre webhook (ou à votre connexion WebSocket).
3. La charge utile de l’événement contient les données dont vous avez besoin, soit directement, soit sous forme d’URL/ID pour un appel API de suivi.

**Événements webhook courants pour les données d’engagement**

* **Enregistrement vocal/vidéo :** contact\_center.recording\_completed (fournit un `download_url`)
* **Transcription vocale/vidéo :** contact\_center.recording\_transcription\_completed (fournit un `transcription_url`)
* **Transcription de messagerie :** contact\_center.engagement\_messagerie\_transcription\_completed (fournit un `transcription_url`)
* **Remarques :** contact\_center.engagement\_note\_added (fournit un `note` champ avec les données de la note)
* **Disposition :** contact\_center.engagement\_disposition\_added (fournit un `disposition_name` champ avec les données de disposition)

{% hint style="warning" %}
**Attention**

* **Soyez conscient de plusieurs événements :** Le `note_added` et `disposition_added` événements peuvent se déclencher plusieurs fois pour un même engagement (par exemple, si un agent enregistre plusieurs notes ou si un appel est transféré). La logique de votre application doit être capable de gérer cela.
* **Prévoyez une redondance :** La livraison des événements n'est pas toujours garantie à 100 % (par exemple, votre point de terminaison ou votre connexion websocket peut être temporairement hors service).
* **Stratégie de sauvegarde :** Nous vous recommandons d’exécuter chaque nuit un script de rapprochement à l’aide des API de sondage afin de détecter les événements manqués.
  {% endhint %}

Pour plus d’informations sur les événements webhook/websocket du centre de contact Zoom, voir [Webhooks du centre de contact](https://developers.zoom.us/docs/api/contact-center/events/) documentation.

#### <mark style="color:bleu;">Intégrations des événements de flux</mark>

Pour certains types de données, vous pouvez envoyer des données directement vers un système externe à partir de l’éditeur de flux ZCC à l’aide d’un script d’événement JavaScript.

**Données prises en charge et limitations :**

* **Disposition :** Peut être consulté sur tous les types de canal d’engagement entrant à l’aide de la `global_system.Engagement.disposition` variable.
* **Transcription :** Accessible uniquement pour les engagements de messagerie entrants (par exemple, chat Web) à l’aide de la `global_system.Engagement.transcription` variable.
* **Flux multiples :** Lorsque vous travaillez avec plusieurs Flux dans votre configuration, en particulier lorsqu’un Flux utilise le `RouteTo` widget pour se connecter à un autre Flux, il est essentiel de veiller à ce que des scripts d’événement et des déclencheurs identiques soient correctement configurés sur tous les Flux.

Cette méthode est la plus puissante dans un Flux de messagerie, où vous pouvez combiner à la fois la transcription et la disposition dans un seul événement.

**Étapes de configuration**

Suivez ces étapes pour configurez votre flux :

{% stepper %}
{% step %}
**Ajout d’un script d’événement**

Dans votre ZCC Flow (par exemple, un flow Web chat), cliquez sur le widget Start.

Localisez les scripts d'événement et faites un ajout d’un script d'événement pour des événements, tels que Engagement Closed et/ou Disposition Saved.

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

{% step %}
**ajout de votre JavaScript personnalisé**

L’exemple ci-dessous récupère à la fois la disposition et la transcription, puis les envoie ensemble à une API externe.

```javascript
fonction asynchrone main () { 
  try {
    // Obtenir l'objet disposition à partir de sa variable
    const disposition_data = var_get()['global_system.Engagement.disposition'];
    
    // Obtenir l'objet transcription complet
    const transcription_data = await req.get(var_get()['global_system.Engagement.transcription']);

    // Préparez une charge utile avec toutes les données que vous souhaitez envoyer
    const payload_to_send = {
      disposition: disposition_data.data.result,
      transcription : transcription_data.data.result.transcription
    };

    // Définissez la destination de vos données
    const external_api_url = '<remplacez-ici-le-point de terminaison de votre API>';
    
    // Envoyez les données combinées à votre système externe
  	const response = await req.post(external_api_url, payload_to_send);
    
    // Consigner la réponse du système externe à des fins de dépannage
    log.debug("Réponse de l’API externe : " + JSON.stringify(response.data));
    
  } catch (error) {
    log.debug("Une erreur s’est produite dans le script de l’événement de transcription : " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### Résumé et recommandations

Choisissez la méthode d’Intégrations qui correspond le mieux à votre flux de travail d’agent et à vos ressources techniques.

| Si vos agents utilisent...                                       | Alors votre meilleure option est...                                    | Points clés à prendre en compte :                                                                                                                               |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Le Connecteur ZCC CTI dans un CRM pris en charge                 | Les Intégrations intégrées                                             | <ul><li>Chemin le plus simple</li><li>Aucun code requis</li><li>La Synchroniser des données d’engagement est intégrée</li></ul>                                 |
| L’application Zoom Workplace ou l’intégration Smart Embed        | Webhooks API avec une tâche de sondage nocturne pour la réconciliation | <ul><li>Solution personnalisée la plus robuste</li><li>Fournit des données en temps quasi réel avec un processus de sauvegarde fiable</li></ul>                 |
| Un flux de messagerie entrant (et besoin de pousser des données) | Scripts d’événement de flux                                            | <ul><li>De niche, mais puissant</li><li>Nécessite JavaScript</li><li>Fonctionne mieux pour l’envoi de transcriptions de messagerie et de dispositions</li></ul> |

En comprenant ces différents chemins, vous pouvez créer une Intégrations robuste et fiable qui vous offre une vue complète de vos interactions client.


---

# Agent Instructions: 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:

```
GET https://library.zoom.com/technical-library/fr/affaires-services/zoom-contact-center/expert-insights/integrate-engagement-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
