> ## Documentation Index
> Fetch the complete documentation index at: https://developer.zapsterapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Erro ao criar template de autenticação no WhatsApp (code 10, subcode 2388185)

> Por que a Meta recusa o template de autenticação/OTP com "Esta conta do WhatsApp Business não tem permissão para criar um modelo de mensagem" (code 10, error_subcode 2388185), como diagnosticar e como liberar a categoria AUTHENTICATION.

Ao criar um template de **categoria AUTHENTICATION** (OTP, o botão de "copiar código") no WhatsApp Manager ou pela Graph API, a Meta pode recusar com um erro genérico e enganoso: **"Esta conta do WhatsApp Business não tem permissão para criar um modelo de mensagem"**. Em inglês, o mesmo erro aparece como *"WhatsApp Business account doesn't have permission to create message template"* e, na API, como *"Application does not have permission for this action"* com `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"`):

```json theme={null}
{
  "error": {
    "message": "Application does not have permission for this action",
    "type": "OAuthException",
    "code": 10,
    "error_subcode": 2388185,
    "is_transient": false,
    "fbtrace_id": "AbCdEf123..."
  }
}
```

A UI apenas reexibe esse erro da API. O `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.

<Info>
  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.
</Info>

## 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:

1. **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.
2. **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 existe um botão de "habilitar autenticação" nem um opt-in de termos. O caminho é verificar o negócio e escalar o tier. Desde o fim de 2025, a Meta passou a bloquear já na criação do template, em vez de bloquear só no envio.

Vale reforçar o que **não** é a causa:

* **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_international` que aparece em alguns lugares é uma faixa de tarifação, não um bloqueio.

O sinal que fecha o diagnóstico é simples: **templates de UTILITY e MARKETING são criados normalmente na mesma conta, e só o de AUTHENTICATION falha.**

## Como diagnosticar?

A forma mais direta de isolar o gate é criar o mesmo template em duas categorias e comparar o retorno. Se `category: "UTILITY"` passa e `category: "AUTHENTICATION"` volta com `code: 10 / error_subcode: 2388185`, o problema é a categoria, não o conteúdo nem a conta.

<Note>
  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](https://wa.me/5587999079455?text=Olá,%20quero%20verificar%20a%20elegibilidade%20da%20minha%20conta%20para%20templates%20de%20autenticação%20no%20WhatsApp) que fazemos a checagem de elegibilidade da sua conta para você. Os exemplos a seguir servem para quem tem acesso direto ao token.
</Note>

<Warning>
  Este `POST` **cria o template de verdade** se a conta tiver permissão. Use apenas para diagnóstico manual pontual e apague o template de teste depois. Para uma checagem sem efeito colateral, prefira os sinais somente-leitura descritos mais abaixo.
</Warning>

```bash theme={null}
curl -X POST "https://graph.facebook.com/v25.0/{WABA_ID}/message_templates" \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "otp_test",
    "language": "pt_BR",
    "category": "AUTHENTICATION",
    "message_send_ttl_seconds": 60,
    "components": [
      { "type": "BODY", "add_security_recommendation": true },
      { "type": "FOOTER", "code_expiration_minutes": 5 },
      { "type": "BUTTONS", "buttons": [{ "type": "OTP", "otp_type": "COPY_CODE" }] }
    ]
  }'
```

Troque `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_status` retorna `can_send_message` por entidade (`PHONE_NUMBER`, `WABA`, `BUSINESS`, `APP`) como `AVAILABLE`, `LIMITED` ou `BLOCKED`. Um `BUSINESS` em `LIMITED` ou `BLOCKED` costuma 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.

1. **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.
2. **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.
3. **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.

<Note>
  Prazos e limites são definidos pela Meta e podem mudar. Este guia descreve o comportamento observado, não uma garantia da Meta.
</Note>

Se você já concluiu a verificação de negócio, está em um tier acima do inicial e o erro **persiste**, aí sim vale abrir um ticket com o suporte da Meta. Inclua o `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 `2388185` continua.
* **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ão `COPY_CODE` que existe em UTILITY e MARKETING é o de **cupom** (copiar código de desconto), não de OTP, e a Meta recusa a combinação com `code: 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."*

Mesmo colocando o código inline no corpo, sem botão, o classificador de conteúdo da Meta reconhece o padrão de OTP e marca o template como `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, o `code: 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](https://wa.me/5587999079455?text=Olá,%20estou%20com%20o%20erro%20de%20template%20de%20autenticação%20\(subcode%202388185\)%20no%20WhatsApp).

## Perguntas frequentes

<AccordionGroup>
  <Accordion title="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.
  </Accordion>

  <Accordion title="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".
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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`.
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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.
  </Accordion>
</AccordionGroup>

## Fontes oficiais da Meta

* [Limites de mensagens (messaging limits)](https://developers.facebook.com/docs/whatsapp/messaging-limits), a escada de tiers que funciona como gate real.
* [Categorização de templates (template categorization)](https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/template-categorization), com a regra de que só templates de autenticação enviam OTP.
* [Thread da comunidade Meta sobre o erro 2388185](https://developers.facebook.com/community/threads/1372007877817645/), com vários relatos do mesmo `code: 10 / error_subcode: 2388185`.

## Próximos passos

* [Conectando uma instância WABA](/pt-BR/v1/guides/connect-waba-instance)
* [Enviando mensagens WABA](/pt-BR/v1/guides/send-waba-messages)
* [Número 555 da Meta e o erro 131037](/pt-BR/v1/numero-555-meta)

<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{
__html: JSON.stringify({
  "@context": "https://schema.org",
  "@type": "FAQPage",
  mainEntity: [
    {
      "@type": "Question",
      name: "Consigo criar template UTILITY mas não AUTHENTICATION no WhatsApp. Por quê?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "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 e criam normalmente na mesma conta.",
      },
    },
    {
      "@type": "Question",
      name: "O que significa o error_subcode 2388185 no WhatsApp?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "É o código da Graph API para a conta não ter permissão de criar template de autenticação. Vem com code 10 e type OAuthException. Na UI aparece como 'Esta conta do WhatsApp Business não tem permissão para criar um modelo de mensagem'.",
      },
    },
    {
      "@type": "Question",
      name: "O erro de template de autenticação é uma restrição do Brasil?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "Não. O gate da categoria AUTHENTICATION vale para qualquer país. O authentication_international é uma faixa de tarifação, não um bloqueio de criação.",
      },
    },
    {
      "@type": "Question",
      name: "Editar o conteúdo do template resolve o erro 2388185?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "Não. O bloqueio é de categoria, não de conteúdo. Mudar texto, corpo ou botão mantém o mesmo error_subcode 2388185.",
      },
    },
    {
      "@type": "Question",
      name: "Posso enviar o OTP por um template UTILITY do WhatsApp?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "Não. O botão OTP é exclusivo de AUTHENTICATION e a Meta proíbe usar templates de utilidade ou marketing para enviar código de verificação. Mesmo com o código inline, o template acaba rejeitado.",
      },
    },
    {
      "@type": "Question",
      name: "Quanto tempo demora para liberar o template de autenticação depois que fico elegível?",
      acceptedAnswer: {
        "@type": "Answer",
        text: "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.",
      },
    },
  ],
}),
}}
/>
