> 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/es/servicios-comerciales/zoom-contact-center/expert-insights/integrate-engagement-data.md).

# Integre datos de interacción

Escrito por Justin Steinberg

### Resumen

Zoom centro de contacto genera valiosos datos de interacción durante cada interacción con el cliente, incluidas las grabaciones de llamadas, transcripciones, notas del agente y disposiciones. Siga leyendo para aprender cómo almacenar los datos de interacción en sistemas externos (por ejemplo, CRM y otros sistemas de registro) para crear una vista unificada del cliente, permitir una capacitación eficaz de los agentes o cumplir con los requisitos de cumplimiento al usar Zoom centro de contacto.

Desglosaremos los diferentes métodos de Integraciones para ayudarle a Seleccione el mejor enfoque según cómo sus agentes puedan trabajar con mayor eficiencia.

El mejor método depende principalmente de un factor clave: **la aplicación en la que los agentes están gestionando sus interacciones**. Las dos opciones que analizaremos son:

1. Agentes que usan el Conector CTI de CRM ZCC listo para usar dentro del CRM.
2. Agentes que trabajan en la aplicación Zoom Workplace, lo que requiere una solución personalizada con las API de ZCC y webhooks.

***

### Integraciones del Conector CTI de CRM listo para usar

Este es el método más sencillo. Si sus agentes usan un Conector CTI de CRM ZCC, la mayoría de los datos de interacción pueden sincronizarse automáticamente entre la plataforma Zoom y el CRM adecuado.

#### <mark style="color:azul;">Cómo funciona</mark>

El Conector CTI incrusta la interfaz del agente de ZCC directamente en el CRM. Cuando finaliza una interacción, datos como grabaciones, transcripciones, notas y disposiciones se guardan automáticamente en Zoom y se vinculan al registro correspondiente (por ejemplo, un ticket o contacto) en su CRM.

#### <mark style="color:azul;">Requisitos de configuración</mark>

La funcionalidad que permite sincronizar datos entre Zoom y el CRM viene "lista para usar", pero requiere activación dentro del portal del administrador de ZCC.

Complete los siguientes pasos:

{% stepper %}
{% step %}
**Habilitar en el portal del administrador de ZCC**

Inicie sesión en el portal del administrador de Zoom como administrador y navegue a Administración del centro de contacto > Integraciones > Aplicaciones.

Busque la integración de CRM pertinente y habilite la Configuración adecuada para permitir el almacenamiento de datos en su CRM.
{% endstep %}

{% step %}
**Permisos de CRM**

Revise y siga las [guías de configuración de Integraciones de CRM](https://support.zoom.com/) para verificar que el usuario de la integración de su CRM tenga los permisos de escritura necesarios para todos los objetos relevantes.
{% endstep %}
{% endstepper %}

#### <mark style="color:azul;">Plataformas de CRM compatibles</mark>

Esta funcionalidad está accesible a través del Conector CTI de CRM ZCC cuando los agentes usan los siguientes CRM:

* Salesforce
* Zendesk
* ServiceNow
* Microsoft Dynamics
* HubSpot

Con los conectores CTI de CRM, no se requiere ninguna configuración especial y la integración guardará los datos de interacción en el CRM de forma predeterminada.

***

### Integraciones personalizadas mediante API

Si sus agentes usan la aplicación nativa Zoom Workplace o ZCC Smart Embed, necesitará una solución personalizada para transferir los datos de interacción. La forma principal de hacerlo es con las API de Zoom centro de contacto.

Hay dos enfoques principales para acceder a los datos de interacción mediante la API:

* **Sondeo:** Consulte periódicamente la API de Zoom para ver si hay nuevos datos de interacción disponibles.
* **Webhooks:** Reciba una notificación en tiempo real de Zoom en cuanto una transcripción esté lista.

También hay un tercer enfoque, **Integraciones de Flow Events**, que funciona para ciertos tipos de datos.

#### <mark style="color:azul;">Sondeo de las API de Zoom centro de contacto</mark>

Para descargar datos de interacción, debe consultar los puntos de conexión de API de ZCC adecuados. Es importante señalar que diferentes tipos de datos provienen de diferentes API, por lo que probablemente necesitará crear lógica de sondeo para cada punto de conexión relevante.

Muchas API relacionadas con interacciones dentro de Reports V2 (CX análisis) ahora admiten el filtrado por hora de finalización con `end_time_from` y `end_time_to`. Prefiera estos parámetros cuando estén disponibles para que sus trabajos de sondeo recuperen las interacciones según cuándo hayan finalizado realmente. Esto ayuda a reducir los registros omitidos, ya que los datos completos de la interacción (incluidos los datos de report V2) se finalizan al terminar la interacción.

| Para obtener estos datos...                                         | Consulte esta API...                                                                                                                                                                                                                                                                                                                                                                   | Usando este campo... | Notas:                                                                                   |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | ---------------------------------------------------------------------------------------- |
| <p>Archivo multimedia de grabación</p><p>(Canal de voz y video)</p> | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/get/contact_center/recordings">Listar grabaciones</a> o</p><p>Listar grabaciones de interacciones</p>                                                                                                                                                                                                   | `download_url`       | Requiere que la grabación de llamadas esté habilitada para la cola.                      |
| <p>Transcripción de grabación</p><p>(Canal de voz y video)</p>      | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/recordings/GET/contact_center/recordings">Listar grabaciones</a> o</p><p>Listar grabaciones de interacciones</p>                                                                                                                                                                                                   | `transcripción_url`  | Requiere grabación de llamadas con la transcripción habilitada.                          |
| <p>Transcripción</p><p>(Canal de mensajería)</p>                    | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Obtener una interacción</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">Listar datos históricos del registro de interacciones</a></p>      | `transcripción_url`  | La transcripción está habilitada de forma predeterminada para los canales de mensajería. |
| <p>Disposiciones</p><p>(Todos los canales)</p>                      | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Obtener una interacción</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">Listar datos históricos del registro de interacciones</a></p>      | `disposiciones`      | Un arreglo de objetos de disposición.                                                    |
| <p>Notas</p><p>(Todos los canales)</p>                              | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/engagements/get/contact_center/engagements/{engagementId}">Obtener una interacción</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">Listar datos históricos del registro de interacciones</a></p>      | `notas`              | Un arreglo de objetos de nota.                                                           |
| <p>Archivo multimedia de correo de voz</p><p><br><br></p>           | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Listar los mensajes de la bandeja de entrada de una cuenta</a> <strong>o</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Listar los mensajes de una bandeja de entrada</a></p> | `download_url`       | Para correos de voz dejados en una bandeja de entrada del centro de contacto.            |
| Transcripción del correo de voz                                     | <p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/messages">Listar los mensajes de la bandeja de entrada de una cuenta</a> <strong>o</strong></p><p><a href="https://developers.zoom.us/docs/api/contact-center/#tag/inboxes/GET/contact_center/inboxes/{inboxId}/messages">Listar los mensajes de una bandeja de entrada</a></p> | `transcripción_url`  | Requiere que la transcripción esté habilitada para la bandeja de entrada.                |

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

Las URL de descarga (`download_url`, `transcripción_url`, `playback_url`, y así sucesivamente) proporcionadas por estas APIs de Zoom son **no** enlaces públicos. Están diseñados para acceso programático y requieren autenticación de API (por ejemplo, un token de acceso en el encabezado Authorization) para descargar el archivo asociado.

Esto significa:

* No puedes guardar estas URL directamente en un CRM para que un usuario haga clic en ellas. Cuando un usuario hace clic en el enlace en su navegador, no estará autenticado y la descarga fallará.
* El método correcto es que tu servicio backend use la URL para obtener el archivo. Luego, tu servicio puede almacenar el archivo en tu propio sistema (como Amazon S3, Azure Blob Storage o el almacenamiento de archivos de tu CRM) y proporcionar desde allí un enlace seguro a tus usuarios.
  {% endhint %}

{% hint style="warning" %}
**Atención**

**Retrasos de procesamiento - Grabaciones de voz y video:**

Estos datos no están disponibles en el instante en que termina una llamada. El audio debe procesarse y cargarse primero, lo que puede tardar varios minutos en llamadas largas. Para asegurarte de no perder grabaciones, configura el `query_date_type` parámetro para `recording_end_time` al sondear la API List recordings. Esto recupera datos según cuándo finalizó el procesamiento, no cuándo terminó la llamada.

Para los trabajos de conciliación centrados en interacciones de Reports V2 (CX análisis), use ventanas de tiempo superpuestas con `end_time_from` y `end_time_to` para proporcionar un margen de seguridad frente al procesamiento retrasado y los problemas de entrega transitorios.
{% endhint %}

Para obtener más información sobre las APIs del centro de contacto de Zoom, consulte [APIs del centro de contacto](https://developers.zoom.us/docs/api/contact-center/) documentación.

#### <mark style="color:azul;">Use Webhooks para Eventos en tiempo real</mark>

Para un enfoque más inmediato, orientado al Evento, puede suscribirse a los webhooks de ZCC. Este es el método más eficiente para Integraciones casi en tiempo real.

**Cómo funciona**

1. Suscríbete a los eventos apropiados en el Zoom App Marketplace.
2. Cuando ocurre un Evento, Zoom envía una Notificación a tu URL de webhook (o a tu conexión Websocket).
3. El payload del Evento contiene los datos que necesitas, ya sea directamente o como una URL/ID para una llamada de API de seguimiento.

**Eventos comunes de webhook para datos de interacción**

* **Datos de fin de la interacción listos:** contacto\_center.cx\_engagement\_end\_data\_ready (indica que los datos del informe de fin de la interacción V2 están listos para recuperar)
* **Grabación de voz/video:** contacto\_center.grabación\_completada (proporciona un `download_url`)
* **Transcripción de voz/video:** centro\_de\_contacto.transcripción\_de\_grabación\_completada (proporciona una `transcripción_url`)
* **Transcripción de mensajería:** centro\_de\_contacto.interacción\_mensajería\_transcripción\_completada (proporciona una `transcripción_url`)
* **Notas:** centro\_de\_contacto.interacción\_nota\_agregada (proporciona una `nota` campo con los datos de la nota)
* **Disposición:** centro\_de\_contacto.interacción\_disposición\_agregada (proporciona una `nombre_de_disposición` campo con los datos de la disposición)

**Patrón recomendado: desencadenar la recuperación cuando los datos de la interacción estén listos**

Cuando recibas `contacto_center.cx_engagement_end_data_ready`, trátelo como su señal de que los datos del informe V2 de fin de engagement están completos para ese engagement. En ese momento, llame a la API de datos del registro Historical Engagement y a cualquier otra API relevante para recopilar el conjunto de datos final. En este Evento, use `engagement_id` como su clave de búsqueda y luego obtenga los artefactos completos del engagement desde los endpoints requeridos.

{% hint style="warning" %}
**Atención**

* **Tenga en cuenta múltiples Eventos:** El `note_added` y `disposición_added` los Eventos pueden activarse varias veces para un solo engagement (por ejemplo, si un agente guarda varias notas o se transfiere una llamada). La lógica de su aplicación debe poder manejar esto.
* **Incorpore redundancia:** La entrega de Evento no siempre está garantizada al 100 % (por ejemplo, su punto de conexión o conexión websocket podrían estar temporalmente caídos).
* **Estrategia de copia de seguridad:** Recomendamos ejecutar un script de conciliación usando API de sondeo con `end_time_from` y `end_time_to` ventanas para detectar eventos perdidos y cerrar brechas de datos.
  {% endhint %}

Para más información sobre los eventos Webhook/Websocket de Zoom centro de contacto, consulte [Webhooks del centro de contacto](https://developers.zoom.us/docs/api/contact-center/events/) documentación.

#### <mark style="color:azul;">Integraciones de Evento de flujo</mark>

Para ciertos tipos de datos, puede enviar datos directamente a un sistema externo desde el editor de flujo ZCC utilizando un Script de Evento de JavaScript.

**Datos compatibles y limitaciones:**

* **Disposición:** Se puede acceder en todos los tipos de canal de interacción Entrantes utilizando el `global_system.Engagement.disposición` variable.
* **transcripción:** Solo accesible para interacciones de mensajería Entrantes (por ejemplo, chat web) usando el `global_system.Engagement.transcripción` variable.
* **Múltiples Flujos:** Cuando trabajes con múltiples Flujos en tu configuración, especialmente cuando un Flujo usa el `RouteTo` widget para conectarse a otro Flujo, es esencial asegurarse de que los Scripts de Evento y los activadores idénticos estén correctamente configurados en todos los Flujos.

Este método es más potente en un Flujo de mensajería, donde puedes combinar tanto la transcripción como la disposición en un solo Evento.

**Pasos de configuración**

Siga estos pasos para Configure su flujo:

{% stepper %}
{% step %}
**Añadir un script de Evento**

En su flujo de ZCC (por ejemplo, un flujo de chat web), haga clic en el widget Inicio.

Busque Scripts de Evento y Añadir un script de Evento para eventos, como Interacción cerrada y/o disposición guardada.

<div align="left"><figure><img src="https://1630984505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FctBXUMeBy4rtLMmMkKRG%2Fuploads%2Fgit-blob-608a0caccf5697f0cda911a59ba832b2f5cf3fd6%2Fimage.png?alt=media" alt="Flow screen showing a welcome message and events."><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Añadir su JavaScript personalizado**

El ejemplo siguiente recupera tanto la disposición como la transcripción y, a continuación, las envía juntas a una API externa.

```javascript
función asíncrona main () { 
  intentar {
    // Obtenga el objeto de disposición de su variable
    const disposición_data = var_get()['global_system.Engagement.disposición'];
    
    // Obtener el objeto completo de transcripción
    const transcripción_data = await req.get(var_get()['global_system.Engagement.transcripción']);

    // Preparar una carga útil con todos los datos que desea enviar
    const payload_to_send = {
      disposición: disposición_data.data.result,
      transcripción: transcripción_data.data.result.transcripción
    };

    // Definir el destino de los datos
    const external_api_url = '<reemplazar-con-su-punto-de-conexión-de-API>';
    
    // Enviar los datos combinados a su sistema externo
  	const response = await req.post(external_api_url, payload_to_send);
    
    // Registrar la respuesta del sistema externo para solucionar problemas
    log.debug("Respuesta de la API externa: " + JSON.stringify(response.data));
    
  } catch (error) {
    log.debug("Se produjo un error en el script de Evento de transcripción: " + error);
  }
}
```

{% endstep %}
{% endstepper %}

***

### Resumen y recomendaciones

Seleccione el método de Integraciones que mejor se ajuste al flujo de trabajo de sus agentes y a sus recursos técnicos.

| Si sus agentes utilizan...                                 | Entonces, su mejor opción es...                                              | Consideraciones clave:                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| El Conector CTI de ZCC en un CRM compatible                | La Integraciones integrada                                                   | <ul><li>La vía más sencilla</li><li>No se requiere código</li><li>La Sincronizar de datos de interacción está integrada</li></ul>                                                                                                                                                     |
| La aplicación Zoom Workplace o Smart Embed                 | Webhooks de API más conciliación de sondeo filtrado por hora de finalización | <ul><li>Use <code>contacto\_center.cx\_engagement\_end\_data\_ready</code> como desencadenante de recuperación</li><li>Luego concilie con <code>end\_time\_from</code>/<code>end\_time\_to</code> ventanas</li><li>Mejora la eficiencia y reduce las interacciones perdidas</li></ul> |
| Un flujo de mensajería Entrantes (y necesita enviar datos) | Scripts de Evento de flujo                                                   | <ul><li>Especializado, pero potente</li><li>Requiere JavaScript</li><li>Funciona mejor para enviar transcripciones de mensajería y disposiciones</li></ul>                                                                                                                            |

Al comprender estas diferentes vías, puede crear una Integraciones sólida y fiable que le ofrezca una vista completa de las interacciones con sus clientes. Combinar la recuperación activada por Evento con la conciliación filtrada por hora de finalización le ayuda a reducir las llamadas de API innecesarias y, al mismo tiempo, mejorar la integridad.


---

# 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/es/servicios-comerciales/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.
