Erros da API do WhatsApp do 1MSG e como corrigi-los
Erros que a API do 1MSG retorna quando uma mensagem não pode ser enviada, com a causa e a solução. Muitos erros de envio retornam HTTP 200 com "sent": false — por isso, confira sempre o campo sent, e não só o status HTTP.
| Status | Resposta da API | Causa | Solução |
|---|---|---|---|
| 200 | Message was not sent: template is not defined | Faltam namespace, template ou language no corpo da requisição. | Envie os três. Pegue o namespace e o nome exato do template em GET /templates; language é um objeto: {"policy": "deterministic", "code": "pt_BR"}. |
| 200 | template name (…) does not exist in <language> | O template foi aprovado em outro idioma, diferente do solicitado. | Use o código de idioma exato em que o template foi aprovado (por exemplo, pt_BR não é o mesmo que pt). Confira em GET /templates. |
| 200 | Message was not sent: provide chatId, phone, bsuid, or username | Nenhum destinatário que o canal consiga identificar. | Informe exatamente um destinatário: phone (código do país mais o número, só dígitos), chatId (por exemplo [email protected]) ou bsuid. |
| 200 | Message was not sent: empty body | O campo body está ausente ou vazio. | Envie um body não vazio. Ele é obrigatório em mensagens de texto, com botões de resposta e de lista. |
| 200 | wrong file | Não foi possível baixar ou enviar a mídia: a URL está inacessível ou o base64 é inválido. | Envie no body uma URL HTTPS pública ou um base64 válido, ou faça upload do arquivo com /uploadMedia e envie mediaId com mediaType. |
| 200 | Message was not sent: filename | sendFile foi chamado sem filename, então o arquivo ficou sem extensão. | Adicione filename com extensão, por exemplo fatura.pdf. |
| 401 | token is required | A requisição não tem token. | Adicione o token do canal como parâmetro token na URL: https://api.1msg.io/{channelId}/{method}?token=… |
| 429 | too many requests. please try later | O canal passou do limite de envio. | Coloque as mensagens em fila do seu lado e tente de novo com backoff exponencial. |
| 403 | access denied | O token está errado ou pertence a outro canal, diferente do da URL. | Confira se o token e o channelId da URL são do mesmo canal. |
Referência completa da API: https://docs.1msg.io/
