# Integrar datos de interacción

### Descripción general

centro de contacto Zoom genera valiosos datos de interacción durante cada interacción con el cliente, incluidas las grabaciones de llamadas, las transcripciones, las notas del agente y las 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, habilitar una capacitación eficaz de los agentes o cumplir con los requisitos de cumplimiento al usar centro de contacto Zoom.

Desglosaremos los diferentes métodos de Integraciones para ayudarle a elegir 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 API de ZCC y webhooks.

***

### Integración del Conector CTI de CRM lista para usar

Este es el método más sencillo. Si sus agentes están usando 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 integra la interfaz del agente de ZCC directamente en el CRM. Cuando finaliza una interacción, los datos como grabaciones, transcripciones, notas y disposiciones se guardan automáticamente en Zoom y se vinculan al registro relevante (por ejemplo, un ticket o contacto) en su CRM.

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

La funcionalidad que permite la sincronización de 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 vaya a Gestión de centro de contacto > Integraciones > Aplicaciones.

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

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

Revise y siga las [guías de configuración de integración de CRM](https://support.zoom.com/) para verificar que el usuario de su integración de 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 es 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.

***

### Integración personalizada mediante API

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

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

* **Votación:** 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 tan pronto como una transcripción esté lista.

También existe un tercer enfoque, **Integración de Flow Events**, que funciona para ciertos tipos de datos.

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

Para descargar los datos de interacción, debe consultar los puntos de conexión de la API de ZCC correspondientes. Es importante tener en cuenta que los diferentes tipos de datos provienen de diferentes API, por lo que probablemente deberá crear lógica de consulta periódica para cada punto de conexión relevante.

| 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 cola</p>                                                                                                                                                                                                            | `url_de_descarga`      | 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>      | [Listar interacciones](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                             | `url_de_transcripción` | Requiere la grabación de llamadas con la transcripción habilitada.                       |
| <p>Transcripción</p><p>(Canal de mensajería)</p>                    | [Listar interacciones](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                             | `url_de_transcripción` | La transcripción está habilitada de forma predeterminada para los canales de mensajería. |
| <p>Disposiciones</p><p>(Todos los canales)</p>                      | [Listar interacciones](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                             | `disposiciones`        | Una matriz de objetos de disposición.                                                    |
| <p>Notas</p><p>(Todos los canales)</p>                              | [Listar interacciones](https://developers.zoom.us/docs/api/contact-center/#tag/engagements/GET/contact_center/engagements)                                                                                                                                                                                                                                                             | `notas`                | Una matriz 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> | `url_de_descarga`      | Para los correos de voz dejados en una bandeja de entrada del centro de contacto.        |
| Transcripción de 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> | `url_de_transcripción` | Requiere que la transcripción esté habilitada para la bandeja de entrada.                |

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

Las URL de descarga (`url_de_descarga`, `url_de_transcripción`, `playback_url`, y así sucesivamente) proporcionadas por estas API de Zoom son **no** enlaces públicos. Están diseñadas para el acceso mediante programación 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. Un usuario que haga clic en el enlace en su navegador no estará autenticado y la descarga fallará.
* El método correcto es que tu servicio de 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 a tus usuarios un enlace seguro desde allí.
  {% endhint %}

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

**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 a `recording_end_time` al consultar la API de List recordings. Esto recupera datos basados en cuándo terminó el procesamiento, no en cuándo terminó la llamada.
{% endhint %}

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

#### <mark style="color:azul;">Usa webhooks para eventos en tiempo real</mark>

Para un enfoque más inmediato, basado en Evento, puedes suscribirte a los webhooks de ZCC. Este es el método más eficiente para Integraciones en tiempo casi real.

**Cómo funciona**

1. Suscríbete a los eventos adecuados en 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. La carga útil del Evento contiene los datos que necesita, ya sea directamente o como una URL/ID para una llamada de seguimiento a la API.

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

* **Grabación de voz/video:** contacto\_center.recording\_completed (proporciona un `url_de_descarga`)
* **Transcripción de voz/video:** contacto\_center.recording\_transcripción\_completed (proporciona un `url_de_transcripción`)
* **Transcripción de mensajería:** centro\_de\_contacto.interacción\_mensajería\_transcripción\_completado (proporciona un `url_de_transcripción`)
* **Notas:** centro\_de\_contacto.interacción\_nota\_agregada (proporciona un `nota` campo con los datos de la nota)
* **Disposición:** centro\_de\_contacto.interacción\_disposición\_agregada (proporciona un `nombre_de_disposición` campo con los datos de la disposición)

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

* **Tenga en cuenta múltiples eventos:** El `nota_agregada` 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 Eventos no siempre está garantizada al 100 % (por ejemplo, su punto de conexión o conexión websocket podrían estar temporalmente inactivos).
* **Estrategia de respaldo:** Recomendamos ejecutar un script de conciliación nocturna usando APIs de sondeo para detectar los eventos perdidos.
  {% endhint %}

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

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

Para ciertos tipos de datos, puede enviar datos directamente a un sistema externo desde el editor de flujo de ZCC usando 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 usando la `global_system.Engagement.disposición` variable.
* **Transcripción:** Solo es accesible para interacciones de mensajería Entrantes (por ejemplo, chat web) usando la `global_system.Engagement.transcripción` variable.
* **Múltiples Flujos:** Cuando se trabaja con múltiples Flujos en su configuración, particularmente cuando un Flujo usa la `RouteTo` widget para conectarse a otro Flujo, es esencial asegurarse de que los Scripts de Evento y los desencadenadores idénticos estén configurados correctamente en todos los Flujos.

Este método es más potente en un Flow 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 Web Chat), haga clic en el widget Inicio.

Localice los scripts de Evento y Añadir un script de Evento para eventos, como Participación cerrada y/o disposición guardada.

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

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

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

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

    // Prepare 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
    };

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

{% endstep %}
{% endstepper %}

***

### Resumen y recomendaciones

Seleccione el método de Integraciones que mejor se alinee con el flujo de trabajo de sus agentes y sus recursos técnicos.

| Si sus agentes usan...                                     | Entonces, su mejor opción es...                                       | Consideraciones clave:                                                                                                                                |
| ---------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| El ZCC CTI Conector en un CRM compatible                   | La Integraciones integrada                                            | <ul><li>La ruta más sencilla</li><li>No se requiere código</li><li>La función de Sincronizar de los datos de interacción está integrada</li></ul>     |
| La aplicación Zoom Workplace o Smart Embed                 | Webhooks de API con una tarea de sondeo nocturna para la conciliación | <ul><li>La solución personalizada más robusta</li><li>Proporciona datos casi en tiempo real con un proceso de respaldo confiable</li></ul>            |
| Un flujo de mensajería Entrantes (y necesita enviar datos) | Scripts de Evento de flujo                                            | <ul><li>De nicho, pero potente</li><li>Requiere JavaScript</li><li>Funciona mejor para enviar transcripciones de mensajería y disposiciones</li></ul> |

Al comprender estas diferentes opciones, puede crear una Integraciones robusta y confiable que le brinde una vista completa de las interacciones con sus clientes.


---

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