WhatsApp APIAPI
WhatsApp: marcar mensajes como leídos
Marca como leído un mensaje recibido en WhatsApp, para que el contacto vea los dos tildes azules, y muestra el aviso de escribiendo por la API de XBASE.
Actualizado el
Marcar como leído hace que el contacto vea los dos tildes azules en su mensaje. Con typing, también ve el aviso escribiendo… mientras no llega la respuesta.
Marcar como leído
POST https://api.xbase.app/api/external/v1/whatsapp/messages/{messageId}/readmessageId es el id del mensaje recibido del contacto (wamid.…), como llega en el evento whatsapp.message.received de los webhooks del workspace. La lectura sale por el número que recibió el mensaje, y Meta marca como leídos también los mensajes anteriores de la conversación.
| Campo | Tipo | Obligatorio | Regla |
|---|---|---|---|
typing | booleano | no | true muestra escribiendo… al contacto hasta el próximo mensaje del número, por 25 segundos como máximo |
curl -X POST https://api.xbase.app/api/external/v1/whatsapp/messages/wamid.HBgNNTUyMTk5OTk5MDAwMBUCABIYFDNBMjc1QjE3RjdCNEE1QzlEMjA4AA==/read \
-H "Authorization: Bearer $XBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "typing": true }'Respuesta 200:
{ "success": true }El cuerpo es opcional: sin él, el mensaje solo se marca como leído.
Cuándo usarlo
- Cuando tu sistema o agente lee el mensaje, antes de responder.
- Con
typing: true, cuando la respuesta va a tardar unos segundos, como la de un agente de IA. - La lectura no cambia la ventana de 24 horas: solo el mensaje del contacto abre la ventana.
Errores
| Estado | code | Cuándo |
|---|---|---|
| 400 | (sin code) | Cuerpo inválido o messageId con formato incorrecto |
| 400 | NOT_INCOMING_MESSAGE | El mensaje lo envió la empresa: solo un mensaje recibido se puede marcar como leído |
| 404 | MESSAGE_NOT_FOUND | El mensaje no es de una conversación de WhatsApp de este workspace |
| 422 | NUMBER_DISCONNECTED | El número que recibió el mensaje está desconectado |
| 422 | SEND_REJECTED | XBASE rechazó, por ejemplo, porque el número de la conversación se desconectó |
| 422 | META_ERROR | Meta rechazó |
Mira el formato completo en Errores.