channelId (veja
GET /webchat ou GET /channels) e as conversas dele entram na caixa de entrada. Pela API você
faz duas coisas com ele:
Falar com o visitante
A empresa envia mensagens para quem está no webchat, com
POST /messages, inclusive
mensagens interativas. Módulo messages.Ser o visitante
O seu sistema abre a sessão de um usuário seu, envia as mensagens dele e lê as respostas da
equipe. Módulo
webchat.Enviar para um visitante
O visitante do webchat não tem telefone obrigatório, então o destinatário é oticketId de uma
conversa ou o contactId de quem já abriu este webchat:
422 ERR_API_CONTACT_UNREACHABLE. O resto do envio é
igual aos outros canais: 202 com jobId, e a consulta do job em GET /messages/jobs/{jobId}. Veja
Enviar mensagens.
O webchat não usa template.
type: template só vale nos canais de WhatsApp oficial.Mensagens interativas
O webchat mostra ao visitante as mesmas mensagens interativas da API oficial do WhatsApp, com o mesmo objetointeractive: o payload que você já manda para o WhatsApp oficial vale no webchat
sem nenhuma adaptação. Só muda o channelId e o destinatário.
flow, product, product_list, catalog_message, address_message, voice_call e
call_permission_request dependem de recursos da Meta e não existem no webchat.
interactive é conferido na própria chamada, com os limites do WhatsApp (3 botões,
10 linhas, títulos de 20 ou 24 caracteres e os demais, listados no campo interactive de
POST /messages). Fora deles, a resposta é 422 na hora, com o campo e o motivo na message:
A resposta do visitante
A escolha chega como no WhatsApp: uma mensagem de texto do visitante com o título da opção, respondendo (citando) a mensagem interativa. A localização chega como a do WhatsApp, commediaType: locationMessage. Se você acompanha a conversa por GET /tickets/{ticketId}/messages,
nada muda em relação ao WhatsApp.
Conversar como visitante
Com o módulowebchat, o seu sistema faz o papel do visitante: por exemplo, um app próprio que
mostra o atendimento dentro dele.
1
Abra a sessão
Use o Guarde o
slug do webchat (de GET /webchat). Com externalId, a mesma pessoa volta sempre para
a mesma sessão e o mesmo contato.session.id. A resposta também traz um visitorToken, que o seu front usa para
receber as mensagens em tempo real (/webchat, Socket.IO, auth: { token }) sem expor o token
da API.2
Envie as mensagens do visitante
multipart/form-data,
no campo media.3
Leia as respostas
Sem tempo real, consulte com Marque como lidas com
after igual ao createdAt da última mensagem recebida:POST /webchat/{slug}/sessions/{sessionId}/read e encerre com
POST /webchat/{slug}/sessions/{sessionId}/close.Responder a uma mensagem interativa
Nas mensagens interativas da empresa,interactive traz o que desenhar (tipo, cabeçalho, corpo,
rodapé e as opções) e options lista as opções de resposta com id e title. Para escolher uma,
envie o id da mensagem e o id da opção:
422 ERR_WEBCHAT_INTERACTIVE_REPLY_INVALID.
Para um pedido de localização (interactive.type: location_request), envie as coordenadas,
citando o pedido:
quotedMessageId.
Enviar mensagens
Os quatro tipos de envio, o
jobId e os estados do job.Erros
Os códigos do webchat e das mensagens.

