Hooks
Webhooks de API
Dentro do Portal da Empresa e através da API REST, é possível cadastrar e gerenciar webhooks, que são alertas enviados para uma URL cadastrada pela empresa na ocorrência de algum evento. O alerta enviado consiste em uma requisição HTTP pelo método POST, em que são enviados dados básicos do motivo do evento. Informações mais detalhadas podem ser obtidas através da API REST, de posse dos dados de autenticação. No portal de gestão da empresa, também é possível configurar o envio completo dos dados, retornando as informações relacionadas com o evento no próprio corpo da requisição. Para isso, basta habilitar a opção "Enviar dados completos" ao cadastrar o Webhook no portal da empresa.
Vale lembrar que recomendamos a utilização dos dados incompletos, com a posterior recuperação deles utilizando a Open API, por motivos de segurança. É possível também anexar à requisição uma chave de autenticação que será aplicada ao header Authorization.
Abaixo, você encontra mais detalhes sobre cada um dos webhooks possíveis de serem recebidos:
- Novo cliente esperando
- Cliente saiu da fila
- Nova chamada iniciada
- Tags adicionadas à chamada
- Validação de dados do cliente
- Validação de dados do cliente pelo atendente
- Chamada finalizada
- Chamada avaliada
- Chamada fechada pelo atendente
- Cliente agendou uma nova chamada
- Cliente reagendou uma nova chamada
- Cliente cancelou um agendamento
Observação: 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:
Tipos de Evento e Descrições
Tipo (evento) | Descrição |
---|---|
QUEUED_UP | Cliente entrou na fila |
CALL_FINALIZED | Chamada finalizada |
FORM_SUBMITTED | Cliente preencheu o formulário e enviou para validação |
CALL_STARTED | Chamada iniciada |
QUEUE_LEFT | Cliente clicou em sair da fila |
WIDGET_OPENED | Widget aberto e exibido na tela |
LOCATION_COLLECTED | Localização buscada pelo roteador |
SELECTION_COLLECTED | Opção selecionada no roteador |
CALL_RATED | Chamada avaliada |
OBS: 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
}
{
"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
}
Updated 4 months ago