> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waspytech.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Estados de mensajes

> Ciclo de vida de un mensaje enviado por WhatsApp.

## Ciclo de vida

Cuando enviás un mensaje, pasa por estos estados:

```
queued → sent → delivered → read
                    ↘ failed
```

| Estado      | Significado                                                    |
| ----------- | -------------------------------------------------------------- |
| `queued`    | Waspy recibió la request y el mensaje está en cola             |
| `sent`      | El mensaje fue enviado a los servidores de Meta                |
| `delivered` | El mensaje llegó al teléfono del destinatario                  |
| `read`      | El destinatario leyó el mensaje (tilde azul)                   |
| `failed`    | El envío falló. `errorCode` y `errorMessage` tienen el detalle |

***

## Consultar el estado

```bash theme={null}
curl https://api.waspytech.com/api/v2/messages/MSG_ID \
  -H "Authorization: Bearer wspy_..."
```

```json theme={null}
{
  "data": {
    "id": "msg-uuid",
    "status": "delivered",
    "direction": "outbound",
    "type": "text",
    "content": { "text": "Hola!" },
    "errorCode": null,
    "errorMessage": null,
    "createdAt": "2026-04-13T14:32:00.000Z"
  }
}
```

***

## Errores frecuentes

Si un mensaje falla, el campo `errorCode` contiene el código de error de Meta. Los más comunes:

| Código   | Causa                                                   |
| -------- | ------------------------------------------------------- |
| `131047` | El número no tiene WhatsApp                             |
| `131026` | El mensaje no se pudo entregar (número bloqueado, etc.) |
| `132000` | Template no aprobado o parámetros inválidos             |
| `131056` | El negocio no puede enviar (restricción de Meta)        |

***

## Notas

* El estado `read` solo se reporta si el destinatario tiene confirmaciones de lectura activadas.
* Los estados se actualizan vía webhooks de Meta. Puede haber un delay de segundos entre `sent` y `delivered`.
* Los mensajes `failed` no se reintentan automáticamente.
