> 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/it/servizi-business/zoom-contact-center/expert-insights/integrate-engagement-data.md).

# Integrare i dati di coinvolgimento

### Panoramica

Zoom centro di contatto genera dati di engagement preziosi durante ogni interazione con il cliente, incluse le registrazioni di chiamare, le trascrizioni, le note degli agenti e le disposizioni. Continua a leggere per scoprire come archiviare i dati di engagement in sistemi esterni (ad esempio, CRM e altri sistemi per registrare) per creare una vista unificata del cliente, Abilita un coaching efficace degli agenti o soddisfa i requisiti di conformità quando utilizzi Zoom centro di contatto.

Analizzeremo i diversi metodi di Integrazioni per aiutarti a Scegli il miglior approccio in base a come i tuoi agenti possono lavorare con maggiore efficienza.

Il metodo migliore dipende principalmente da un fattore chiave: **l'applicazione in cui gli agenti gestiscono le loro interazioni**. Le due opzioni che discuteremo sono:

1. Agenti che utilizzano il Connettore CTI CRM ZCC già pronto all'uso all'interno del CRM.
2. Agenti che lavorano nell'app Zoom Workplace, che richiede una soluzione personalizzata con le API ZCC e i webhook.

***

### Integrazioni del Connettore CTI CRM pronto all'uso

Questo è il metodo più semplice. Se i tuoi agenti utilizzano un Connettore CTI CRM ZCC, la maggior parte dei dati di engagement può essere sincronizzata automaticamente tra la piattaforma Zoom e il CRM appropriato.

#### <mark style="color:blu;">Come funziona</mark>

Il Connettore CTI incorpora direttamente l'interfaccia dell'agente ZCC nel CRM. Quando un'interazione termina, dati come registrazioni, trascrizioni, note ed esiti vengono salvati automaticamente in Zoom e collegati alla relativa scheda da registrare (ad esempio, un ticket o un contatto) nel tuo CRM.

#### <mark style="color:blu;">Requisiti di configurazione</mark>

La funzionalità per consentire la sincronizzazione dei dati tra Zoom e il CRM è disponibile "out of the box", ma richiede l'attivazione nel portale amministratori ZCC.

Completa i seguenti passaggi:

{% stepper %}
{% step %}
**Abilita nel portale amministratori ZCC**

Accedi al portale amministratori di Zoom come amministratore e vai a Gestione del centro di contatto > Integrazioni > Applicazioni.

Trova la relativa integrazione CRM nella sezione Integrazioni e Abilita le appropriate Impostazioni per consentire l'archiviazione dei dati nel tuo CRM.
{% endstep %}

{% step %}
**Autorizzazioni CRM**

Rivedi e segui le [guide di configurazione delle Integrazioni CRM](https://support.zoom.com/) per verificare che il tuo utente di Integrazioni CRM disponga delle autorizzazioni di scrittura necessarie per tutti gli oggetti pertinenti.
{% endstep %}
{% endstepper %}

#### <mark style="color:blu;">Piattaforme CRM supportate</mark>

Questa funzionalità è accessibile tramite il Connettore ZCC CRM CTI quando gli agenti utilizzano i seguenti CRM:

* Salesforce
* Zendesk
* ServiceNow
* Microsoft Dynamics
* HubSpot

Con i connettori CRM CTI, non è richiesta alcuna configurazione speciale e le Integrazioni salveranno i dati di coinvolgimento nel CRM come predefinito.

***

### Integrazioni personalizzate tramite API

Se i tuoi agenti usano l'app nativa Zoom Workplace o ZCC Smart Embed, avrai bisogno di una soluzione personalizzata per trasferire i dati di coinvolgimento. Il modo principale per farlo sono le API di Zoom per il centro di contatto.

Ci sono due approcci principali per Access ai dati di coinvolgimento tramite l'API:

* **Polling:** Interroga periodicamente l'API Zoom per verificare se un nuovo dato di coinvolgimento è Disponibile.
* **Webhook:** Ricevi una Notifica in tempo reale da Zoom non appena una trascrizione è pronta.

C'è anche un terzo approccio, **Integrazioni Flow Events**, che funziona per determinati tipi di dati.

#### <mark style="color:blu;">Esecuzione del polling delle API di Zoom centro di contatto</mark>

Per scaricare i dati di engagement, devi interrogare gli endpoint API appropriati di ZCC. È importante notare che diversi tipi di dati provengono da API diverse, quindi probabilmente dovrai creare una logica di polling per ciascun endpoint pertinente.

Molte API relative all'engagement all'interno di Reports V2 (CX analisi) ora supportano il filtraggio dell'orario di fine con `end_time_from` e `end_time_to`. Preferisci questi parametri quando disponibili, così i tuoi job di polling recuperano gli engagement in base a quando sono effettivamente terminati. Questo aiuta a ridurre i record mancanti perché i dati completi dell'engagement (inclusi i dati report V2) vengono finalizzati alla fine dell'engagement.

| Per ottenere questi dati...                                           | Esegui il polling di questa API...                                                                                                                                                                                                                                                                                                                                                      | Usando questo campo... | Note:                                                                                            |
| --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------ |
| <p>File multimediale di registrazione</p><p>(Canale Voce e Video)</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/get/contact_center/recordings">Elenca registrazioni</a> o</p><p>Elenca registrazioni di engagement</p>                                                                                                                                                                                                   | `download_url`         | Richiede l'abilitazione della registrazione chiamata per la coda.                                |
| <p>Trascrizione della registrazione</p><p>(Canale Voce e Video)</p>   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">Elenca registrazioni</a> o</p><p>Elenca registrazioni di engagement</p>                                                                                                                                                                                                   | `trascrizione_url`     | Richiede la registrazione chiamata con trascrizione abilitata.                                   |
| <p>Trascrizione</p><p>(Canale di messaggistica)</p>                   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Ottieni un'interazione</a> o</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Elenca i dati storici del registro delle interazioni</a></p>         | `trascrizione_url`     | La trascrizione è abilitata per impostazione predefinita per i canali di messaggistica.          |
| <p>Esiti</p><p>(Tutti i canali)</p>                                   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Ottieni un'interazione</a> o</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Elenca i dati storici del registro delle interazioni</a></p>         | `esiti`                | Un array di oggetti disposizione.                                                                |
| <p>Note</p><p>(Tutti i canali)</p>                                    | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Ottieni un'interazione</a> o</p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/reports-v2-cx-analytics/get/contact_center/analytics/log/historical/engagement">Elenca i dati storici del registro delle interazioni</a></p>         | `note`                 | Un array di oggetti nota.                                                                        |
| <p>File multimediale della segreteria telefonica</p><p><br><br></p>   | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Elenca i messaggi della posta in arrivo di un account</a> <strong>o</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Elenca i messaggi di una casella di posta in arrivo</a></p> | `download_url`         | Per i messaggi di segreteria telefonica lasciati in una casella di posta del centro di contatto. |
| Trascrizione della segreteria telefonica                              | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Elenca i messaggi della posta in arrivo di un account</a> <strong>o</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Elenca i messaggi di una casella di posta in arrivo</a></p> | `trascrizione_url`     | Richiede che la trascrizione sia abilitata per la casella di posta.                              |

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

Gli URL di download (`download_url`, `trascrizione_url`, `playback_url`, e così via) forniti da queste API Zoom sono **non** link pubblici. Sono progettati per l'accesso programmatico e richiedono autenticazione API (ad esempio, token di accesso nell'intestazione Authorization) per scaricare il file associato.

Ciò significa:

* Non puoi salvare questi URL direttamente in un CRM affinché un utente vi faccia clic. Un utente che fa clic sul link nel proprio browser non sarà autenticato e il download fallirà.
* Il metodo corretto è che il tuo servizio backend utilizzi l'URL per recuperare il file. Il tuo servizio può quindi archiviare il file nel tuo sistema (come Amazon S3, Azure Blob Storage o l'archiviazione file del tuo CRM) e fornire da lì un link sicuro ai tuoi utenti.
  {% endhint %}

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

**Ritardi di elaborazione - Registrazioni audio e video:**

Questi dati non sono Disponibile nell'istante in cui termina una chiamata (chiamare). L'audio deve essere elaborato e caricato prima, il che può richiedere diversi minuti per le chiamate lunghe. Per assicurarti di non perdere registrazioni, imposta il `query_date_type` il parametro su `recording_end_time` quando esegui il polling dell'API List recordings. Questo recupera i dati in base a quando l'elaborazione è terminata, non a quando il chiamare è terminato.

Per i job di riconciliazione incentrati sull'engagement di Reports V2 (CX analisi), usa finestre temporali sovrapposte con `end_time_from` e `end_time_to` per fornire un margine di sicurezza per l'elaborazione ritardata e i problemi temporanei di consegna.
{% endhint %}

Per ulteriori informazioni sulle API Zoom del centro di contatto, consulta [API del centro di contatto](https://developers.zoom.us/docs/api/contact-center/) documentazione.

#### <mark style="color:blu;">Usa i webhook per eventi in tempo reale</mark>

Per un approccio più immediato, basato su Evento, puoi iscriverti ai webhook ZCC. Questo è il metodo più efficiente per Integrazioni in tempo quasi reale.

**Come funziona**

1. Iscriviti agli eventi appropriati in Zoom App Marketplace.
2. Quando si verifica un Evento, Zoom invia una Notifica al tuo URL webhook (o alla tua connessione Websocket).
3. Il payload dell'Evento contiene i dati di cui hai bisogno, sia direttamente sia come URL/ID per una chiamare API di follow-up.

**Eventi webhook comuni per i dati di coinvolgimento**

* **Dati di fine coinvolgimento pronti:** contatto\_center.cx\_engagement\_end\_data\_ready (segnala che i dati del report di fine engagement V2 sono pronti per essere recuperati)
* **Registrazione audio/video:** contatto\_center.recording\_completed (fornisce una `download_url`)
* **Trascrizione voce/video:** contatto\_center.recording\_trascrizione\_completed (fornisce una `trascrizione_url`)
* **Trascrizione della messaggistica:** contatto\_center.engagement\_messaggistica\_trascrizione\_completed (fornisce una `trascrizione_url`)
* **Note:** contatto\_center.engagement\_nota\_added (fornisce una `nota` campo con i dati della nota)
* **Disposizione:** contatto\_center.engagement\_disposizione\_added (fornisce una `disposizione_name` campo con i dati della disposizione)

**Schema consigliato: attivare il recupero quando i dati di engagement sono pronti**

Quando ricevi `contatto_center.cx_engagement_end_data_ready`, consideralo il segnale che i dati della versione 2 del report di fine engagement sono completi per quell'engagement. A quel punto, chiamare l'API dei dati del log Historical Engagement e qualsiasi altra API pertinente per raccogliere il set di dati finale. In questo Evento, usa `engagement_id` come chiave di ricerca e poi recupera gli artefatti completi dell'engagement dagli endpoint richiesti.

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

* **Fai attenzione a più eventi:** Il `nota_aggiunta` e `disposizione_aggiunta` Gli Evento possono attivarsi più volte per un singolo coinvolgimento (ad esempio, se un agente salva diverse note o se una chiamare viene trasferita). La logica della tua applicazione deve essere in grado di gestirlo.
* **Integra ridondanza:** La consegna dell'Evento non è sempre garantita al 100% (ad esempio, il tuo endpoint o la connessione websocket potrebbero essere temporaneamente non disponibili).
* **Strategia di backup:** Consigliamo di eseguire uno script di riconciliazione usando API di polling con `end_time_from` e `end_time_to` finestre per intercettare gli Evento mancanti e colmare le lacune nei dati.
  {% endhint %}

Per ulteriori informazioni su Evento Webhook/Websocket di Zoom centro di contatto, vedere [Webhook del centro di contatto](https://developers.zoom.us/docs/api/contact-center/events/) documentazione.

#### <mark style="color:blu;">Integrazioni degli eventi del flusso</mark>

Per determinati tipi di dati, puoi inviare direttamente i dati a un sistema esterno dall'editor ZCC Flow utilizzando uno script Evento JavaScript.

**Dati supportati e limitazioni:**

* **Disposizione:** Può essere accessibile su tutti i tipi di canale di coinvolgimento In entrata utilizzando il `global_system.Engagement.disposizione` variabile.
* **trascrizione:** Accessibile solo per gli engagement di messaggistica In entrata (ad esempio, Web chat) utilizzando il `global_system.Engagement.trascrizione` variabile.
* **Flussi multipli:** Quando lavori con più flussi nella tua configurazione, in particolare quando un flusso utilizza il `RouteTo` widget per connettersi a un altro flusso, è essenziale assicurarsi che gli script Evento e i trigger identici siano configurati correttamente in tutti i flussi.

Questo metodo è particolarmente efficace in un flusso di messaggistica, dove puoi combinare sia la trascrizione sia la disposizione in un singolo Evento.

**Passaggi di configurazione**

Segui questi passaggi per Configura il tuo flusso:

{% stepper %}
{% step %}
**Aggiungi uno script Evento**

Nel tuo flusso ZCC (ad esempio, un flusso Web chat), fai clic sul widget Start.

Individua gli script Evento e Aggiungi uno script Evento per eventi come Engagement Closed e/o disposizione salvata.

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

{% step %}
**Aggiungi il tuo JavaScript personalizzato**

L'esempio seguente recupera sia la disposizione sia la trascrizione, quindi le invia insieme a un'API esterna.

```javascript
async function main () { 
  try {
    // Ottieni l'oggetto disposizione dalla sua variabile
    const disposizione_data = var_get()['global_system.Engagement.disposizione'];
    
    // Ottieni l'oggetto trascrizione completo
    const trascrizione_data = await req.get(var_get()['global_system.Engagement.trascrizione']);

    // Prepara un payload con tutti i dati che vuoi inviare
    const payload_to_send = {
      disposizione: disposizione_data.data.result,
      trascrizione: trascrizione_data.data.result.trascrizione
    };

    // Definisci la destinazione dei tuoi dati
    const external_api_url = '<sostituisci-con-il-tuo-endpoint-API>';
    
    // Invia i dati combinati al tuo sistema esterno
  	const response = await req.post(external_api_url, payload_to_send);
    
    // Registra la risposta del sistema esterno per la risoluzione dei problemi
    log.debug("Risposta API esterna: " + JSON.stringify(response.data));
    
  } catch (error) {
    log.debug("Si è verificato un errore nello script Evento della trascrizione: " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### Riepilogo e raccomandazioni

Scegli il metodo di Integrazioni che meglio si allinea al flusso di lavoro dei tuoi agenti e alle risorse tecniche.

| Se i tuoi agenti usano...                                           | Allora la tua opzione migliore è...                                  | Considerazioni chiave:                                                                                                                                                                                                                                                                |
| ------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Il Connettore CTI ZCC in un CRM supportato                          | La soluzione Integrazioni integrata                                  | <ul><li>Percorso più semplice</li><li>Nessun codice richiesto</li><li>La funzione Sincronizza dei dati di coinvolgimento è integrata</li></ul>                                                                                                                                        |
| L'app Zoom Workplace o Smart Embed                                  | Webhook API più riconciliazione del polling filtrata per ora di fine | <ul><li>Usa <code>contatto\_center.cx\_engagement\_end\_data\_ready</code> come trigger di recupero</li><li>Quindi riconcilia con <code>end\_time\_from</code>/<code>end\_time\_to</code> finestre</li><li>Migliora l'efficienza riducendo al contempo gli engagement persi</li></ul> |
| Un flusso di messaggistica In entrata (e necessità di inviare dati) | Script Evento del flusso                                             | <ul><li>Di nicchia, ma potente</li><li>Richiede JavaScript</li><li>Funziona meglio per l'invio di trascrizioni di messaggistica e disposizioni</li></ul>                                                                                                                              |

Comprendendo questi diversi percorsi, puoi creare una soluzione di Integrazioni robusta e affidabile che ti offre una visione completa delle interazioni con i clienti. Combinare il recupero attivato da Evento con la riconciliazione filtrata in base all'orario di fine ti aiuta a ridurre le chiamate API non necessarie, migliorando al contempo la completezza.


---

# 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/it/servizi-business/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.
