Webhooks de notificación de eventos

Los webhooks salientes son una forma de notificar a otra plataforma cuando se produce uno de los 6 eventos predefinidos en el código de uContact. Cuando se produce un evento, se envía una solicitud HTTP POST a una URL específica a la plataforma de destino. Esta solicitud contiene información sobre el evento en cuestión dependiendo del tipo.

Eventos.

Todos los eventos envían su información en un objeto JSON el cuál contiene información especifica de cada evento. Estos objetos JSON contienen por defecto en todos los casos la fecha y hora que se presenta el evento en el parámetro 'date' y el evento que se presento en el parámetro 'event'.

A continuación se detallará cada uno de los eventos en cuestión con un ejemplo del objeto JSON que se envía en cada caso.

 

Evento

Descripción

Datos que se envían

JSON ejemplo

Evento

Descripción

Datos que se envían

JSON ejemplo

AgentRingNoAnswer

Este evento se ejecuta cuando un agente no responde a una llamada en el tiempo máximo de ring configurado para la campaña.

  • agent: Nombre de usuario

  • agentNumber: Interno agente

  • agentFullName: Nombre completo agente

  • callerIdNum: Número que llama

  • campaign: Campaña por la que ingresa la llamada

{"event":"AgentRingNoAnswer","date":"2023-48-13 06:48:51","agent":"agentTest","agentNumber":"9999","agentFullName":"Agente Test","callerIdNum":"1234","campaign":"Demo<-"}

AgentLog

Este evento se ejecuta cuando un agente inicia o cierra sesión en uContact.

  • agent: Nombre de usuario.

  • isLogin: Dato que solo retornara ‘true’ o ‘false’ en caso de que sea login o logoff correspondientemente.

{"event":"AgentLog","date":"2023-16-13 05:16:22","agent":"agentTest","isLogin":true}

{"event":"AgentLog","date":"2023-16-13 15:18:43","agent":"agentTest","isLogin":false}

AgentBreak

Este evento se ejecuta cuando un agente se coloca o quita su estado de break.

  • agent: Nombre de usuario

  • motive: Motivo de descanso

  • isBreak: Dato que solo retornará ‘true' o 'false’ en caso de que sea un evento break o unbreak.

{"event":"AgentBreak","date":"2023-52-13 04:52:57","agent":"AgentTest","motive":"Lunch","isBreak":true}

{"event":"AgentBreak","date":"2023-52-13 05:52:00","agent":"ccass_sderi","motive":"Lunch","isBreak":false}

FinishInteraction

Este evento se ejecutará cuando se finalice cualquier interacción en un canal de uContact. Ya sea telefonía, webchat, sms o email.

  • guid: Guid de la interacción.

  • campaign: Campaña de atención.

  • agent: Agente que atendio la interacción.

  • duration: Tiempo activo de la interacción.

  • clientId: Identificador de usuario atendido (Depende del canal)

  • channel: Canal por el que se atendió la interacción.

InteractionDisposition

Este evento se ejecutara al momento que un agente de uContact registre una tipificación a una interacción de telefonía.

  • guid: Guid de la interacción

  • campaign: Campaña de atención.

  • agent: Agente que atendió la interacción.

  • value1: Nivel de tipificación 1.

  • value2: Nivel de tipificación 2.

  • value3: Nivel de tipificación 3.

  • channel: Canal de la interacción.

 

Como registrar el Webhook para enviar la notificación del evento.

Actualmente uContact no cuenta con una interfaz de usuario para poder registrar los webhooks sino que es necesario agregarlo a una tabla en la base de datos de manera manual.

La tabla en cuestión es la tabla de nombre ‘webhooks' ubicada en la base de datos ccdata. La cuál tiene la estructura: Id,name,description,event,url,user. Esta ya tiene agregados los eventos de notificación en cuestión y de no haber configurado nada previamente el campo 'url’ debería encontrase vacío. Tal como se muestra en la imagen a continuación.

Para poder registrar el webhook simplemente se tiene que insertar el link en el campo url vacío. Luego de la inserción del campo ya se comenzarían a enviar los datos al link colocado. Este link no puede superar los 256 caracteres.