Skip to main content
POST

Autorizaciones

token
string
header
requerido

Cuerpo

application/json
number
string
requerido

JID completo del chat.

Ejemplo:

"5511999999999@s.whatsapp.net"

messageid
string

ID del mensaje de referencia usado para buscar mensajes más antiguos del chat.

Ejemplo:

"3EB01234567890ABCDEF"

count
integer
predeterminado:50

Cantidad deseada de mensajes en el sync.

Rango requerido: 1 <= x <= 100
Ejemplo:

20

timestamp
integer

Timestamp del mensaje de referencia, en milisegundos o segundos. Opcional; viene en next_request para que la referencia funcione incluso antes de que el mensaje esté guardado.

Ejemplo:

1706350400000

fromMe
boolean

Indica si el mensaje de referencia fue enviado por la cuenta conectada. Opcional; viene en next_request.

Ejemplo:

false

requestId
string

Identificador opcional elegido por el cliente; si se omite, la API genera un UUID. Se devuelve como request_id. Use un id nuevo por solicitud: un id ya en uso recibe 409.

Ejemplo:

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

fallbackMode
enum<string>
predeterminado:try_alternates

A dónde se envía la solicitud. try_alternates (predeterminado): en una conversación individual, envía por el número y por el LID del chat, porque el teléfono guarda cada conversación con una de las dos direcciones e ignora la solicitud enviada por la otra; la respuesta llega una sola vez. exact: envía solo por la dirección preferida del chat (el LID, cuando se conoce). En grupos, la solicitud siempre va solo al grupo.

Opciones disponibles:
try_alternates,
exact
sync
boolean
predeterminado:false

Retiene la respuesta hasta el resultado de la solicitud, por hasta timeoutMs. Vea "Modo síncrono".

timeoutMs
integer
predeterminado:25000

Solo con sync: true: espera máxima en milisegundos. Los valores mayores se convierten en 25000.

Rango requerido: x <= 25000

Respuesta

Solicitud enviada con éxito. Los mensajes y el resultado llegan después por webhook/SSE. Con sync: true, también incluye los mensajes y el resultado de la solicitud.

success
boolean
Ejemplo:

true

request_id
string

Identifica la solicitud. Aparece en los mensajes correlacionados y en el estado final del webhook/SSE history.

Ejemplo:

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

message
string
Ejemplo:

"Solicitud de sincronización del historial enviada. Los mensajes se recibirán como eventos de sincronización del historial."

details
object

Metadatos adicionales de la operación

sync
boolean

true cuando la respuesta esperó el resultado (sync: true).

status
enum<string>

Solo en modo síncrono: resultado de la solicitud; pending cuando aún no llegó y llegará por webhook/SSE; blocked cuando el celular indica más mensajes, pero no entregó una página que avance (el motivo viene en error).

Opciones disponibles:
completed,
timeout,
pending,
blocked
request_chat
string

Solo en modo síncrono: chat de la solicitud.

has_more
boolean | null

Solo en modo síncrono: lo que declaró el celular. true hay más mensajes, false inicio de la conversación, null no confirmado. Algunos dispositivos declaran true en toda respuesta bajo demanda, incluso en la vacía: con ellos, la paginación termina en blocked con pagination_no_progress, nunca en has_more: false.

history_access
enum<string>

Solo en modo síncrono: unavailable cuando hay más mensajes sin acceso.

Opciones disponibles:
available,
unavailable,
unknown
received_messages
integer

Solo en modo síncrono: cantidad de mensajes en messages.

next_request
object | null

Solo en modo síncrono: cuerpo listo para solicitar los mensajes anteriores, o null.

received
boolean

Solo en modo síncrono: llegaron mensajes o la solicitud se completó.

timed_out
boolean

Solo en modo síncrono: el plazo de timeoutMs se agotó.

partial
boolean

Solo en modo síncrono: aún puede haber más mensajes (has_more distinto de false).

messages
object[]

Solo en modo síncrono: mensajes de la solicitud, en el formato del evento history.

error
enum<string>

Con status: "blocked" (y success: false): por qué no hay next_request. pagination_no_progress: a partir del mismo ancla, el celular no entregó una página que avance ni siquiera con el mayor count (en cada página sin avance, el next_request duplica el count, hasta 100): llegó vacía, sin un mensaje que sirva de ancla o repetida. Es el final de lo que el celular entrega a partir de ese ancla, pero WhatsApp no confirma que sea el inicio de la conversación; repetir la solicitud da el mismo resultado; anchor_unavailable: el mensaje de referencia ya no está disponible, solicite con otro; history_access_unavailable: el resto no está accesible; cursor_lookup_failed: falla al construir la siguiente solicitud, intente de nuevo.

Opciones disponibles:
pagination_no_progress,
anchor_unavailable,
history_access_unavailable,
cursor_lookup_failed