# Webhook
O Webhook (opens new window) permite capturar ações na plataforma Huggy e encaminhar notificações de eventos diretamente para o seu sistema. Você pode ser notificado sobre:
- Abertura e encerramento de chats;
- Criação de contatos;
- Mensagens recebidas de seus contatos;
- Mensagens da plataforma oriundas de agentes, bots, URA, entre outras entidades do sistema.
# Autenticação
Você pode utilizar o Webhook da Huggy de duas maneiras: pela configuração padrão do painel ou usando a estrutura de aplicativos da Huggy.
Para usar a configuração padrão, acesse a plataforma e vá para Configurações > Webhook.
Ao inserir ou atualizar a URL do seu sistema, a Huggy enviará uma requisição do tipo POST no seguinte formato:
{
"token":"380c4e7399999999999999999999d354",
"validToken":true
}
2
3
4
Para finalizar com sucesso o processo de autenticação, seu sistema deve enviar uma nova requisição para a Huggy contendo o token explícito.
Feito isso, é só escolher os eventos que deseja ser notificado.
TIP
✔️ Veja uma implementação prática desse tipo de autenticação utilizando o Google Apps Script.
A estrutura de aplicativos da Huggy também permite encaminhar as notificações de eventos para diferentes sistemas simultaneamente. Para utilizá-la, você deve executar o fluxo de autenticação da API v3.
Acesse a plataforma, vá para Configurações > Seus aplicativos e adicione um aplicativo.
Com o aplicativo autenticado, adicione a URL do seu sistema para que os eventos de Webhook sejam encaminhados.
TIP
✔️ Confira uma solução prática para realizar o processo de autenticação usando uma interface personalizada e intuitiva.
# Notificações
Abaixo estão listados os eventos do Webhook. Todos eles podem ser selecionados na plataforma Huggy, portanto, escolha aqueles relevantes para a experiência que você pretende criar.
| Event of notification | Description |
|---|---|
| receivedMessage | Mensagens recebidas na plataforma, o webhook notificará eventos de chats que estão em fila ou automática |
| receivedAllMessage | Obtem todas as mensagens recebidas por um contato do chat |
| startedChat | Quando um chat for criado por um canal |
| createdChat | Deprecated |
| agentEntered | Quando o agente entra na conversa |
| closedChat | Quando um chat é finalizado |
| answeredChatForm | Deprecated |
| createdCustomer | Quando um novo contato é criado no painel Huggy |
| startedWidgetAttendance | Iniciado quando a solicitação de dados está ativada no Huggy Chat. Este evento é iniciado quando o cliente informa os dados e inicializa o atendimento |
| startedAutomationFlow | Quando um chat é inicializado em um canal que está usando flow |
| finishedAutomationFlow | Quando um flow que estava sendo executado em um chat é finalizado |
| sentAllMessage | Todas as mensagens enviadas por um agente |
| updatedWorkflowStep | Quando houver mudança da etapa do workflow do chat |
| leftQueue | Quando um chat sai da fila de atendimento |
| agentChangedStatus | Quando um agente atualiza o status |
| updatedCustomer | Quando um contato é atualizado |
| newInternalMessage | Quando é enviado uma mensagem interna |
| asyncExportData | Quando os dados são exportados |
| updatedChatDepartment | Quando o departamento do chat é atualizado |
Mensagens recebidas na plataforma, o webhook notificará eventos de chats que estão em fila ou automática
Deprecated
Deprecated
Iniciado quando a solicitação de dados está ativada no Huggy Chat. Este evento é iniciado quando o cliente informa os dados e inicializa o atendimento
Nota: Um evento é retornado como uma lista de mensagens. Quando um evento específico é enviado ao seu sistema, ele pode trazer outros eventos pertencentes aos eventos da cadeia, além dos dados do evento. Isso indica que entre uma ação e sua conclusão, outros eventos podem ser ou não ser acionados.
# Processamento de variáveis de contexto
A Huggy utiliza uma coleção de variáveis de contexto (opens new window) predefinidas que podem ser utilizadas diretamente em ações do Flow, tais como ação de Envio de Mensagem, Condicional, Pergunta, entre outras.
Essas variáveis são criadas durante a execução do Flow, e esse comportamento impacta diretamente nos dados que serão exibidos no payload de eventos que sua organização esteja rastreando. É importante a compreensão de como se dá a criação das variáveis de contexto para que não haja dúvidas quanto ao seu funcionamento. Sempre que um Flow é executado, as variáves são recriadas e para melhor ilustrar esse funcionamento, tomemos o seguinte exemplo:
Supomos que a sua organização esteja rastreando os eventos de startedAutomationFlowEvent e finishedAutomationFlowEvent. É fácil compreender que, quando o atendimento for criado, o contexto do chat não terá informações do agente até que um agente pegue o atendimento. Portanto, o evento startedAutomationFlowEvent não terá informações de agente, ainda que as variáveis predefinidas ligadas à informações do agente estejam presentes em ações do Flow. Ainda tomando esse mesmo exemplo, quando um chat é finalizado, você poderá notar que sua organização receberá as notificações de ambos os eventos, porém, dessa vez, o contexto do chat já possui as informações e as variáveis ao serem recriadas para o evento finishedAutomationFlowEvent, receberá os valores correspondentes.
# Criação de variáveis de contexto no início do atendimento
{
"time": 1709256108,
"messages": {
"startedAutomationFlow": [
{
"chatID": 214570,
"companyID": "1",
"flowID": 70582,
"flowToken": "eb72feea-f7d1-4096-b53f-0f276bd58f03",
"context": {
"SYSTEM.TIME_HELLO": "Bem-vindo",
"SYSTEM.CHAT_ID": 214570,
"SYSTEM.CHAT_CREATED_DATE": "2024-02-29 22:21:47",
"SYSTEM.DEPARTMENT_NAME": "Sem departamento",
"SYSTEM.DEPARTMENT_ORDER": null,
"SYSTEM.CLIENT_NAME": "Charles",
"SYSTEM.CLIENT_FIRST_NAME": "Charles",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "+5511999999999",
"SYSTEM.CLIENT_EMAIL": "charles@webster.com",
"SYSTEM.CLIENT_ORGANIZATION_ID": null,
"SYSTEM.CLIENT_ORGANIZATION_NAME": null,
"SYSTEM.COMPANY_NAME": "Huggy Testing",
"SYSTEM.COMPANY_NUMBER": "551199995555",
"SYSTEM.AGENT_NAME": null,
"SYSTEM.AGENT_MAIL": null,
"SYSTEM.AGENT_PHONE": null,
"SYSTEM.QUEUE_POSITION": "",
"SYSTEM.WORKFLOW_ID": null,
"SYSTEM.WORKFLOW_STEP_ID": null,
"SYSTEM.CURRENT_MESSAGE": "Olá"
},
"company": {
"id": 1
}
}
],
"finishedAutomationFlow": [
{
"chatID": 214570,
"companyID": "1",
"flowID": 70582,
"flowToken": "eb72feea-f7d1-4096-b53f-0f276bd58f03",
"context": {
"SYSTEM.TIME_HELLO": "Bem-vindo",
"SYSTEM.CHAT_ID": 214570,
"SYSTEM.CHAT_CREATED_DATE": "2024-02-29 22:21:47",
"SYSTEM.DEPARTMENT_NAME": "Sem departamento",
"SYSTEM.DEPARTMENT_ORDER": null,
"SYSTEM.CLIENT_NAME": "Charles",
"SYSTEM.CLIENT_FIRST_NAME": "Charles",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "+551199999999",
"SYSTEM.CLIENT_EMAIL": "carlos@webster.com",
"SYSTEM.CLIENT_ORGANIZATION_ID": null,
"SYSTEM.CLIENT_ORGANIZATION_NAME": null,
"SYSTEM.COMPANY_NUMBER": "551199995555",
"SYSTEM.AGENT_PHONE": null,
"SYSTEM.QUEUE_POSITION": "",
"SYSTEM.WORKFLOW_ID": null,
"SYSTEM.WORKFLOW_STEP_ID": null,
"SYSTEM.CURRENT_MESSAGE": "Id da organização: 1\nnome da organização: Huggy Testing\n",
"huggy.chat.agent.id": null,
"huggy.chat.agent.name": null,
"huggy.chat.agent.email": null,
"huggy.chat.company.id": 1,
"huggy.chat.company.name": "Huggy Testing"
},
"company": {
"id": 1
}
}
]
},
"token": "5e8b9943da099dbd05c53c48662c31ab"
}
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
74
75
76
Nota: O atendimento é criado, ambos os eventos são disparados, porém o contexto do atendimento ainda não possui um agente.
# Recriação de variáveis de contexto na finalização do atendimento
{
"time": 1709256136,
"messages": {
"startedAutomationFlow": [
{
"chatID": 214570,
"companyID": "1",
"flowID": 70582,
"flowToken": "eb72feea-f7d1-4096-b53f-0f276bd58f03",
"context": {
"SYSTEM.TIME_HELLO": "Bem-vindo",
"SYSTEM.CHAT_ID": 214570,
"SYSTEM.CHAT_CREATED_DATE": "2024-02-29 22:21:47",
"SYSTEM.DEPARTMENT_NAME": "Sem departamento",
"SYSTEM.DEPARTMENT_ORDER": null,
"SYSTEM.CLIENT_NAME": "Charles",
"SYSTEM.CLIENT_FIRST_NAME": "Charles",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "+551199999999",
"SYSTEM.CLIENT_EMAIL": "carlos@webster.com",
"SYSTEM.CLIENT_ORGANIZATION_ID": null,
"SYSTEM.CLIENT_ORGANIZATION_NAME": null,
"SYSTEM.COMPANY_NUMBER": "551199995555",
"SYSTEM.AGENT_PHONE": null,
"SYSTEM.QUEUE_POSITION": "",
"SYSTEM.WORKFLOW_ID": null,
"SYSTEM.WORKFLOW_STEP_ID": null,
"SYSTEM.CURRENT_MESSAGE": "Id da organização: 1\nnome da organização: Huggy Testing\n",
"huggy.chat.agent.id": null,
"huggy.chat.agent.name": null,
"huggy.chat.company.id": 1,
"huggy.chat.agent.email": null,
"huggy.chat.company.name": "Huggy Testing"
},
"company": {
"id": 1
}
}
],
"finishedAutomationFlow": [
{
"chatID": 214570,
"companyID": "1",
"flowID": 70582,
"flowToken": "eb72feea-f7d1-4096-b53f-0f276bd58f03",
"context": {
"SYSTEM.TIME_HELLO": "Bem-vindo",
"SYSTEM.CHAT_ID": 214570,
"SYSTEM.CHAT_CREATED_DATE": "2024-02-29 22:21:47",
"SYSTEM.DEPARTMENT_NAME": "Sem departamento",
"SYSTEM.DEPARTMENT_ORDER": null,
"SYSTEM.CLIENT_NAME": "Charles",
"SYSTEM.CLIENT_FIRST_NAME": "Charles",
"SYSTEM.CLIENT_SECOND_NAME": "",
"SYSTEM.CLIENT_NUMBER": "+551199999999",
"SYSTEM.CLIENT_EMAIL": "charles@webster.com",
"SYSTEM.CLIENT_ORGANIZATION_ID": null,
"SYSTEM.CLIENT_ORGANIZATION_NAME": null,
"SYSTEM.COMPANY_NUMBER": "551199995555",
"SYSTEM.AGENT_PHONE": null,
"SYSTEM.QUEUE_POSITION": "",
"SYSTEM.WORKFLOW_ID": null,
"SYSTEM.WORKFLOW_STEP_ID": null,
"SYSTEM.CURRENT_MESSAGE": "Id da organização: 1\nnome da organização: Huggy Testing\n",
"huggy.chat.agent.id": 40419,
"huggy.chat.agent.name": "John Doe",
"huggy.chat.company.id": 1,
"huggy.chat.agent.email": "john@doe.com",
"huggy.chat.company.name": "Huggy Testing"
},
"company": {
"id": 1
}
}
]
},
"token": "5e8b9943da099dbd05c53c48662c31ab"
}
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
74
75
76
77
78
Nota: O atendimento é finalizado, ambos os eventos são disparados e o contexto do atendimento possui informações do agente que serão vinculadas ao evento correspondente à finalização de chat.
# Exemplos práticos
# 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
| Action | Notification | Note |
|---|---|---|
| Criação de chat | startedChat | 1. Criado por um agente. Não tem interação com um Flow. |
| Criação de chat | startedChat, receivedAllMessage | 1. O cliente cria um novo atendimento e enviou uma mensagem para o chat. 2. Após a criação, há interação do Flow. |
| Criação de chat | startedChat, receivedAllMessage, startedAutomationFlow | 1. O cliente cria um novo chat. 2. O cliente envia uma mensagem. 3. Um Flow foi inicializado no chat. |
| Finalizar chat | startedAutomationFlow, receivedAllMessage, finishedAutomationFlow, closedChat | 1. Um Flow de saída com uma ação de feedback é executado. 2. O cliente responde ao feedback. 3. O chat está fechado. |
| Finalizar chat | sentAllMessage, closedChat | 1. O agente informa ao cliente que o chat será fechado. 2. Uma tabulação é definida quando este chat é fechado. 3. O chat está fechado. |
| Finalizar chat | agentEntered, closedChat | 1. Um agente entra em um chat (retirando-o da fila, por exemplo). 2. O chat está encerrado. |
startedChat
Exemplo: 1. Criado por um agente. Não tem interação com um Flow.
startedChat, receivedAllMessage
Exemplo: 1. O cliente cria um novo atendimento e enviou uma mensagem para o chat. 2. Após a criação, há interação do Flow.
startedChat, receivedAllMessage, startedAutomationFlow
Exemplo: 1. O cliente cria um novo chat. 2. O cliente envia uma mensagem. 3. Um Flow foi inicializado no chat.
startedAutomationFlow, receivedAllMessage, finishedAutomationFlow, closedChat
Exemplo: 1. Um Flow de saída com uma ação de feedback é executado. 2. O cliente responde ao feedback. 3. O chat está fechado.
sentAllMessage, closedChat
Exemplo: 1. O agente informa ao cliente que o chat será fechado. 2. Uma tabulação é definida quando este chat é fechado. 3. O chat está fechado.
agentEntered, closedChat
Exemplo: 1. Um agente entra em um chat (retirando-o da fila, por exemplo). 2. O chat está encerrado.
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": 1631130946,
"messages": {
"startedChat": [
{
"id": 171789,
"situation": "auto",
"channel": {
"id": 19507,
"uuid": "7b1413d6-2e67-43f8-a015-0542c62f7854",
"name": "Huggy Chat"
},
"department": null,
"contact": {
"id": 169163,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"pipe": null,
"company": {
"id": 3526
}
}
],
"receivedMessage": [
{
"id": 931354,
"body": "Olá",
"is_internal": false,
"is_email": false,
"sender": {
"id": 633,
"name": "John Doe",
"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": 633,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 171789,
"channel": "widget",
"situation": "wait_for_chat",
"department": false,
"customer": {
"id": 633,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"workflowID": null,
"workflowStepID": null
},
"send_at": "2021-09-08 16:55:44",
"read_at": null,
"company": {
"id": 3526
}
}
]
},
"token": "3024b31r97d4b1b19c5fe513d85d7bb3"
}
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
74
75
76
77
78
79
80
Nota: Essa ação foi executada com o evento
receivedAllMessagedesabilitado na plataforma Huggy. Se esse evento estivesse selecionado, receberiamos uma notificação do Webhook com o os respectivos eventos:startedChat,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 startedChat. O receivedAllMessage é disparado independente de serem mensagens automáticas.
# Propriedades do evento
| Properties | Type | Description |
|---|---|---|
| time | integer | coming soon |
| messages | array[Message] | Um array que retorna os eventos do webhook. |
| startedChat | StartedChat | Contém dados da criação de chat |
| receivedMessage | ReceivedMessage | Contém dados do recebimento de mensagens |
| token | string | coming soon |
Exemplo: coming soon
Exemplo: coming soon
startedChat
| Properties | Type | Description |
|---|---|---|
| id | integer | Número identificador do chat |
| situation | string | Em atendimento, em fila, finalizado etc. |
| channel | string | Canal que o cliente entrou em contato |
| department | string | Departamento do chat |
| contact | Customer | Dados do cliente |
| company | Company | Dados da empresa |
Customer
| Properties | Type | Description |
|---|---|---|
| id | integer | Número identificador do chat |
| name | string | Nome do contato |
| mobile | string | Celular do contato |
| phone | string | Telefone do contato |
| string | E-mail do contato | |
| photo | string | Foto do contato |
Exemplo: Número identificador do chat
Exemplo: Nome do contato
Exemplo: Celular do contato
Exemplo: Telefone do contato
Exemplo: E-mail do contato
Exemplo: Foto do contato
Company
| Properties | Type | Description |
|---|---|---|
| id | integer | Identificador da empresa onde o chat foi criado |
Identificador da empresa onde o chat foi criado
receivedMessage
| Properties | Type | Description |
|---|---|---|
| id | integer | Identificador do contato |
| body | string | Mensagem enviada para o cliente |
| is_internal | string | Se uma mensagem foi enviada para um chat interno |
| is_email | string | Se uma mensagem foi recebida por e-mail |
| sender | Sender | Dados do remetente da mensagem |
| senderType | string | Canal que o cliente entrou em contato |
| receiver | string | Nome do contato |
| receiverType | string | Tipo de pessoa que recebeu a mensagem. Por exemplo: Agente, Contato. |
| file | string | Se foi enviado algum arquivo. |
| channel | string | Canal utilizado. |
| customer | Customer | Dados do cliente. |
| chat | Chat | Informações do chat. |
| send_at | string | Data de recebimento da mensagem. |
| read_at | string | Data da ultima leitura. |
Exemplo: Identificador do contato
Exemplo: Mensagem enviada para o cliente
Exemplo: Se uma mensagem foi enviada para um chat interno
Exemplo: Se uma mensagem foi recebida por e-mail
Exemplo: Canal que o cliente entrou em contato
Exemplo: Nome do contato
Exemplo: Tipo de pessoa que recebeu a mensagem. Por exemplo: Agente, Contato.
Exemplo: Se foi enviado algum arquivo.
Exemplo: Canal utilizado.
Exemplo: Data de recebimento da mensagem.
Exemplo: Data da ultima leitura.
Sender
| Properties | Type | Description |
|---|---|---|
| id | integer | Identificador do contato |
| name | string | Nome do contato |
| mobile | string | Celular do contato |
| phone | string | Telefone do contato |
| string | E-mail do contato | |
| photo | string | url da foto do perfil do contato |
Exemplo: Identificador do contato
Exemplo: Nome do contato
Exemplo: Celular do contato
Exemplo: Telefone do contato
Exemplo: E-mail do contato
Exemplo: url da foto do perfil do contato
Chat
| Properties | Type | Description |
|---|---|---|
| id | integer | Identificador do contato |
| channel | string | Nome do canal |
| situation | string | Se o chat está em atendimento, em fila, finalizado, etc. |
| department | string | Número do departamento do canal. |
| customer | Customer | Dados do cliente. |
Exemplo: Identificador do contato
Exemplo: Nome do canal
Exemplo: Se o chat está em atendimento, em fila, finalizado, etc.
Exemplo: Número do departamento do canal.
# Formato da mensagem
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 recebimento de mensagem
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
startedChat
# Notificação de abertura de atendimento
A Huggy envia uma notificação para o seu sistema quando um chat for criado.
{
"time": 1631107925,
"messages": {
"startedChat": [
{
"id": 171780,
"situation": "auto",
"channel": {
"id": 101,
"uuid": "298745b9-6af7-4e8b-a2t6-719b6b9b9ddd",
"name": "Huggy Agent",
"type": "Email"
},
"department": null,
"contact": {
"id": 566,
"name": "John Doe",
"mobile": "5511999999999",
"phone": "5511999999999",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": {
"profession": null
}
},
"pipe": null,
"company": {
"id": 3526
}
}
]
},
"token": "3124b32e97d3b1b09c5fe513d95d6bb1"
}
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
WARNING
⚠️ Este evento substitui o antigo createdChat.
agentEntered
# Notificação de entrada do agente ao chat
A Huggy envia uma notificação para o seu sistema sempre que um agente for inserido em uma conversa.
{
"time": 1583439114,
"messages": {
"agentEntered": [
{
"id": 30608118,
"channel": "email",
"situation": "in_chat",
"department": false,
"customer": {
"id": 8341726,
"name": "Charles Edward",
"mobile": "75999999999",
"phone": "7533333333",
"email": "edward@teste.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"agent": {
"id": 40419,
"name": "John Doe",
"mobile": "5575999999999",
"phone": "5575999999999",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"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
closedChat
# Notificação de chat finalizado
A Huggy envia uma notificação para o seu sistema sempre que um chat for finalizado.
{
"time": 1583439671,
"messages": {
"closedChat": [
{
"id": 30608118,
"channel": "email",
"closed_at": "2020-03-05 17:21:10",
"tabulation": false,
"situation": "finishing",
"closed": 1,
"company": {
"id": "15691"
}
}
]
},
"token": "8817ce0c2e5d0aefd626fa4999f62974"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
createdCustomer
# Notificação de criação de contato
A Huggy envia uma notificação para o seu sistema sempre que um novo contato (Cliente) é criado.
{
"time": 1722277423,
"messages": {
"createdCustomer": [
{
"id": 217806,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": {},
"organizations": [
{
"id": 16146,
"name": "DCS - Brasil"
}
],
"groups": [
{
"id": 12,
"name": "DCS"
}
],
"company": {
"id": 1
}
}
]
},
"token": "e45c51f6c888f21c9d3fa645dd3e8233"
}
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
startedWidgetAttendance
# Notificação de novo atendimento pelo Huggy Chat
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
sentAllMessage
# 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": {
"sentAllMessage": [
{
"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
61
updatedWorkflowStep
# Notificação de mudanças na etapa do Workflow
A Huggy envia uma notificação para o seu sistema sempre que houver mudanças na etapa do workflow do chat.
{
"time": 1612806064,
"messages": {
"updatedWorkflowStep": [
{
"agent": {
"id": 40419,
"name": "John Doe",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"chat": {
"id": 31155221,
"channel": "widget",
"situation": "in_chat",
"department": false,
"customer": {
"id": 4362755,
"name": "L4732015503367501516",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"workflowID": 6074,
"workflowStepID": 7611
},
"step": {
"id": 7611,
"name": "etapa 2",
"workflow": {
"id": 6074,
"name": "Workflow de Teste"
}
},
"previousStep": {
"id": 7610,
"name": "etapa 1",
"workflow": {
"id": 6074,
"name": "Workflow de Teste"
}
},
"company": {
"id": 11721
}
}
]
},
"token": "9aee897289bd0576d6e13adf97dad96c"
}
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
leftQueue
# Notificação de chats saindo da fila de atendimento
A Huggy envia uma notificação para o seu sistema sempre que um chat sair da fila de atendimento.
{
"time": 1642602560,
"messages": {
"leftQueue": [
{
"id": 92340841,
"situation": "in_chat",
"agent": {
"id": 40419
},
"channel": {
"id": 50,
"uuid": "dfab45f1-a203-3ffe-ie44-2fafa6c88476",
"name": "John Doe"
},
"department": null,
"contact": {
"id": 37427857,
"name": "Customer",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": {
"teste_customer": null,
"ultimo_endereco_customer": null
}
},
"pipe": null,
"company": {
"id": 15693
}
}
]
},
"token": "afb63a5e1abreece89f1c80acb1686ac"
}
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
agentChangedStatus
# Notificação de atualização do status do agente
A Huggy envia uma notificação para o seu sistema sempre que um agente atualizar o status.
{
"time": 1644341895,
"messages": {
"agentChangedStatus": [
{
"id": 40419,
"name": "John Doe",
"mobile": "75999999999",
"phone": "7533333333",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"isActive": true,
"isOnline": true,
"isAvailable": true,
"statusID": null,
"origin": "manually",
"company": {
"id": 15693
}
}
]
},
"token": "afb53a5e1abeeece89f2c80acb1686ab"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
updatedCustomer
# Notificação de contato atualizado
A Huggy envia uma notificação para o seu sistema sempre que um contato for atualizado.
{
"time": 1722277720,
"messages": {
"updatedCustomer": [
{
"id": 217806,
"name": "John Doe",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": {},
"organizations": [
{
"id": 16146,
"name": "DCS - Brasil"
}
],
"groups": [
{
"id": 12,
"name": "DCS"
}
],
"company": {
"id": 1
}
}
]
},
"token": "e45c51f6c888f21c9d2fa645dd3e8233"
}
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
newInternalMessage
# Notificação de mensagem interna
A Huggy envia uma notificação para o seu sistema sempre que uma mensagem interna é enviada no chat.
{
"time": 1708370297,
"messages": {
"newInternalMessage": [
{
"id": 1288613,
"body": "Testing internal message",
"is_internal": true,
"is_email": false,
"sender": {
"id": 49851,
"name": "John Doe",
"mobile": "5511999999999",
"phone": "551133333333",
"email": "john@doe.com",
"photo": "https://panel-testing-panelback-php8-cdn-origin.s3.amazonaws.com/9d2149754d95b7c9db8e7b8cffa147a1.png",
"isActive": true,
"isOnline": true,
"isAvailable": true,
"statusID": null,
"statusType": 1
},
"senderType": "agent",
"receiver": {
"id": 213955,
"name": "Igor",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": []
},
"receiverType": "telegram_bot",
"file": null,
"chat": {
"id": 214420,
"channel": "telegram_bot",
"situation": "in_chat",
"department": false,
"customer": {
"id": 213955,
"name": "Igor",
"mobile": null,
"phone": null,
"email": null,
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg",
"custom_fields": []
},
"workflowID": null,
"workflowStepID": null
},
"send_at": "2024-02-19 16:18:17",
"read_at": null,
"company": {
"id": 1
}
}
]
},
"token": "5e8b9943da099dbd05c53c47662c31ab"
}
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
asyncExportData
# Notificação de exportação de dados
A Huggy envia uma notificação para o seu sistema sempre que os dados forem exportados e o arquivo estiver pronto para download.
{
"time": 1712088961,
"messages": {
"asyncExportData": [
{
"fileUrl": "https://huggy-svc-async-report-export-origin.s3.us-east-1.amazonaws.com/f0d26a4643322175e5c790adb0338080/1712088961066.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIATZF2FY5UGDNIS6EW%2F20240402%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240402T201601Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjED0aCXVzLWVhc3QtMSJHMEUCIDpWn5ZGpY97PP0yKwr2cKuU2cXoeNeaOLXeEXDlwkDWAiEA3i64g0LJgQo2IRQ75sc4o08s%2BFVDpU%2B5qnSyaNtJW40qrwMIZRADGgwyNjAyMzU5NzA0MDgiDAOuoJw4W71ERKlkDiqMA43o1%2F2u%2BWpvWW%2FE4bteL2hPhikZ6gLnJIFO583bTJp4IXG9sIqSRTa8fdcnloqtxs%2FS3k3QTt4SKpj2I3hoV9jJN2IFPYRQq5IokxZEv3wb7v%2BbsT8LQ2R7C5kWRQRhoomCXZidpwb9IpqShHtFbdp2V4vtb6KXY6Orhi%2FsFpmdWRb7WexKqm6vK9ixUAmQqsU8Bw0Zvvc6yHc%2Bofk%2FiFqPylpzNPF2udV0ugInut8Xr7MXd1i2C%2Fg7MzLzMeVsDNGQdh4Krz6Qqiqm61jGuO5ZwkCVOR62YlMJe3uCA%2FD1ES58gKkELlMqfhagALdmtb9rzYqBovKvVZbY3ctQdXeuVVjfFubO6b3EGkX1pkvxbnN86v2QkVcPqG76QCaEnCBUcq2S3No%2F8wB2aNiMQv%2BxI1j%2BE7Jr7FKuGNY7p9n6gBj07I0lxT2tq6iNS8LmXxAKh46HGTsxXaRCT8qKpj8sBGrfIP61YYy33wLfwfUy%2BJygqb13ZV1Sz4KkAGZKG2gl4kRTGUZrsmidiDC6y7GwBjqdAU3xM7ZJTC3SK3CDWLk%2BCRE73ReHOW6y6bf2XkzYHeymkHbzlaJoNv4Ov74jbr%2BtTYucpiH2w8ngP2%2BDvoffF%2FQnkObGAb86goh%2F%2FkCwJ0VO8ajyOj5DLLG%2B5TpKh8NlQztVmkfXKUKhQE%2BcD6YesnapQsqYuQ7F6xwDJQC3wMZUeFEF9bR%2BtIDiFbGWes%2B4Ie%2BxMrTUWchfXb0bXVE%3D&X-Amz-Signature=d373a09c505d3bff4f09cc3779ad00fb6498662dc6a928816779fa9c76a0357b&X-Amz-SignedHeaders=host&x-id=GetObject",
"company": {
"id": 1
}
}
]
},
"token": "64735a5ae8fa14344c8acfd220ff25bf"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
updatedChatDepartment
# Notificação de atualização do departamento do chat
A Huggy envia uma notificação para o seu sistema sempre que o departamento do chat for atualizado.
{
"time": 1727185640,
"messages": {
"updatedChatDepartment": [
{
"chat": {
"id": 217618,
"channel": "widget",
"situation": "in_chat",
"department": 30643,
"customer": {
"id": 2184,
"name": "John Doe",
"mobile": "+551199999999",
"phone": "+551133333333",
"email": "john@doe.com",
"photo": "https://c.pzw.io/img/avatar-user-boy.jpg"
},
"workflowID": null,
"workflowStepID": null
},
"previousDepartment": {
"id": 30642,
"name": "nome do departamento"
},
"company": {
"id": 1
}
}
]
},
"token": "420786094f46358650"
}
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
← API v3 Webhook SMS →