Errores de la API de WhatsApp de 1MSG y cómo resolverlos
Errores que devuelve la API de 1MSG cuando un mensaje no se puede enviar, con la causa y la solución. Muchos errores de envío llegan con HTTP 200 y "sent": false, así que revisa siempre el campo sent, no solo el código HTTP.
| Estado | Respuesta de la API | Causa | Solución |
|---|---|---|---|
| 200 | Message was not sent: template is not defined | Falta namespace, template o language en el cuerpo de la petición. | Envía los tres. Toma namespace y el nombre exacto de la plantilla de GET /templates; language es un objeto: {"policy": "deterministic", "code": "es_MX"}. |
| 200 | template name (…) does not exist in <language> | La plantilla está aprobada en otro idioma que el solicitado. | Usa el código de idioma exacto con el que se aprobó la plantilla (por ejemplo, es_MX no es lo mismo que es). Revísalo en GET /templates. |
| 200 | Message was not sent: provide chatId, phone, bsuid, or username | Ningún destinatario que el canal pudiera resolver. | Envía un solo destinatario: phone (código de país y número, solo dígitos), chatId (por ejemplo [email protected]) o bsuid. |
| 200 | Message was not sent: empty body | Falta el campo body o está vacío. | Envía un body no vacío. Es obligatorio en mensajes de texto, botones de respuesta y listas. |
| 200 | wrong file | El archivo no se pudo descargar ni subir: URL inalcanzable o base64 inválido. | Envía en body una URL HTTPS pública o base64 válido, o sube el archivo con /uploadMedia y envía mediaId con mediaType. |
| 200 | Message was not sent: filename | sendFile sin filename, así que el archivo no tiene extensión. | Agrega filename con extensión, por ejemplo factura.pdf. |
| 401 | token is required | La petición no incluye el token. | Agrega el token del canal como parámetro token en la URL: https://api.1msg.io/{channelId}/{method}?token=… |
| 429 | too many requests. please try later | El canal superó su límite de envío. | Encola los mensajes de tu lado y reintenta con backoff exponencial. |
| 403 | access denied | El token es incorrecto, o pertenece a otro canal que el de la URL. | Verifica que el token y el channelId de la URL sean del mismo canal. |
Referencia completa de la API: https://docs.1msg.io/
