Seguimiento
Estado del mensaje e informes de entrega
| status | Significado | Final | Cobrado |
|---|---|---|---|
| scheduled | Esperando send_at. | No | Sí, reembolsado si se cancela |
| queued | Aceptado y esperando el siguiente pase de cola (cada dos segundos). | No | Yes |
| sent | Entregado a la red; esperando el informe de entrega. | No | Yes |
| delivered | El dispositivo confirmó la entrega. | Yes | Yes |
| failed | No se pudo entregar; el error indica por qué. | Yes | No, reembolsado |
| canceled | Su lote programado fue cancelado. | Yes | No, reembolsado |
Códigos de error en mensajes
| error.code | Significado |
|---|---|
| network_error | El mensaje no pudo ser entregado a la red. Su precio ha sido devuelto al saldo. |
| undeliverable | La red informó que no se pudo contactar al dispositivo. |
| canceled | El lote programado fue cancelado antes de comenzar. |
Reembolsos
Cuando un mensaje falla, su precio completo se devuelve al saldo en el mismo paso, como una línea de reembolso en el libro mayor que nombra el lote. El campo refunded del lote muestra el total acumulado.
Webhooks o polling
Los webhooks son la ruta rápida: cada estado final llama a tu endpoint una vez que se establece. Para volúmenes pequeños, o para verificar, haz polling con GET /v1/messages/{id} o GET /v1/batches/{id}; el límite de tasa deja espacio para ambos.