Las llamadas API devuelven el estado 200 para mensajes fuera de la ventana de conversación

Raquel Actualizado por Raquel

Cuando se trabaja con API para plataformas de mensajería como WhatsApp, comprender los comportamientos de respuesta es crucial para una implementación efectiva.

Al enviar un mensaje a un destinatario fuera de la ventana de conversación activa, la API puede devolver un código de estado 200 con un id para el mensaje. Sin embargo, esto no garantiza la entrega del mensaje. En cambio, representa una falla silenciosa: el mensaje no se entregará y es posible que el remitente no se dé cuenta de inmediato.

Este comportamiento puede crear confusión y dar lugar a suposiciones de que el mensaje se procesó exitosamente, cuando en realidad no es así.

La implementación actual refleja la decisión de Meta de manejar este escenario de forma asincrónica. Lea más aquí: https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes/

Así es como funciona:

  1. Respuesta inicial: Cuando se llama a la API para enviar un mensaje, inmediatamente devuelve un código de estado 200, acusando recibo de la solicitud.
  2. Actualización del estado del mensaje: El éxito o fracaso real de la entrega se determina más tarde y se comunica a través del webhook de estado del mensaje. Este mecanismo asincrónico permite procesamiento y validación adicionales después de la llamada inicial de la API.

Esta elección de diseño significa que la API refleja el comportamiento de la API Meta Graph y no proporciona retroalimentación sincrónica sobre si el mensaje se entregará exitosamente.

¿Qué deben hacer los implementadores?

Dado que la API no indica sincrónicamente problemas de entrega de mensajes, los implementadores deben tomar medidas proactivas para administrar la ventana de conversación estados:

  1. Administrar notificaciones de webhook: asegúrese de que su sistema procese las entregas de webhook de estado de mensajes para capturar y manejar los errores de entrega de manera efectiva.
  2. Validar previamente los envíos de mensajes: antes de enviar un mensaje, verifique su propio sistema de seguimiento para determinar si la ventana de conversación aún está activa. Evite enviar mensajes si la ventana se ha cerrado.

Nuestra posición sobre este comportamiento

Como plataforma, representamos el comportamiento de la API Meta Graph. Esto significa que no alteraremos la respuesta de estado 200 para los mensajes enviados fuera de una ventana de conversación. En cambio, confiamos en el mecanismo de webhook de Meta para entregar actualizaciones de estado finales para los mensajes. Si bien entendemos las preocupaciones sobre fallas silenciosas, este comportamiento se alinea con el diseño de API de Meta.

¿Cómo lo hicimos?

Obtener datos del punto final de la API de contactos

¿Dónde encuentro mis credenciales para la API de plantilla de mensajes?

Contacto