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.

Ā