Webhook
O Webhook é um sistema de notificações de eventos capaz de capturar as ações na plataforma Huggy e encaminhar diretamente para o seu sistema. Atualmente você poderá ser notificado sobre:
- Abertura e encerramento de chats
- Criação de contatos
- Mensagens recebidas de seus clientes/contatos
- Mesagens da plataforma oriundas de agentes, bots, URA, entre outras entidades do sistema
Gostaria de receber notificações do nosso Webhook no seu sistema? Visite como utilizar o Webhook e saiba mais.
Para receber uma notificação, você precisa configurar um URL
de notificação no painel da Huggy e os eventos desejados devem estar habilitados para serem disparados nas configurações do seu Webhook.
Abaixo estão listados os eventos disponíveis do Webhook. Todos os eventos são opcionais e podem ser selecionados na plataforma Huggy, portanto, selecione aqueles que são mais relevantes para a experiência que você está tentando criar.
Notificações
Evento de notificação | Descrição |
---|---|
receivedMessage | Recebimento de mensagem na plataforma (o webhook notificará com este evento, chats que estiverem no automatico ou em fila). |
receivedAllMessage | Recebimento de todas as mensagens recebidas pela plataforma (enviados pelo contato do chat). |
createdChat | Quando o um chat é criado através de um canal. |
agentEntered | Quando um agente entra em um chat. |
closedChat | Quando um chat é finalizado. |
answeredChatForm | Descontinuado. |
createdCustomer | Quando um novo contato é criado no painel Huggy. |
startedWidgetAttendance | Quando a solicitação de dados está ativada no Huggy Chat. Este evento é disparado no momento em que o cliente informa os dados e inicia o atendimento. |
startedAutomationFlow | Quando um chat é inicializado em um canal que está usando um flow. |
finishedAutomationFlow | Quando um flow que estava sendo executado em um chat é finalizado. |
sendedAllMessage | Todas as mensagens enviadas por um agente. |
Nota: Um evento é retornado através de uma lista de mensagens. Quando um evento específico é disparado para o seu sistema, ele pode trazer dentro do array, além dos dados do evento em si, outros eventos pertencentes a cadeia de eventos. Isso indica que entre uma ação e sua conclusão demais eventos podem ou não ser disparados conforme veremos.
Variações nos eventos
- Se existir flow de entrada e/ou de saída
- Tipo de mensagens recebidas
Camada Inteligente:
receivedMessage (quando um chat encontra-se em automático ou em fila).Camada humana:
receivedMessage; receivedALLMessage.
- Se para um encerramente de chat existir alguma interação de flow.
Alguns exemplos de notificações
Ação | Notificação | Observação |
---|---|---|
Criação de chat | createdChat | 1. Criado pelo agente. Não há interação de flow antes ou após a criação do chat. |
Criação de chat | createdChat, receivedAllMessage | 1. O cliente cria uma nova conversa. 2. Logo após a criação passa a existir interação do flow. |
Criação de chat | createdChat, receivedAllMessage, startedAutomationFlow | 1. O cliente cria uma nova conversa. 2. O cliente envia uma mensagem. 3. Flow é inicializado. |
Finalizar chat | receivedAllMessage, finishedAutomationFlow, closedChat | 1. Um flow de pesquisa de satisfação é executado. 2. Sua ação é finalizada após a pesquisa. 3. O chat então é encerrado. |
Finalizar chat | receivedALLMessage, closedChat | 1. Uma tabulação é utilizada no encerramento do chat. 2. O chat é encerrado. |
Finalizar chat | agentEntered, finishedAutomationFlow | 1. O agente entra na conversa (por exemplo, retirando ela da fila de espera). 2. O cliente finaliza o atendimento do widget. |
Nota: Considere que os eventos do conteúdo do array serão notificados apenas se estiverem marcados nas configurações do Webhook no painel Huggy.
Entendendo o formato de um evento
Observe que messages
é um array e pode conter vários objetos.
{
"time": 1562964573,
"messages": {
"createdChat": [
{
"id": 19632057,
"channel": "widget",
"situation": null,
"department": false,
"customer": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"company": {
"id": "15691"
}
}
],
"receivedMessage": [
{
"id": "424921135",
"body": "Olá, Kivya!",
"is_internal": false,
"is_email": false,
"sender": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"senderType": "widget",
"receiver": false,
"receiverType": "agent",
"file": null,
"channel": "widget",
"customer": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 19632057,
"channel": "widget",
"situation": "auto",
"department": false,
"customer": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
},
"send_at": "2019-07-12 17:49:33",
"read_at": null,
"company": {
"id": "15691"
}
}
]
},
"token": "8187ce0c2e5d0aefd626fa4999f62974"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Nota: Essa ação foi executada com o evento
receivedAllMessage
desabilitado na plataforma Huggy. Se esse evento estivesse selecionado, receberiamos uma notificação do Webhook com o os respectivos eventos:createdChat
,receivedAllMessage
,receivedMessage
. O chat só é criado quando o cliente envia a primeira mensagem, diferente do agente que ao abrir um chat com um contato, o webhook notificará o createdChat.
O receivedAllMessage é disparado independente de serem mensagens automáticas.
Propriedades do evento
Propriedade | Tipo | Descrição |
---|---|---|
messages | Array | Matriz contendo dados. Podem ter um ou mais eventos. |
messages.createdChat
createdChat
- Evento comunicado pelo Webhook.
Propriedade | Tipo | Descrição |
---|---|---|
id | int | ID do chat. |
channel | String | Canal que o cliente entrou em contato. |
situation | String | Se em atendimento, em fila, finalizado etc. |
department | String | Departamento do chat |
createdChat.customer
customer
- Objeto do evento
createdChat.
Contem dados do cliente.
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do chat |
name | String | Nome do contato |
mobile | String | Número do celular do contato |
phone | String | Número de telefone do contato |
String | Email do contato | |
photo | String | Endereço URL da foto do perfil do contato |
createdChat.company
company
- Objeto do evento
createdChat.
Contem oID
da company.
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID da company com a qual está sendo criado um chat |
messages.receivedMessage
receivedMessage
- Evento comunicado pelo Webhook.
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do contato |
body | String | Mensagem enviada pelo cliente |
is_internal | String | Se a mensagem foi enviada para um chat interno |
is_email | String | Se recebido por email |
receivedMessage.sender
sender
- Objeto do evento
reveivedMessage
. Possui os dados do remetente da mensagem (contato/cliente).
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do contato |
name | String | Nome do contato |
mobile | String | Número do celular do contato |
phone | String | Número do telefone do contato |
String | Email do contato | |
photo | String | Endereço URL da foto do perfil do contato |
messages.receivedMessage
receivedMessage
- Evento comunicado pelo Webhook.
senderType | String | Canal que o cliente entou em contato. |
receiver | String | Nome do contato. |
receiverType | String | Tipo de pessoa que recebe a mensagem. Por exemplo: Agente, Contato. |
file | String | Se foi enviado algum arquivo. |
channel | String | Canal utilizado. |
receivedMessage.customer
customer
- Objeto do evento
receivedMessage
. Possui informações do cliente (contato/cliente).
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do contato. |
name | String | Nome do contato. |
mobile | String | Numero do celular do contato. |
phone | String | Número do telefone do contato. |
String | Email do contato. | |
photo | String | Endereço URL da foto do perfil do contato. |
receivedMessage.chat
chat
- Objeto do evento
receivedMessage
. Possui informações pertencentes ao chat.
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do contato. |
chanel | String | Nome do canal. |
situation | String | Se em atendimento, em fila, finalizado etc. |
departamento | Int | Número do departamento do canal. |
receivedMessage.chat.customer
chat.customer
- Objeto do evento
receivedMessage
. Retorna informações do contato.
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID do contato. |
mobile | String | Número do celular do contato. |
phone | String | Número do telefone do contato. |
String | Email do contato. | |
photo | String | Endereço URL da foto do perfil do contato. |
messages.receivedMessage
receivedMessage
- Evento comunicado pelo Webhook.
send_at | String | Data de recebimento da mensagem. |
read_at | String | Data da última leitura. |
receivedMessage.company
company
- Objeto do evento
createdChat
. Contem oID
da company.
- Objeto do evento
Propriedade | Tipo | Descrição |
---|---|---|
id | Int | ID da company com a qual está sendo criado um chat. |
Notificação de mensagens recebidas
O evento receivedALLMessage
, nesse exemplo, trata-se de um evento notificado pela ação de enviar uma mensagem. O cliente, através do Widget, entrou em contato com o agente Kivya. Para essa ação, não existem eventos automatizados que aconteçam após o contato do cliente.
{
"time": 1562879079,
"messages": {
"receivedAllMessage": [{
"id": "423747203",
"body": "Olá Kivya, tudo bem?",
"is_internal": false,
"is_email": false,
"sender": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"senderType": "widget",
"receiver": {
"id": 39708,
"name": "Kivya",
"mobile": "5575999999999",
"phone": "5575999999999",
"email": "knsilvestre@gmail.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"receiverType": "agent",
"file": null,
"channel": "widget",
"customer": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 19585255,
"channel": "widget",
"situation": "in_chat",
"department": false,
"customer": {
"id": 2574725,
"name": "L8883851555530376861",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
},
"send_at": "2019-07-11 18:04:39",
"read_at": null,
"company": {
"id": "15691"
}
}]
},
"token": "8817ce0c2e5d0aefd626fa4999f62974"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Para melhorar sua experiência de navegação pelos eventos, você pode clicar em qualquer evento da lista acima, ou clicar no título de qualquer evento para voltar para a lista de eventos.
receivedMessage
Notificação de mensagem recebida
A Huggy envia para o seu sistema uma notificação quando uma mensagem é recebida.
{
"time": 1524155854,
"messages": {
"receivedMessage": [
{
"id": "51917884",
"body": "teste",
"is_internal": false,
"is_email": false,
"sender": {
"id": 419689,
"name": "Charles",
"mobile": "557599999999",
"phone": "557599999999",
"email": "charles@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"senderType": "widget",
"receiver": false,
"receiverType": "agent",
"file": null,
"channel": "widget",
"customer": {
"id": 419689,
"name": "Charles",
"mobile": "557599999999",
"phone": "557533333333",
"email": "charles@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 2932424,
"channel": "widget",
"situation": "wait_for_chat",
"department": 11445
},
"send_at": "2018-04-19 13:37:34",
"read_at": null,
"company": {
"id": "6618"
}
}
]
},
"token": "132ce76c7abb1154f01ebc0d508162e4"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Nota: você será comunicado com um receivedMessage quando um chat estiver em fila ou em automático. Se um agente colocar um chat em fila e você for notificado com um evento agentEntered, a opçao de distribuição automática certamente estará habilitada no painel. Para uma experiência clara com o webhook, certifique-se disto.
receivedAllMessage
Notificação de todas as mensagens recebidas e/ou enviadas
A Huggy envia uma notificação para o seu sistema sempre que uma mensagem é recebida. Existe um detalhe importante que diferencia o receivedAllMessage
do evento receivedMessage
. O receivedAllMessage
é disparado independente de serem mensagens automáticas (Bots, URA, ...) ou de clientes ou agentes.
{
"time": 1524146026,
"messages": {
"receivedAllMessage": [
{
"id": "51917874",
"body": "Eu!",
"is_internal": false,
"is_email": false,
"sender": {
"id": 419688,
"name": "João",
"mobile": "557599999999",
"phone": "557533333333",
"email": "joao@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"senderType": "widget",
"receiver": {
"id": 8792,
"name": "Patricia Santos",
"mobile": "557533333333",
"phone": "557599999999",
"email": "patricia@teste.com",
"photo": "https://cdn.pzw.io/03a3e95e84ccd5f19140ce6db54f71f1.jpg"
},
"receiverType": "agent",
"file": null,
"channel": "widget",
"customer": {
"id": 419688,
"name": "João",
"mobile": "557599999999",
"phone": "557533333333",
"email": "joao@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 2932423,
"channel": "widget",
"situation": "in_chat",
"department": 11445
},
"send_at": "2018-04-19 10:53:45",
"read_at": null,
"company": {
"id": "9999"
}
}
]
},
"token": "132ce76c7abb1154f01ebc0d508162e4"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
createdChat
Notificação de atendimento aberto
A Huggy envia uma notificação para o seu sistema quando um chat for criado.
{
"time":1501188213,
"messages":{
"createdChat": [{
"id": 999999,
"channel": "widget",
"situation": null,
"department": false
}],
"token":"16f64ecc76487a909e278866071b4da8"
}
}
2
3
4
5
6
7
8
9
10
11
12
closedChat
Notificação de atendimento encerrado
A Huggy envia uma notificação para o seu sistema sempre que é encerrado um atendimento, seja pela ação do agente, cliente ou pela finalização automática que pode ser configurada no painel.
{
"time": 1524141031,
"messages": {
"closedChat": [
{
"id": 2932410,
"channel": "widget",
"closed_at": "2018-04-19 09:30:30",
"tabulation": false,
"company": {
"id": "9999"
}
}
]
},
"token": "132ce76c7abb1154f01ebc0d508162e4"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
createdCustomer
A Huggy envia uma notificação para o seu sistema sempre que é criado um novo contato (Cliente).
{
"time": 1524151261,
"messages": {
"createdCustomer": [
{
"id": 1202213,
"name": "charles",
"mobile": "5575999999999",
"phone": "557533333333",
"email": "charles@teste.com",
"photo": "no_photo",
"company": {
"id": "9999"
}
}
]
},
"token": "132ce76c7abb1154f01ebc0d508162e4"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
startedWidgetAttendance
Notificação de novo atendimento via Widget
A Huggy envia uma notificação para o seu sistema sempre que é criado um atendimento via Widget.
{
"time": 1524151902,
"messages": {
"startedWidgetAttendance": [
{
"id": 18516008,
"name": "Charles",
"mobile": "557599999999",
"phone": "557533333333",
"email": "charles@teste.com",
"widget": "2008",
"company": {
"id": "9999"
}
}
]
},
"token": "132ce76c7abb1154f01ebc0d508162e4"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
startedAutomationFlow
Notificação de que o Flow foi iniciado
A Huggy envia uma notificação para o seu sistema sempre que um Flow é iniciado.
{
"time": 1530109996,
"messages": {
"startedAutomationFlow": [
{
"chatID": 99999,
"lastActionID": 99999,
"companyID": "99999",
"flowID": 99999,
"context": {
"SYSTEM.TIME_HELLO": "bom dia",
"SYSTEM.CHAT_ID": "99999",
"SYSTEM.DEPARTMENT_NAME": "",
"SYSTEM.DEPARTMENT_ORDER": "",
"SYSTEM.CLIENT_NAME": "",
"SYSTEM.CLIENT_FIRST_NAME": "",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "",
"SYSTEM.COMPANY_NAME": "Teste",
"SYSTEM.COMPANY_NUMBER": "9999999999",
"SYSTEM.AGENT_NAME": "",
"SYSTEM.AGENT_MAIL": "",
"SYSTEM.AGENT_PHONE": ""
},
"company": {
"id": "99999"
}
}
]
},
"token": "871458dcsvffe7d7d4177e47fr4d4sd74"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
finishedAutomationFlow
Notificação de Flow finalizado
A Huggy envia uma notificação para o seu sistema sempre que um flow é finalizado.
{
"time": 1530110012,
"messages": {
"finishedAutomationFlow": [
{
"chatID": 99999,
"lastActionID": 99999,
"companyID": "99999",
"flowID": 99999,
"context": {
"SYSTEM.TIME_HELLO": "bom dia",
"SYSTEM.CHAT_ID": "99999",
"SYSTEM.DEPARTMENT_NAME": "",
"SYSTEM.DEPARTMENT_ORDER": "",
"SYSTEM.CLIENT_NAME": "",
"SYSTEM.CLIENT_FIRST_NAME": "",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "",
"SYSTEM.COMPANY_NAME": "Teste",
"SYSTEM.COMPANY_NUMBER": "9999999999",
"SYSTEM.AGENT_NAME": "",
"SYSTEM.AGENT_MAIL": "",
"SYSTEM.AGENT_PHONE": "",
"hash_fluxo.pergunta": "Resposta"
},
"company": {
"id": "99999"
}
}
]
},
"token": "871458dcsvffe7d7d4177e47fr4d4sd74"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
sendedAllMessage
Notificação de mensagem enviada pela plataforma Huggy
A Huggy envia uma notificação para o seu sistema sempre que uma mensagem for enviada por um agente da sua company.
{
"time": 1563279612,
"messages": {
"sendedAllMessage": [
{
"id": "270925787",
"body": "Claro. Vamos lá!",
"is_internal": false,
"is_email": false,
"sender": {
"id": 33980,
"name": "Amanda Muniz",
"mobile": "557599999999",
"phone": "557533333333",
"email": "Amanda@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"senderType": "agent",
"receiver": {
"id": 1841823,
"name": "carlos",
"mobile": "557599999999",
"phone": "557533333333",
"email": "carlos@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"receiverType": "widget",
"file": null,
"channel": "agent",
"customer": {
"id": 1841823,
"name": "carlos",
"mobile": "557599999999",
"phone": "557533333333",
"email": "carlos@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 13120639,
"channel": "widget",
"situation": "in_chat",
"department": false,
"customer": {
"id": 1841823,
"name": "carlos",
"mobile": "557599999999",
"phone": "557533333333",
"email": "teste@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
}
},
"send_at": "2019-07-16 09:20:11",
"read_at": null,
"company": {
"id": "11721"
}
}
]
},
"token": "af0adcc862a9343c1d44e24cbdc0293c"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
← API v3