Histórico e ligações
Ler, em modo somente consulta, as conversas e mensagens do WhatsApp Confluence, baixar mídias e CSV e ouvir as ligações atendidas.
Esta seção é a leitura do que aconteceu no número de WhatsApp da loja: a lista de conversas, as mensagens de cada uma, o arquivo de mídia de uma mensagem, a exportação em CSV e o registro das ligações de voz atendidas pelo atendente virtual. Nada aqui envia mensagem nem altera estado; responder, assumir ou cobrar são ações de outras seções.
Como funciona
- Liste as conversasListar conversas com filtros como
filter=unreade buscaq. Cada item traz oidque as outras rotas pedem. - Abra a conversaMensagens e CSV devolve as mensagens paginadas e um resumo da conversa.
- Baixe a mídiaMensagens com foto, áudio ou documento têm
media_url(link de 12 horas) ou podem ser baixadas por Mídia da mensagem. - Consulte as ligaçõesLigações lista as chamadas de voz atendidas, com transcrição, nota e gravação.
Conceitos-chave
Conversa, mensagem e janela de 24 horas
Uma conversa (thread) é única por par número da loja e telefone do cliente. Depois que o cliente escreve, a loja tem 24 horas (csw_expires_at) para responder com texto livre; passado esse prazo só vale template aprovado pela Meta. Um anúncio que leva ao WhatsApp abre ainda um ponto de entrada gratuito de 72 horas (fep_expires_at).
Códigos de uma letra
| Campo | Código | Significado |
|---|---|---|
direction | I / O | Recebida do cliente / enviada pela loja |
origin | C | Cliente |
origin | A | API ou atendente pela caixa de entrada |
origin | B | Assistente automático |
origin | E | Eco do aplicativo WhatsApp Business no celular |
origin | H | Histórico importado no cadastro do número |
status (mensagem) | Q S D R F | Na fila, enviada, entregue, lida, falhou |
bot_mode | A P H | Assistente, assistente pausado, pessoa |
Duas famílias de rotas de WhatsApp
A plataforma tem duas caixas de entrada de WhatsApp na API de administração: esta, sob /api/v1/admin/whatsapp-confluence/..., e a da seção caixa de entrada, sob /api/v1/admin/whatsapp/.... São conjuntos de rotas separados, com formatos de resposta diferentes. Use ids de conversa e de mensagem sempre na família em que os obteve.
Datas
Datas de conversa e mensagem em RFC 3339 (UTC). started_at das ligações também vem em UTC, no formato 2026-10-10T14:32:10Z.
Endpoints
| Método | Caminho | Para que serve |
|---|---|---|
| GET | /api/v1/admin/whatsapp-confluence/threads | Lista as conversas, as mais recentes primeiro. Conversas |
| GET | /api/v1/admin/whatsapp-confluence/threads/{id} | Retorna uma conversa. Conversas |
| GET | /api/v1/admin/whatsapp-confluence/threads/{id}/messages | Pagina as mensagens de uma conversa. Mensagens e CSV |
| GET | /api/v1/admin/whatsapp-confluence/threads/{id}/export.csv | Baixa as mensagens da conversa em CSV. Mensagens e CSV |
| GET | /api/v1/admin/whatsapp-confluence/media/{messageID} | Devolve os bytes da mídia de uma mensagem. Mídia da mensagem |
| GET | /api/v1/admin/whatsapp-confluence/calls | Lista as ligações atendidas. Ligações |
| GET | /api/v1/admin/whatsapp-confluence/calls/{callID} | Retorna uma ligação com a transcrição. Ligações |
| GET | /api/v1/admin/whatsapp-confluence/calls/{callID}/audio | Entrega a gravação de uma ligação. Ligações |
Erros comuns
- Esperar um total na lista de conversas. Não existe: continue pedindo
pageaté virthreadsvazio. - Paginar mensagens com
page. Mensagens usam cursor: passe onext_beforeda resposta anterior comobefore. - Achar que ler marca como lido. Abrir a conversa não zera
unread_count. - Tratar
200com lista vazia como sucesso garantido. Um UUID bem formado que não existe devolve200commessagesvazio (e CSV só com o cabeçalho); sóGET /threads/{id}responde 404. - Passar um id que não é UUID para o CSV. A exportação responde 500 com uma mensagem de erro técnica, sem tratamento; valide o UUID antes.
- Abrir o CSV direto no Excel sem cuidado. O corpo da mensagem é texto do cliente e não é protegido contra fórmulas.
- Usar
Authorizationem<img>e<audio>. Tags não enviam o cabeçalho; use omedia_urlassinado.