
# Webhooks Q-Manager
Webhook é uma maneira prática para um sistema ou app fornecer dados para outras aplicações/sistemas com informações em tempo real.
De uma forma bem simples, uma Webhook é o disparo de um evento http (com destino a alguma URL). Esse disparo foi acionado por algum gatilho.
# O que são os nossos eventos/gatilhos?
Os gatilhos são eventos que podem variar de um sistema pra outro. Por exemplo, em um sistema Financeiro, o gatilho de uma webhook pode ser o pagamento efetuado pelo cliente ou o cadastro de um novo cliente.
Em nosso universo de telefonia, nossas webhooks são acionadas através dos seguintes eventos:
Entrou na fila - Quando uma chamada entra em alguma fila
Ringando na fila - Quando uma chamada está tocando em algum operador de uma fila
Atendida - Quando um operador atende uma chamada na fila
Abandono - Quando um número desiste de esperar atendimento na fila
Clique - Quando um operador clica num botão personalizado em seu Webclient durante uma ligação
# Detalhes de cada evento
Como os eventos são de contextos diferentes, cada um envia para a URL configurada um bloco de informações referente ao seu contexto. Alguns com mais detalhes, outros com menos. Abaixo estão os detalhes de cada evento:
# Entrou na fila
# POST
{
"collection":"queue",
"eventtype":"call",
"uniqueid":"1523976313.777",
"callid":"201804171445142020",
"queue":"Developer",
"from":"4899998888",
"calldate":"2018-04-17T11:45:14.442Z",
"event":"agile-incoming",
"context":"default",
"exten":"39548000",
"callflow":[],
"method":"POST"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# GET
URL
http://URL_ENDPOINT/?collection=queue&eventtype=call&uniqueid=1523976430.781&callid=201804171447112020&queue=Developer&from=4899998888&calldate=&event=agile-incoming&context=default&exten=39548000&method=GET
# Atendida
# POST
{
"eventdate":"2018-04-27T16:07:58-03:00",
"agent":"<unknown>",
"membername":"SIP/2026",
"from":"4899998888",
"fromname":"Remoto Vincent",
"queue":"Developer",
"exten":"4839548000",
"holdtime":"6",
"ringtime":"5","userfield":"1524856072_20180427_1607_4899998888_4839518000",
"method":"POST"}
2
3
4
5
6
7
8
9
10
11
# GET
URL
http://URL_ENDPOINT/?eventdate=2018-04-27T16%3A10%3A25-03%3A00&agent=%3Cunknown%3E&membername=SIP%2F2026&from=4899998888&fromname=Remoto%20Vincent&queue=Developer&exten=4839548000&holdtime=2&ringtime=2&userfield=1524856223_20180427_1610_4899998888_4839548000&method=GET
# Abandono
# POST
{
"eventtype":"call",
"uniqueid":"1523986546.834",
"callid":"201804171735472020",
"queue":"Developer",
"from":"4899998888",
"calldate":"2018-04-17T14:35:47.055Z",
"event":"queueabandon",
"context":"default",
"exten":"39548000",
"callflow":[],
"audio":{"record_file_path":"/var/www/html/snep/arquivos/2018-04-17/1523986546_20180417_1435_4899998888_39548000.wav",
"record_file":"1523986546_20180417_1435_4899998888_39548000.wav",
"record_file_basename":"1523986546_20180417_1435_4899998888_39548000"},
"hangupdate":"2018-04-17T14:35:53.024Z",
"duration":"6",
"_id":"5ad630791d3bb7000fe0cd91",
"method":"POST"}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# GET
URL
http://URL_ENDPOINT/?eventtype=call&uniqueid=1523986745.837&callid=201804171739062020&queue=Developer&from=4899998888&calldate=&event=queueabandon&context=default&exten=39548000&audio=&hangupdate=&duration=3&_id=&method=GET
# Clique
# POST
{
"uniqueid":"1523987895.872",
"linkedid":"1523987894.871",
"agent":"1020",
"name":"Vincent Thomas Braga",
"endpoint":"SIP/2099",
"queues":{"Developer":{"pause":"0","state":"off","penalty":"0"}},
"state":"answer",
"event":{"type":"call","content":{"type":"incoming"}},
"from":"4899998888",
"method":"POST",
"field":""}
2
3
4
5
6
7
8
9
10
11
12