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"
}
1
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.
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
email String Email do contato
photo String Endereço URL da foto do perfil do contato

createdChat.company

  • company
    • Objeto do evento createdChat. Contem o ID da company.
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).
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
email 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).
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.
email 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.
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.
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.
email 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 o ID da company.
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"
}
1
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"
}
1
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"
}
1
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"
    }
}
1
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"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

createdCustomer

Notificação de contato criado

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"
}
1
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"
}
1
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"
}
1
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"
}
1
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"
}
1
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