# Webhooks de Chat
No Yunique você pode se inscrever para receber notificações em diferentes estágios da troca de conversas entre Cliente e Empresa.
É importante diferenciar conversas de mensagens.
Um conversa é um conjunto de mensagens trocadas entre uma ou mais pessoas. Um conversa é definida por uma primeira mensagem que pode ser iniciada tanto pelo Cliente quanto pela Empresa, até o fim da sessão definida no tipo de canal utilizado ou quando encerrada pela Empresa, operador ou gestor. No WhatsApp por exemplo, este limite de conversa é de 24 horas desde a primeira mensagem enviada.
# Início de Conversa
Cada vez que uma conversa é iniciada o Serviço de Webhooks do Yunique irá enviar ao webhooks cadastrado para receber as notificações o objeto abaixo via POST ou GET.
{
status: 'pending',
open: true,
inTransfer: false,
waitTime: 0,
attendanceTime: 0,
lastOperatorMsgAt: '2023-02-09T18:04:27.582Z',
inactivityLimit: 86400,
wasTransferred: false,
id: 304,
companyId: 'c3fd21c9-c91a-4c66-baa5-c3e050c2cc74',
subject: '554830361711',
createdBy: 'db18fa0a-c3af-4d80-9511-8b6626f1d3a8',
creatorProvider: 'whatsapp',
lastClientMsgAt: '2023-02-09T18:04:27.582Z',
updatedAt: '2023-02-09T18:04:27.583Z',
createdAt: '2023-02-09T18:04:27.583Z',
chatConfigId: null,
closedBy: null,
score: null,
currentRule: null,
queueId: null,
answeredAt: null,
hook: 'chatinit'
}
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Campos da Resposta
Campo | Descrição |
---|---|
status | É o status interno da conversa. Ele mudará conforme a conversa muda de estágio. |
id | ID da conversa. Este será o mesmo até o final da conversa. |
waitTime | Tempo de espera em segundos até este momento. |
attendanceTime | Tempo de atendimento com um Operador interagindo. |
wasTransferred | se a mensagem foi transferida ou não |
companyId | ID da Empresa proprietária da licença do Yunique. |
subject | Número de telefone destinário da mensagem. Neste caso é o telefone Corporativo registrado no WhatsApp API. Em caso de WebChat será o ID do widget de contato. |
hook | nome do webhook associado ao estágio da conversa. |
# Conversa em Espera em um Grupo de Atendimento
{
id: '304',
subject: '554830361711',
companyId: 'c3fd21c9-c91a-4c66-baa5-c3e050c2cc74',
chatConfigId: 'null',
status: 'routing',
open: 'true',
inTransfer: 'false',
closedBy: 'null',
waitTime: '0',
attendanceTime: '0',
score: 'null',
currentRule: 'ab6352f9-b3a4-406b-9aaf-5704a0857f77',
queueId: '6763ebce-9285-43fa-92df-18daeb3e66e1',
createdBy: 'db18fa0a-c3af-4d80-9511-8b6626f1d3a8',
creatorProvider: 'whatsapp',
lastClientMsgAt: '2023-02-09T18:04:27.582Z',
lastOperatorMsgAt: '2023-02-09T18:04:27.582Z',
createdAt: '2023-02-09T18:04:27.583Z',
updatedAt: '2023-02-09T18:04:27.894Z',
inactivityLimit: '86400',
wasTransferred: 'false',
answeredAt: 'null',
'members.id': '561',
'members.exited': 'false',
'members.recipientId': 'db18fa0a-c3af-4d80-9511-8b6626f1d3a8',
'members.subject': '554830361711',
'members.origin': '5548991613166',
'members.chatRoomId': '304',
'members.provider': 'whatsapp',
'members.providerAccessToken': '106276885655498',
'members.channel': '5548991613166',
'members.companyId': 'c3fd21c9-c91a-4c66-baa5-c3e050c2cc74',
'members.createdAt': '2023-02-09T18:04:27.607Z',
'members.updatedAt': '2023-02-09T18:04:27.607Z',
hook: 'chatwaiting'
}
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
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
# Campos da Resposta
Campo | Descrição |
---|---|
status | É o status interno da conversa. Ele mudará conforme a conversa muda de estágio. |
id | ID da conversa. Este será o mesmo até o final da conversa. |
waitTime | Tempo de espera em segundos até este momento. |
attendanceTime | Tempo de atendimento com um Operador interagindo. |
wasTransferred | se a mensagem foi transferida ou não |
companyId | ID da Empresa proprietária da licença do Yunique. |
subject | Número de telefone destinário da mensagem. Neste caso é o telefone Corporativo registrado no WhatsApp API. Em caso de WebChat será o ID do widget de contato. |
hook | nome do webhook associado ao estágio da conversa. |
members.origin | telefone do cliente relacionado a conversa |
queueId | ID do Grupo de Atendimento em que o cliente entrou em espera. |
currentRule | ID do Fluxo de Atendimento que o cliente está navegando |
lastClientMsgAt | data e horário da última mensagem enviada pelo cliente |
lastOperatorMsgAt | data e horário da última mensagem enviada pelo Operador |
# Conversa finalizada
{
id: '304',
subject: '554830361711',
companyId: 'c3fd21c9-c91a-4c66-baa5-c3e050c2cc74',
chatConfigId: 'null',
status: 'terminated',
open: 'false',
inTransfer: 'false',
closedBy: '1924f77b-2507-4fd8-bbdb-de83a63a2356',
waitTime: '0',
attendanceTime: '92',
score: 'null',
currentRule: 'ab6352f9-b3a4-406b-9aaf-5704a0857f77',
queueId: '6763ebce-9285-43fa-92df-18daeb3e66e1',
createdBy: 'db18fa0a-c3af-4d80-9511-8b6626f1d3a8',
creatorProvider: 'whatsapp',
lastClientMsgAt: '2023-02-09T18:04:27.582Z',
lastOperatorMsgAt: '2023-02-09T18:04:27.582Z',
createdAt: '2023-02-09T18:04:27.583Z',
updatedAt: '2023-02-09T18:06:00.306Z',
inactivityLimit: '86400',
wasTransferred: 'false',
answeredAt: 'null',
'members.id': '561',
'members.exited': 'false',
'members.recipientId': 'db18fa0a-c3af-4d80-9511-8b6626f1d3a8',
'members.subject': '554830361711',
'members.origin': '5548991613166',
'members.chatRoomId': '304',
'members.provider': 'whatsapp',
'members.providerAccessToken': '106276885655498',
'members.channel': '5548991613166',
'members.companyId': 'c3fd21c9-c91a-4c66-baa5-c3e050c2cc74',
'members.createdAt': '2023-02-09T18:04:27.607Z',
'members.updatedAt': '2023-02-09T18:04:27.607Z',
hook: 'chatterminated'
}
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
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
# Campos da Reposta
# Campos da Resposta
Campo | Descrição |
---|---|
status | É o status interno da conversa. Ele mudará conforme a conversa muda de estágio. |
id | ID da conversa. Este será o mesmo até o final da conversa. |
waitTime | Tempo de espera em segundos até este momento. |
attendanceTime | Tempo de atendimento com um Operador interagindo. |
wasTransferred | se a mensagem foi transferida ou não |
companyId | ID da Empresa proprietária da licença do Yunique. |
subject | Número de telefone destinário da mensagem. Neste caso é o telefone Corporativo registrado no WhatsApp API. Em caso de WebChat será o ID do widget de contato. |
hook | nome do webhook associado ao estágio da conversa. |
members.origin | telefone do cliente relacionado a conversa |
queueId | ID do Grupo de Atendimento em que o cliente entrou em espera. |
currentRule | ID do Fluxo de Atendimento que o cliente está navegando |
lastClientMsgAt | data e horário da última mensagem enviada pelo cliente |
lastOperatorMsgAt | data e horário da última mensagem enviada pelo Operador |