# Integrare i dati di engagement

### Panoramica

Il centro di contatto Zoom genera dati preziosi sul coinvolgimento durante ogni interazione con il cliente, incluse le registrazioni delle chiamate, le trascrizioni, gli appunti degli agenti e le disposizioni. Continua a leggere per scoprire come archiviare i dati di coinvolgimento in sistemi esterni (ad esempio, CRM e altri sistemi di registrazione) per creare una visione unificata del cliente, Abilita un coaching efficace per gli agenti o soddisfare i requisiti di conformità quando si utilizza il centro di contatto Zoom.

Analizzeremo i diversi metodi di Integrazioni per aiutarti a Scegli l'approccio migliore 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 ZCC CRM CTI Connettore pronto all'uso all'interno del CRM.
2. Agenti che lavorano nell'app Zoom Workplace, che richiede una soluzione personalizzata con le API e i Webhook di ZCC.

***

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

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

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

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

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

La funzionalità che consente 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 Integrazioni CRM pertinente e Abilita le Impostazioni appropriate per consentire l'archiviazione dei dati nel tuo CRM.
{% endstep %}

{% step %}
**Autorizzazioni CRM**

Rivedi e segui il [guide di configurazione per Integrazioni CRM](https://support.zoom.com/) per verificare che il tuo utente di Integrazioni CRM disponga delle necessarie autorizzazioni di scrittura 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 l'Integrazioni salverà i dati di interazione nel CRM predefinito.

***

### Integrazioni personalizzate tramite API

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

Esistono due approcci principali per accedere ai dati di engagement tramite l'API:

* **Interrogazione:** Interroga periodicamente l'API Zoom per vedere se sono disponibili nuovi dati di coinvolgimento.
* **Webhook:** Ricevi una Notifica in tempo reale da Zoom non appena la trascrizione è pronta.

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

#### <mark style="color:blu;">Interrogazione 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 ogni endpoint rilevante.

| Per ottenere questi dati...                                                | Interroga questa API...                                                                                                                                                                                                                                                                                                                                                      | Utilizzando questo campo... | Note:                                                                                  |
| -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------- |
| <p>File multimediale della registrazione</p><p>(Canale vocale e video)</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">Elenca le registrazioni</a> o</p><p>Elenca le registrazioni della coda</p>                                                                                                                                                                                     | `download_url`              | Richiede che la registrazione chiamata sia abilitata per la coda.                      |
| <p>Trascrizione della registrazione</p><p>(Canale vocale e video)</p>      | [Elenca i coinvolgimenti](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                | `url_trascrizione`          | Richiede la registrazione chiamata con trascrizione abilitata.                         |
| <p>Trascrizione</p><p>(Canale di messaggistica)</p>                        | [Elenca i coinvolgimenti](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                | `url_trascrizione`          | La trascrizione è abilitata come predefinito per i canali di messaggistica.            |
| <p>Disposizioni</p><p>(Tutti i canali)</p>                                 | [Elenca i coinvolgimenti](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                | `disposizioni`              | Un array di oggetti disposizione.                                                      |
| <p>Note</p><p>(Tutti i canali)</p>                                         | [Elenca i coinvolgimenti](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                | `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 posta in arrivo</a></p> | `download_url`              | Per le segreterie telefoniche lasciate 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 posta in arrivo</a></p> | `url_trascrizione`          | Richiede che la trascrizione sia abilitata per la casella di posta.                    |

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

Gli URL di download (`download_url`, `url_trascrizione`, `playback_url`, e così via) forniti da queste API di 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 perché un utente possa fare clic. Un utente che fa clic sul link nel proprio browser non sarà autenticato e il download non andrà a buon fine.
* 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 lo storage dei 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 disponibili nell'istante in cui una chiamare termina. L'audio deve prima essere elaborato e caricato, cosa che per le chiamate lunghe può richiedere diversi minuti. Per assicurarti di non perdere le registrazioni, imposta il `query_date_type` parametro su `recording_end_time` quando esegui il polling dell'API List recordings. Questo recupera i dati in base al momento in cui l'elaborazione è terminata, non a quando la chiamare è terminata.
{% endhint %}

Per ulteriori informazioni sulle API di Zoom centro di contatto, vedere [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 sugli Evento, puoi iscriverti ai webhook ZCC. Questo è il metodo più efficiente per le Integrazioni in quasi tempo reale.

**Come funziona**

1. Iscriviti agli eventi appropriati nel 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, direttamente oppure come URL/ID per un'API da chiamare in seguito.

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

* **Registrazione vocale/video:** contatto\_center.recording\_completato (fornisce un `download_url`)
* **Trascrizione voce/video:** contatto\_center.recording\_trascrizione\_completed (fornisce una `url_trascrizione`)
* **Trascrizione della messaggistica:** contatto\_center.engagement\_messaggistica\_trascrizione\_completed (fornisce una `url_trascrizione`)
* **Note:** contatto\_center.engagement\_note\_added (fornisce un `nota` campo con i dati della nota)
* **disposizione:** contatto\_center.engagement\_disposizione\_added (fornisce un `disposizione_name` campo con i dati di disposizione)

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

* **Fai attenzione ai molteplici Eventi:** Il `nota_aggiunta` e `disposizione_aggiunta` gli eventi 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.
* **Prevedi la ridondanza:** La consegna degli Eventi 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 notturno usando API di polling per intercettare gli eventi persi.
  {% endhint %}

Per maggiori informazioni sugli Eventi webhook/websocket di Zoom centro di contatto, vedi [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 alcuni tipi di dati, puoi inviare i dati direttamente a un sistema esterno dall'editor di flusso ZCC utilizzando uno Script Evento JavaScript.

**Dati supportati e limitazioni:**

* **disposizione:** È possibile accedervi su tutti i tipi di canale di coinvolgimento In entrata utilizzando la `global_system.Engagement.disposizione` variabile.
* **trascrizione:** Accessibile solo per i coinvolgimenti di messaggistica In entrata (ad esempio, chat Web) utilizzando la `global_system.Engagement.trascrizione` variabile.
* **Flussi multipli:** Quando lavori con più Flow nella tua configurazione, in particolare quando un Flow usa il `Percorso verso` widget per connettersi a un altro Flow, è essenziale assicurarsi che Script Evento e trigger identici siano configurati correttamente in tutti i Flow.

Questo metodo è più potente in un Flow 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 ZCC Flow (ad esempio, un flusso Web chat), fai clic sul widget Start.

Individua gli Script Evento e Aggiungi uno Script Evento per gli Eventi, come Engagement Closed e/o disposizione Saved.

<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 desideri inviare
    const payload_da_inviare = {
      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 dal 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 dell'Evento di trascrizione: " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### Riepilogo e raccomandazioni

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

| Se i tuoi agenti usano...                                              | Allora la tua opzione migliore è...                                    | Considerazioni chiave:                                                                                                                                   |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Il Connettore ZCC CTI in un CRM supportato                             | Le Integrazioni integrate                                              | <ul><li>Percorso più semplice</li><li>Nessun codice richiesto</li><li>La Sincronizza dei dati di engagement è integrata</li></ul>                        |
| L'app Zoom Workplace o Smart Embed                                     | Webhook API con un processo di polling notturno per la riconciliazione | <ul><li>La soluzione personalizzata più robusta</li><li>Fornisce dati quasi in tempo reale con un processo di backup affidabile</li></ul>                |
| Un flusso di messaggistica In entrata (e la necessità di inviare dati) | Script Evento del flusso                                               | <ul><li>Di nicchia, ma potente</li><li>Richiede JavaScript</li><li>Funziona al meglio per inviare trascrizioni di messaggistica e disposizioni</li></ul> |

Comprendendo questi diversi percorsi, puoi creare Integrazioni robuste e affidabili che ti offrano una visione completa delle interazioni con i clienti.


---

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