Notificaciones de Mensajes Enviados

Notificaciones de estado de mensajes enviados

Las notificaciones de estado de mensajes proporcionaron información sobre el estado de tus mensajes.

Este documento abarca:

  • Notificaciones de estado de mensajes
  • Parámetros de notificación de estado de mensaje

Para obtener más información general sobre los webhooks, consulta:

  • Formato del webhook de notificaciones
  • Configuración de las notificaciones
  • Aplicación de ejemplo para pruebas

Notificación de estado de mensajes

El cliente de la API de WhatsApp Business enviará notificaciones para informarte acerca del estado de los mensajes entre tú y otros usuarios. Cuando un mensaje se envía correctamente, recibes una notificación cuando el mensaje se envía, se entrega o se lee. El orden de estas notificaciones en tu aplicación puede no reflejar el tiempo real del estado del mensaje. Consulta la marca de tiempo para determinar el tiempo, en caso de ser necesario. Las notificaciones que puedes recibir son las siguientes:

  • sent sent: el servidor recibió el mensaje enviado por tu empresa. Para recibir notificaciones de mensajes enviados, establece el valor de sent_status en true en la configuración de la aplicación. La notificación de estado enviado está desactiva de forma predeterminada.
  • delivered: el mensaje enviado por tu empresa se entregó al dispositivo del usuario.
  • read: el usuario leyó el mensaje enviado por tu empresa. Las notificaciones de lectura solo estarán disponibles para aquellos usuarios que tengan habilitadas las confirmaciones de lectura. Para los usuarios que no las tienen habilitadas, solo recibirás la notificación entregada.
  • failed: no se pudo enviar el mensaje enviado por tu empresa. Se incluirá la razón del error en la devolución de llamada. Consulta también el documento de mensajes de error para obtener una mayor descripción del error.
  • deleted: a partir de v2.21.3, el usuario eliminó el mensaje que envió a tu empresa.

Al recibir una notificación "status": "deleted", debes comprobar, de buena fe, que el mensaje se elimine del sistema si se descargó desde el servidor.

Para que el estado sea read, debe haber sido entregado (delivered). En algunas situaciones, como cuando un usuario está en la pantalla de chat y llega un mensaje, el mensaje se entrega (delivered) y se lee (read) casi simultáneamente. En esta o en otras situaciones similares, la notificación delivered no se devuelve, ya que se entiende que un mensaje se entregó si se leyó. La razón de este comportamiento es la optimización interna.

En los siguientes ejemplos, el recipient_id en su lugar puede ser un campo group_id. Esto depende de si el mensaje se envía a un individuo o a un grupo.

Ejemplo: Mensaje enviado

{
  "statuses": [
    {
      "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",

      "recipient_id": "16315555555",

      "status": "sent",

      "timestamp": "1518694700"
    }
  ]
}

Ejemplo: Mensaje entregado

{
  "statuses": [
    {
      "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",

      "recipient_id": "16315555555",

      "status": "delivered",

      "timestamp": "1518694708"
    }
  ]
}

Ejemplo: Mensaje leido

{
  "statuses": [
    {
      "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",

      "recipient_id": "16315555555",

      "status": "read",

      "timestamp": "1518694722"
    }
  ]
}

Ejemplo: Mensaje con errores

{
  "statuses": [
    {
      "errors": [
        {
          "code": 470,

          "title": "Failed to send message because you are outside the support  window for freeform messages to this user. Please use a valid HSM notification or reconsider."
        }
      ],

      "id": "gBGGEgZHMlEfAgkM1RBkhDRr7t8",

      "recipient_id": "12064001000",

      "status": "failed",

      "timestamp": "1533332775"
    }
  ]
}

Ejemplo: Mensaje eliminado

{
  "statuses": [
    {
      "id": "ABGGFmkiWVVPAgo66iFiii_-TG0-",

      "recipient_id": "16692259554",

      "status": "deleted",

      "timestamp": "1532413514"
    }
  ]
}

Parámetros de notificación de estado de mensajes

Cuando envías un mensaje a un usuario y tienes configurado el webhook, recibirás actualizaciones de estado que te permiten saber cuándo se envía y se entrega el mensaje, y cuándo fue leído por el usuario. Estos son los campos que conforman los mensajes de estado.

NombreDescripciónTipo
statusesObjeto de estadosMatriz de cualquier tipo de mensaje de estado

Objeto statuses

El objeto statuses te mantendrá al tanto del estado de los mensajes entre tú y otros usuarios o grupos.

NombreDescripciónTipo
idIdentificador del mensajeCadena
recipient_idIdentificador de WhatsApp del destinatarioCadena
statusesEstado de mensaje: read, delivered, sent, failed o deleted. Consulta la tabla Todos los estados posibles de un mensaje para obtener más informaciónCadena
idIdentificador del mensajeCadena
timestampMarca de tiempo del mensaje de estadoCadena

Todos los estados posibles de un mensaje

En esta tabla, se presentan todas las opciones posibles para el estado de un mensaje.

EstadoDescripciónTipo
sentEl servidor de WhatsApp recibió el mensajeUna marca de verificación
deliveredEl mensaje se entregó al destinatarioDos marcas de verificación
readEl destinatario leyó el mensajeDos marcas de verificación azules
failedEl mensaje no se pudo enviarTriángulo de error rojo
deletedA partir de v2.21.3, el usuario eliminó el mensajeEl mensaje se reemplaza en WhatsApp móvil por una nota que indica que el mensaje se eliminó