Usa confirmaciones de lectura, indicador de escritura y reacciones
Haz que los intercambios de servicio sean ágiles sin alterar la semántica de mensajes y reacciones.
Requisitos previos
Un mensaje recibido, permiso para operar el remitente y una interacción de servicio compatible.
1. Decide qué significa la señal
Marca un mensaje entrante como leído cuando tu equipo haya incorporado la conversación a su flujo de servicio. WhatsApp también marca como leídos los mensajes anteriores en esa conversación, así que esta acción confirma más que el mensaje referenciado. Usa el indicador de escritura mientras preparas una respuesta, no como indicador permanente.
2. Usa la operación publicada
Usa Marcar un mensaje como leído, POST /v1/whatsapp/messages/{message_id}/read, para un mensaje recibido. WhatsApp marca ese mensaje y todos los anteriores en la conversación como leídos. Establece typing_indicator cuando estés preparando una respuesta. Un 202 confirma que la confirmación de lectura fue aceptada para procesamiento; no prueba que el cliente haya visto el indicador. No existe un webhook de entrega de confirmación ni un mensaje separado que consultar.
Después de que Meta acepta la confirmación, el mensaje recibido puede mostrar read_at y conservar su estado received. La confirmación no genera un mensaje saliente facturable. Sigue la operación publicada de confirmación de lectura para la expiración del indicador de escritura y la antigüedad permitida del mensaje.
3. Maneja los cambios de reacción
Suscríbete a whatsapp.reacted para los cambios de reacción entrantes. Una reacción anota un mensaje referenciado; no es otro mensaje de texto whatsapp.received. Un emoji nulo puede representar una eliminación. Conserva el emoji exacto en lugar de normalizar valores distintos.
4. Mantén separados el historial y el estado actual
Usa el registro de reacciones para los cambios y las reacciones del mensaje para el estado actual por remitente. Una referencia anterior no resuelta del proveedor puede no tener una reacción coincidente, así que la ausencia de una entrada no prueba que el cliente nunca reaccionó.
5. Prueba el final de la interacción
Ensaya reacciones añadidas, reemplazadas y eliminadas, procesamiento retrasado y una respuesta interrumpida. Asegúrate de que la respuesta real o la transferencia a un agente humano siga a la señal.
Solución de problemas
Si falta una reacción en la lista de mensajes, inspecciona el evento de reacción y el registro de mensajes referenciados. Si el indicador de escritura persiste en el estado de tu aplicación, revisa su expiración por separado del estado de lectura. Consulta Webhooks de reacciones para ver la estructura del webhook publicado.
Próximos pasos
- Marca un mensaje como leído, con un indicador de escritura opcional
- Envía, reemplaza o elimina una reacción
- Recibir cambios de reacciones
- Prepara tu primer intercambio completo.
Recursos relacionados
Continúa con la documentación, guías y ejemplos de este tema.