Skip to main content
Uma conversa (ticket) reúne as mensagens trocadas com um contato numa conexão. Este guia cobre leitura e resposta; para criar conversas do zero, veja Enviar mensagens.
1

Liste conversas abertas

GET /v1/conversations filtra por status (CSV), whatsappId (conexão) e searchParam (nome/número/última mensagem). Requer escopo conversations:read.
Não existe filtro de fila (queueId) nesse endpoint. Cada conversa traz queue no objeto de resposta — filtre pelo lado do seu código se precisar restringir a uma fila específica.
2

Leia as mensagens em ordem

GET /v1/conversations/{ticketId}/messages devolve as mais recentes primeiro: a página 1 traz as últimas N mensagens da conversa (já em ordem cronológica dentro da própria página), a página 2 traz as N anteriores a essas, e assim por diante. Requer escopo messages:read. Diferente dos outros endpoints, o pageSize aqui tem default 100 e máximo 200 — conversas costumam ter muito mais mensagens do que outras listas têm registros.
Pra reconstruir o histórico completo em ordem cronológica, pagine até hasMore: false (veja Paginação e filtros) e depois inverta a ordem das páginas — a página mais alta é a mais antiga. Se só precisa das últimas mensagens (ex.: preview de conversa), a página 1 já resolve sem inverter nada.
3

Responda citando a mensagem original

POST /v1/conversations/{ticketId}/messages envia texto, mídia (multipart) ou template numa conversa já existente. Use quotedMsgId para responder citando uma mensagem específica:

Como saber o que mudou

Ainda não existem webhooks de saída na API do Chat — o Whatix não notifica seu sistema quando chega mensagem nova ou o status de entrega muda. Enquanto isso não existe, a estratégia é polling:
  • Consulte GET /v1/conversations?status=open periodicamente (a cada 15–30s para algo perto de tempo real, a cada alguns minutos para um painel).
  • Para uma conversa específica que você já acompanha, releia GET /v1/conversations/{ticketId}/messages e compare pelo id/createdAt da última mensagem que você já processou — não existe parâmetro updatedAfter para filtrar só o que mudou, então a comparação é feita no seu lado.
  • Respeite o rate limit de 120 req/min por token: se você faz polling de muitas conversas, distribua as chamadas no tempo em vez de disparar tudo de uma vez. Veja Erros e limites.
Webhooks de saída (notificação push de mensagem recebida/status alterado) estão no radar, mas não fazem parte da API pública hoje. Se sua integração depende de latência baixa, prefira o FlowBuilder ou fale com o time Whatix sobre alternativas.

Erros comuns

Veja o catálogo completo de erros e paginação e filtros para o formato de count/hasMore.