Skip to content

API de Eventos

Introducción

uContact proporciona una API a través de window.postMessage que permite al cliente integrar uContact en un sistema externo. La API permite al cliente suscribirse a eventos enviados por uContact y despachar acciones a la instancia de uContact. El cliente puede utilizar la API para crear una interfaz personalizada para los agentes, integrar uContact en un CRM o crear un sistema de informes personalizado.

Integración

WARNING

Por defecto, uContact viene con una opción que solo permite la integración de sistemas externos en uContact. Si el cliente desea integrar uContact en un sistema externo, debe habilitar la opción que permite la integración de uContact en un iframe. La opción se llama frame-ancestors, y el cliente debe agregar la URL del sistema externo.

Para integrar uContact en un sistema externo, el cliente debe incrustar la instancia de uContact dentro de un iframe.

html
<iframe 
  src="url" 
  scrolling="no" 
  allow="camera;microphone">
  id="uContact"
</iframe>

url: La URL de la instancia de uContact.

allow: Los permisos necesarios para que el iframe acceda a la cámara y al micrófono.

El cliente también debe agregar oyentes de eventos al objeto window del iframe para suscribirse a los eventos enviados por uContact.

javascript

window.addEventListener("message", (e) => {
  const {event, data} = e.data;

  switch(event) {
    case "assignedInteraction":
      // Hacer algo
      break;
    case "finishedInteraction":
      // Hacer algo
      break;
    case "sentDisposition":
      // Hacer algo
      break;
    case "changedTheme":
      // Hacer algo
      break;
    case "changedLanguage":
      // Hacer algo
      break;
    default:
      break;
  }
});

Eventos

assignedInteraction

Este evento se envía cuando se asigna una interacción al agente.

javascript
{
  "guid": "string", // El identificador único de la interacción
  "campaign": "string", // El nombre de la campaña con la que está asociada la interacción
  "channel": "string",  // Canal de la interacción
  "clientId": "string" // ID del cliente
}

finishedInteraction

Este evento se envía cuando se cierra una interacción.

javascript
{
  "guid": "string", // El identificador único de la interacción
  "finishDate": "string", // La fecha y hora en que se cerró la interacción
}

sentDisposition

Este evento se envía cuando un agente envía una disposición para una interacción.

javascript
{
  "guid": "string", // El identificador único de la interacción
  "comment": "string", // El comentario de la disposición
  "levelsId": "Array", // El ID de los niveles
  "levelsValue": "Array" // El valor de los niveles
}

changedTheme

Este evento se envía cuando se cambia el tema del sistema.

javascript
{
  dark: "boolean", // Verdadero si el tema es oscuro
  primary: "string" // El color primario del tema
}

changedLanguage

Este evento se envía cuando se cambia el idioma del sistema.

javascript
"string" // El código del idioma. Por ejemplo, "en" para inglés

Acciones

El cliente puede enviar acciones a la instancia de uContact creando un evento personalizado en el objeto window del iframe.

javascript
const eventData = {
    campaign: "string", // El nombre de la campaña con la que está asociada la interacción
    channel: "string",  // Canal de la interacción
    clientId: "string" // ID del cliente
  }

window.frames["uContact"].postMessage({event: "startInteraction", data: eventData}, "*");

uContact by net2phone