Erro 3 do WhatsApp: problema de capacidade ou permissões
O código de erro 3 significa que a app que chama o endpoint não tem uma capacidade ou permissão que esse endpoint exige. A descrição da Meta é "Capability or permissions issue." A Graph API dá-lhe o nome API Method. A solução é inspecionar as permissões concedidas ao token com o depurador de tokens de acesso e adicionar a que o endpoint necessita.
O código da Meta para "Capability or permissions issue."
O nome que o guia de tratamento de erros da Graph API atribui ao código 3.
whatsapp_business_management e whatsapp_business_messaging, as duas permissões de que a maioria dos endpoints do WhatsApp precisa.
O que significa o código de erro 3 do WhatsApp?
Significa que o pedido foi autenticado, mas a app não tem autorização para fazer o que solicitou.
A Meta inclui o código 3 entre os erros de autorização na referência da Cloud API, com o texto de detalhe "Capability or permissions issue." O guia de tratamento de erros da Graph API, que a Cloud API herda, chama a este mesmo código API Method e indica que se deve confirmar que a app tem a capacidade ou as permissões necessárias para a chamada.
Portanto, o token funciona. A identidade não é o problema, o que distingue este erro dos códigos 0 e 190. O problema é aquilo a que o token pode aceder.
Como se verifica que permissões tem um token?
Com o depurador de tokens de acesso ou com o endpoint debug_token, que devolve a mesma informação.
A resposta lista as permissões concedidas na propriedade scopes. Compare essa lista com a página de referência do endpoint que falhou, já que cada referência indica as permissões que exige.
No WhatsApp, duas permissões cobrem quase tudo. A whatsapp_business_management é necessária para metadados da conta, templates, listagens de números de telefone, análises e webhooks da conta. A whatsapp_business_messaging é necessária para enviar qualquer mensagem e para receber webhooks de mensagens e de estado. Um token que tenha apenas uma delas falha nas chamadas que exigem a outra.
Porque é que uma app de parceiro vê o erro 3 e um programador direto não?
Porque os parceiros que servem outras empresas têm uma barreira adicional.
O guia de permissões da Meta indica que um parceiro cujos clientes usam a sua app para aceder aos respetivos dados tem de passar o App Review e ter Advanced access em todas as permissões de que a app precisa. Um programador direto, que trabalha apenas com os dados da sua própria empresa, não precisa de App Review nem de Advanced access.
Assim, o mesmo código pode funcionar sem problemas na conta do próprio programador e falhar na conta de um cliente. Quando surge este padrão, a questão não é que permissão falta no token, mas se a app foi aprovada para usar essa permissão em ativos que não lhe pertencem.
Erros comuns
- Gerar um novo token com os mesmos scopes. Um token novo com as mesmas permissões falha no mesmo ponto.
- Verificar o nome da permissão nas definições da app em vez de no token. O que conta é o que foi concedido ao token.
- Testar apenas na sua própria conta. As apps de parceiros precisam de Advanced access para que as contas de clientes aceitem a chamada.
A EasyCoexistence liga cada número através do fluxo Embedded Signup da própria Meta, pelo que a empresa concede as permissões na integração e o estado da ligação fica depois visível no painel.
Perguntas frequentes
O erro 3 é um problema com o meu número de telefone?
Não. Diz respeito ao que o token da app pode fazer. O número não é verificado antes de o pedido ser recusado.
Qual é a diferença entre o erro 3 e o erro 10?
O código 3 é um problema de capacidade ou permissões. O código 10 indica que uma permissão não foi concedida ou foi removida. Ambos se resolvem verificando os scopes do token.
Que permissão é necessária para enviar mensagens?
A whatsapp_business_messaging. O guia de permissões da Meta indica que é obrigatória para enviar qualquer tipo de mensagem.
Voltar a tentar ajuda?
Não. As permissões do token não mudam entre tentativas, pelo que o resultado é o mesmo.
Continue a ler
Pronto para começar?
Configure a Coexistência do WhatsApp em minutos, não em meses. A aplicação continua a funcionar no telemóvel.
Começar período experimental gratuitoVerificado em