code estável — programe contra o código, nunca contra o texto de message (que pode mudar):
Catálogo de códigos
Requisição e autenticação
Configuração da conta
Envio (WhatsApp)
Templates
Erros das rotas/v1/whatsapp/templates. Veja o guia de Templates.
Nessas rotas,
media_unsupported indica que o arquivo de exemplo do cabeçalho não pôde ser baixado ou não é aceito, e channel_rate_limit indica o limite da Meta de 100 criações de template por hora. Na criação, consulta por id, edição e exclusão, connection_expired (422) também aparece quando a conta conectada não tem permissão de gerenciar templates: reconecte o número no painel.
Nessas mesmas rotas, channel_rate_limit (429), connection_expired e no_active_connection (422) chegam como vieram da conexão, e qualquer outra falha da Meta vira channel_error (502). A listagem (GET /v1/whatsapp/templates) mantém o comportamento de sempre e devolve a falha da Meta já traduzida para o catálogo acima.
Transitórios
Falhas assíncronas
Nem toda falha chega como erro HTTP: a Meta pode aceitar um envio (201) e falhá-lo segundos depois. Nesses casos, GET /v1/whatsapp/messages/{id} retorna status: failed com o campo error usando os mesmos códigos deste catálogo:
error.code da consulta de status exatamente como trataria o code de uma resposta de erro síncrona.
Para ser notificado da falha em vez de consultar, assine o evento whatsapp.message.updated — veja Webhooks.