N|Solid (opens new window)

# 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

# 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

# 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

# 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