code: 10 e error_subcode: 2388185.
A mensagem sugere um problema na sua conta ou no conteúdo do template, mas quase sempre não é nenhum dos dois. A categoria AUTHENTICATION tem um requisito de elegibilidade próprio que UTILITY e MARKETING não têm. Este guia mostra como confirmar o diagnóstico e como destravar a categoria.
Qual é o erro exato?
O mesmo erro aparece de duas formas, dependendo de onde você tenta criar o template. No WhatsApp Manager (UI):Não é possível criar o modelo de mensagem Esta conta do WhatsApp Business não tem permissão para criar um modelo de mensagem.Na Graph API (
POST /{WABA_ID}/message_templates com category: "AUTHENTICATION"):
is_transient: false confirma que repetir a chamada não adianta, e o fbtrace_id é o identificador que a Meta pede quando você abre um ticket de suporte.
Termos em inglês para busca: whatsapp authentication template not allowed, code 10 authentication template, error_subcode 2388185, can create utility but not authentication template whatsapp. É o mesmo problema descrito aqui.
Por que isso acontece?
Porque a categoria AUTHENTICATION é restrita e tem um gate de elegibilidade separado. Além do que UTILITY e MARKETING já exigem, um template de autenticação só é liberado quando a conta cumpre dois requisitos:- Verificação de negócio por um dos caminhos oficiais de escala (as “scaling paths” da Meta): verificação de negócio direta (Business Verification), verificação via parceiro Meta (partner-led) ou o programa Quality Messaging.
- Volume/tier mínimo de mensageria. Contas em tier inicial não conseguem enviar mensagens de autenticação. A Meta cita, como referência, algo em torno de 2.000 mensagens entregues a usuários únicos em 30 dias (fora da janela de 24h, com templates de boa qualidade).
- Não é o conteúdo do template. O mesmo texto, corpo e botão em outra categoria passa; só AUTHENTICATION é recusada.
- Não é um bug ou estado da sua conta específica. O erro reproduz em contas WABA diferentes, sempre só na categoria AUTHENTICATION.
- Não é restrição do Brasil. O gate vale para qualquer país; o
authentication_internationalque aparece em alguns lugares é uma faixa de tarifação, não um bloqueio.
Como diagnosticar?
A forma mais direta de isolar o gate é criar o mesmo template em duas categorias e comparar o retorno. Secategory: "UTILITY" passa e category: "AUTHENTICATION" volta com code: 10 / error_subcode: 2388185, o problema é a categoria, não o conteúdo nem a conta.
Os comandos abaixo falam direto com a Graph API da Meta e exigem um token de acesso da WABA. Se você integra pela Zapster, na maioria das contas esse token fica do nosso lado (você usa a API da Zapster sem manipular o token da WABA), então provavelmente não conseguirá rodar estes
curl por conta própria. Nesse caso, fale com o suporte que fazemos a checagem de elegibilidade da sua conta para você. Os exemplos a seguir servem para quem tem acesso direto ao token.category para "UTILITY" (com um corpo simples, sem botão OTP) e rode de novo. Se UTILITY cria e AUTHENTICATION devolve 2388185, o gate está confirmado.
Como checar a elegibilidade sem criar nada?
Nenhum endpoint devolve um booleano definitivo de “pode criar autenticação”, mas há sinais somente-leitura que funcionam como proxy forte:- Tier de mensagens (o sinal mais limpo). É a mesma escada que a UI da Meta mostra: 250 → 2.000 → 10.000 → 100.000 → ilimitado. Tier 250 (inicial) costuma significar autenticação bloqueada; a partir de 2.000 a conta muito provavelmente já é elegível. Não existe um tier de “1.000” (esse número, comum em blogs de parceiros, está desatualizado).
health_status.GET /{PHONE_NUMBER_ID}?fields=health_statusretornacan_send_messagepor entidade (PHONE_NUMBER,WABA,BUSINESS,APP) comoAVAILABLE,LIMITEDouBLOCKED. UmBUSINESSemLIMITEDouBLOCKEDcostuma indicar verificação de negócio pendente.- Templates de autenticação já existentes.
GET /{WABA_ID}/message_templates?category=AUTHENTICATION&fields=name,status. Se já existe algum, a conta consegue criar. A lista vazia não prova o contrário, então só vale como sinal quando há resultado.
Como resolver?
O caminho é destravar a categoria AUTHENTICATION cumprindo os requisitos oficiais da Meta. Não há atalho de configuração.- Conclua a verificação de negócio por um dos três caminhos de escala: Business Verification direta, verificação via parceiro Meta ou o programa Quality Messaging. Sem verificação de negócio, a autenticação continua bloqueada.
- Suba o tier de mensagens. O gate real é o volume. Enquanto a conta estiver no tier inicial (250), a categoria tende a permanecer bloqueada. A referência da Meta gira em torno de 2.000 mensagens entregues a usuários únicos em 30 dias, com boa qualidade e fora da janela de 24h.
- Aguarde a liberação automática. Quando a conta se torna elegível, a categoria costuma liberar em cerca de 6 horas, sem nenhuma ação manual.
Prazos e limites são definidos pela Meta e podem mudar. Este guia descreve o comportamento observado, não uma garantia da Meta.
error_subcode: 2388185 e o fbtrace_id da resposta da API, que é o que agiliza a análise do lado deles.
Enquanto a categoria AUTHENTICATION não libera, um stopgap comum é enviar o OTP por outro canal (SMS ou e-mail) e migrar para o template de autenticação quando a conta ficar elegível.
O que NÃO resolve o erro?
Duas tentativas parecem óbvias e não funcionam:- Editar o conteúdo do template. Como o bloqueio é de categoria, e não de conteúdo, mudar o texto, o corpo ou o botão não muda o resultado. O erro
2388185continua. - Entregar o OTP como template UTILITY com botão de copiar código. É proibido e tende a ser rejeitado. O botão
OTP(copy-code / one-tap) é exclusivo de AUTHENTICATION. O botãoCOPY_CODEque existe em UTILITY e MARKETING é o de cupom (copiar código de desconto), não de OTP, e a Meta recusa a combinação comcode: 100 / error_subcode: 2388180. A própria documentação de categorização é explícita: “Only authentication templates can be used to send a one-time passcode for identity verification. Marketing and utility templates cannot be used for this purpose.”
REJECTED. Nenhum ajuste de texto contorna isso. O único caminho definitivo é habilitar a categoria AUTHENTICATION.
Como a Zapster ajuda?
A Zapster traduz esse erro opaco da Meta. Na tela de gestão de templates, ocode: 10 / error_subcode: 2388185 vira uma mensagem clara: explica que templates de autenticação exigem verificação de negócio concluída e volume mínimo de mensagens, e que UTILITY e MARKETING não têm essa exigência. Você entende o motivo real sem precisar decifrar o retorno cru da API.
A liberação da categoria depende inteiramente da Meta (verificação de negócio e tier), então nem a Zapster nem qualquer outra plataforma consegue garantir aprovação ou prazo. O que fazemos é deixar o diagnóstico claro e apoiar você no processo, inclusive verificando a elegibilidade da sua conta quando você não tem acesso direto ao token da WABA. Se estiver travado nesse erro, fale com o suporte.
Perguntas frequentes
Consigo criar template UTILITY mas não AUTHENTICATION. Por quê?
Consigo criar template UTILITY mas não AUTHENTICATION. Por quê?
Porque só a categoria AUTHENTICATION tem gate de elegibilidade próprio (verificação de negócio e tier de mensagens). UTILITY e MARKETING não têm essa exigência, então criam normalmente na mesma conta. É o sinal clássico de que o bloqueio é de categoria, não de conteúdo nem da conta.
O que significa o error_subcode 2388185?
O que significa o error_subcode 2388185?
É o código específico da Graph API para “a conta não tem permissão para criar template de autenticação”. Vem junto com
code: 10 e type: OAuthException. Na UI, o mesmo erro aparece como “Esta conta do WhatsApp Business não tem permissão para criar um modelo de mensagem”.Isso é uma restrição do Brasil?
Isso é uma restrição do Brasil?
Não. O gate da categoria AUTHENTICATION vale para qualquer país. O
authentication_international que aparece em alguns painéis é uma faixa de tarifação, não um bloqueio de criação.Editar o conteúdo do template resolve?
Editar o conteúdo do template resolve?
Não. O bloqueio é de categoria, não de conteúdo. Mudar texto, corpo ou botão mantém o mesmo
error_subcode: 2388185.Posso mandar o OTP por um template UTILITY?
Posso mandar o OTP por um template UTILITY?
Não. O botão OTP é exclusivo de AUTHENTICATION, e a documentação da Meta proíbe usar templates de utilidade ou marketing para enviar código de verificação. Mesmo com o código inline no corpo, o template acaba rejeitado. O único caminho é habilitar a categoria AUTHENTICATION.
Quanto tempo demora para liberar depois que fico elegível?
Quanto tempo demora para liberar depois que fico elegível?
Quando a conta cumpre a verificação de negócio e sobe o tier, a categoria costuma liberar em cerca de 6 horas, de forma automática. Prazos são definidos pela Meta e podem mudar.
Já verifiquei o negócio e o erro continua. E agora?
Já verifiquei o negócio e o erro continua. E agora?
Cheque o tier de mensagens (250 → 2.000 → 10.000 → 100.000 → ilimitado): no tier inicial a autenticação tende a permanecer bloqueada. Se a verificação está concluída e o tier já subiu, abra um ticket com o suporte da Meta informando o
error_subcode: 2388185 e o fbtrace_id da resposta.Fontes oficiais da Meta
- Limites de mensagens (messaging limits), a escada de tiers que funciona como gate real.
- Categorização de templates (template categorization), com a regra de que só templates de autenticação enviam OTP.
- Thread da comunidade Meta sobre o erro 2388185, com vários relatos do mesmo
code: 10 / error_subcode: 2388185.