Skip to main content
POST

Autorizações

token
string
header
obrigatório

Corpo

application/json
number
string
obrigatório

JID completo do chat.

Exemplo:

"5511999999999@s.whatsapp.net"

messageid
string

ID da mensagem de referência usada para buscar mensagens mais antigas do chat.

Exemplo:

"3EB01234567890ABCDEF"

count
integer
padrão:50

Quantidade desejada de mensagens no sync.

Intervalo obrigatório: 1 <= x <= 100
Exemplo:

20

timestamp
integer

Timestamp da mensagem de referência, em milissegundos ou segundos. Opcional; vem no next_request para a referência funcionar mesmo antes de a mensagem estar salva.

Exemplo:

1706350400000

fromMe
boolean

Indica se a mensagem de referência foi enviada pela conta conectada. Opcional; vem no next_request.

Exemplo:

false

requestId
string

Identificador opcional escolhido pelo cliente; quando omitido, a API gera um UUID. Retorna como request_id. Use um id novo por pedido: um id já em uso recebe 409.

Exemplo:

"5f0c2a8e-6d1b-4c3a-9e7f-1a2b3c4d5e6f"

fallbackMode
enum<string>
padrão:try_alternates

Para onde o pedido é enviado. try_alternates (padrão): em conversa individual, envia pelo número e pelo LID do chat, porque o celular guarda cada conversa por um dos dois endereços e ignora o pedido enviado pelo outro; a resposta chega uma vez só. exact: envia só pelo endereço preferido do chat (o LID, quando conhecido). Em grupos, o pedido vai sempre só para o grupo.

Opções disponíveis:
try_alternates,
exact
sync
boolean
padrão:false

Segura a resposta até o resultado do pedido, por até timeoutMs. Veja "Modo síncrono".

timeoutMs
integer
padrão:25000

Só com sync: true: espera máxima em milissegundos. Valores maiores viram 25000.

Intervalo obrigatório: x <= 25000

Resposta

Solicitação enviada com sucesso. As mensagens e o resultado chegam depois por webhook/SSE. Com sync: true, traz também as mensagens e o resultado do pedido.

success
boolean
Exemplo:

true

request_id
string

Identifica o pedido. Aparece nas mensagens correlacionadas e no status final do webhook/SSE history.

Exemplo:

"5f0c2a8e-6d1b-4c3a-9e7f-1a2b3c4d5e6f"

message
string
Exemplo:

"History sync request sent. Messages will be received as history sync events."

details
object

Metadados adicionais da operação

sync
boolean

true quando a resposta esperou o resultado (sync: true).

status
enum<string>

Só no modo síncrono: resultado do pedido; pending quando ainda não chegou e virá pelo webhook/SSE; blocked quando o celular indica mais mensagens, mas não entregou uma página que avance (o motivo vem em error).

Opções disponíveis:
completed,
timeout,
pending,
blocked
request_chat
string

Só no modo síncrono: chat do pedido.

has_more
boolean | null

Só no modo síncrono: o que o celular declarou. true há mais mensagens, false início da conversa, null não confirmado. Alguns aparelhos declaram true em toda resposta sob demanda, inclusive na vazia: com eles, a paginação termina em blocked com pagination_no_progress, nunca em has_more: false.

history_access
enum<string>

Só no modo síncrono: unavailable quando há mais mensagens sem acesso.

Opções disponíveis:
available,
unavailable,
unknown
received_messages
integer

Só no modo síncrono: quantidade de mensagens em messages.

next_request
object | null

Só no modo síncrono: corpo pronto para pedir as mensagens anteriores, ou null.

received
boolean

Só no modo síncrono: chegaram mensagens ou o pedido foi concluído.

timed_out
boolean

Só no modo síncrono: o prazo de timeoutMs acabou.

partial
boolean

Só no modo síncrono: ainda pode haver mais mensagens (has_more diferente de false).

messages
object[]

Só no modo síncrono: mensagens do pedido, no formato do evento history.

error
enum<string>

Com status: "blocked" (e success: false): por que não há next_request. pagination_no_progress: a partir da mesma âncora, o celular não entregou uma página que avance nem no maior count (a cada página sem avanço, o next_request dobra o count, até 100): veio vazia, sem mensagem que sirva de âncora ou repetida. É o fim do que o celular entrega a partir dessa âncora, mas o WhatsApp não confirma que é o início da conversa; repetir o pedido dá o mesmo resultado; anchor_unavailable: a mensagem de referência não está mais disponível, peça com outra; history_access_unavailable: o restante não está acessível; cursor_lookup_failed: falha ao montar o próximo pedido, tente de novo.

Opções disponíveis:
pagination_no_progress,
anchor_unavailable,
history_access_unavailable,
cursor_lookup_failed