Hooks

Notificações enviadas para um URL previamente configurada.

Dentro do Portal da Empresa e por meio da API REST, é possível cadastrar e gerenciar webhooks, que são notificações enviadas para uma URL previamente configurada pela empresa, sempre que um evento específico ocorre. Essas notificações são realizadas por meio de requisições HTTP do tipo POST, contendo informações básicas sobre o evento ocorrido.

Para obter dados mais detalhados, a empresa pode utilizar a API REST, desde que disponha das credenciais de autenticação necessárias. Alternativamente, o portal permite configurar o envio completo das informações do evento diretamente no corpo da requisição, ativando a opção "Enviar dados completos" durante o cadastro do webhook.

Recomendamos, por motivos de segurança, utilizar o modo padrão com dados resumidos e realizar a complementação posteriormente via Open API. Também é possível incluir uma chave de autenticação personalizada no cabeçalho Authorizationdas requisições enviadas.


Segue abaixo webhooks que são possíveis de serem recebidos:

● Novo cliente esperando

● Nova chamada iniciada

● Chamada finalizada

● Chamada avaliada

● Tags da chamada alteradas

● Cliente saiu da fila

● Atendente tirou um screenshot

● Atendente fechou a chamada

● Atendente fechou a solicitação

● Validação dos dados do cliente

● Validação de dados do cliente pelo atendente

● Cliente agendou uma chamada

● Cliente cancelou o agendamento

● Cliente reagendou a chamada


💡

Acesse nossa documentação de Configurações de Firewall para consultar os IPs que serão utilizados para o disparo dos webhooks.


📌 Hooks de Browser


Caso seja necessário a execução de trechos de código dentro do seu site durante o processo de atendimento via Nuvidio, disponibilizamos o envio de mensagens de eventos através do widget sem a necessidade de integrações mais complexas via API. Todo o processo ocorre via Post Message uma funcionalidade nativa dos navegadores.

As mensagens podem ser escutadas via o próprio listener da propriedade window do navegador window.addEventListener. Segue abaixo um exemplo de utilização:


window.addEventListener('message', ({ data }) => {
if (!data) return;
const dataParsed = typeof data === 'string' ? JSON.parse(data) : data;
  
// Valida o tipo correto do evento de finalização
if (dataParsed.type === 'CALL_FINALIZED') {
// Código a ser executado
}
});

Abaixo segue a tabela de eventos emitidos:


Tipo (evento)Descrição
QUEUED_UPCliente entrou na fila
CALL_FINALIZEDChamada finalizada
FORM_SUBMITTEDCliente preencheu o formulário e enviou para validação
CALL_STARTEDChamada iniciada
QUEUE_LEFTCliente clicou em sair da fila
WIDGET_OPENEDWidget aberto e exibido na tela
LOCATION_COLLECTEDLocalização buscada pelo roteador
SELECTION_COLLECTEDOpção selecionada no roteador
CALL_RATEDChamada avaliada

💡

A aplicação envia outros eventos, mas que estão depreciados e não devem ser utilizados já que serão removidos em breve.


Alguns desses Hooks enviam informações adicionais, mas todos seguem o seguinte padrão de retorno:


{
  "type": "CALL_STARTED", // Especificação do tipo da mensagem
  "event": "CALL_STARTED", // Especificação do tipo do evento (geralmente corresponde ao type)
  "page": {
    "pagePath": "cliente/chamada-video", // Path que o cliente se encontrava quando o evento foi emitido
    "platform": "nuvidio" // Identificação da plataforma nuvidio
  },
  "data": {} // Qualquer informação extra quando necessário
}