# Templates de autenticação do WhatsApp

Um template de autenticação entrega um código de verificação de uso único. A Meta fornece o texto quando você cria o template. Ao enviá-lo, forneça o código como um parâmetro de corpo.

## Antes de enviar

Escolha entre usar um template gerenciado pela Bird ou criar um template na sua própria conta comercial.

Enviar os templates pré-prontos do catálogo do Bird, `bird_otp` e `bird_otp_authifly`, não exige verificação da sua parte. Esses templates ficam nas WhatsApp Business Accounts do próprio Bird, e o caminho de envio gerenciado nunca verifica o status de verificação do seu negócio.

Quando a conta comercial conectada reporta `not_verified`, Bird recusa a criação ou duplicação de template de autenticação com `412` [`E15043`](/docs/api/errors/E15043) `WhatsAppTemplateBusinessNotVerified`. Verifique a conta conectada e seu status sincronizado mais recente. Consulte [Verificação comercial da WhatsApp](/docs/knowledge-base/whatsapp/business-verification) para o processo de verificação e tratamento de status.

A criação de templates de utilidade e marketing não é afetada por essa exigência; você pode continuar criando e editando esses templates independentemente do seu status de verificação.

Crie templates no dashboard, com a [`bird` CLI](/docs/cli), ou pelo [servidor MCP](/docs/ai/mcp-server). Consulte [Criação de templates do WhatsApp](/docs/guides/whatsapp/authoring-templates) para o fluxo completo.

## Enviando um código de verificação

`POST /v1/whatsapp/messages` com um objeto `template` que nomeia um slug do catálogo:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+14155550100",
  template: {
    slug: "bird_otp",
    language: "en",
    components: [{ type: "body", parameters: [{ type: "text", text: "481920" }] }],
  },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/pt-br/documentacao/guides/whatsapp/templates/authentication.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/templates/authentication.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/templates/authentication.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/templates/authentication.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/templates/authentication.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/templates/authentication.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/templates/authentication.curl.md)

Quatro regras são específicas desta categoria:

- **Omita `from`.** Um template gerenciado por Bird escolhe seu próprio remetente com base na categoria e na região, então definir `from` retorna `422` [`E15018`](/docs/api/errors/E15018) `WhatsAppSenderNotAllowed`. Isso é o oposto de um envio livre, que exige `from`, algo a ter em mente se você está vindo das páginas de mensagens interativas.
- **`to` deve ser um número de telefone E.164.** Um template de autenticação não pode ser enviado a um ID de usuário com escopo de negócio; isso é `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`.
- **O corpo aceita exatamente um parâmetro posicional, o código.** Zero parâmetros, ou nomear o parâmetro, retorna `422` [`E15003`](/docs/api/errors/E15003) `WhatsAppTemplateParameterMismatch`. Autenticação é a única categoria que a Meta escreve posicionalmente; todas as outras categorias nomeiam seus parâmetros.
- **Nenhuma janela de atendimento ao cliente é necessária.** Envios de template não dependem de janela, e esse é exatamente o motivo pelo qual um template de código de verificação existe: ele precisa alcançar alguém que nunca enviou mensagem para você antes.

Consulte os idiomas disponíveis para `bird_otp` ou `bird_otp_authifly` no catálogo de templates. Se o idioma solicitado não estiver disponível, o envio falha em vez de substituir por outro idioma.

## O botão de copiar código

A Meta escreve o corpo de um template de autenticação por conta própria, como um modelo predefinido com um único placeholder de código, então você fornece flags em vez de texto. O componente de botão é opcional no envio: se você não incluir um, o Bird o adiciona para você, carregando o mesmo código do corpo. Você também pode fornecê-lo manualmente:

```json
{ "type": "button", "parameters": [{ "type": "text", "text": "481920" }] }
```

De qualquer forma, exatamente um botão chega ao WhatsApp, e é o botão de copiar código: ao tocá-lo, o código é copiado para a área de transferência. Bird suporta apenas `copy_code`; os outros dois comportamentos de botão que a Meta documenta para templates de autenticação, one-tap e zero-tap autofill, não estão disponíveis no Bird atualmente.

A criação do botão de um template segue o mesmo formato: um botão `otp`, e o template não aceita nenhum outro tipo de botão. Você fornece `add_security_recommendation` (um booleano exibido no corpo) e `code_expiration_minutes` (1 a 90, exibido no rodapé) em vez de escrever texto.

## O que a Meta permite em um template de autenticação

A Meta fixa a estrutura de um template de autenticação e revisa seu conteúdo: nenhuma URL, mídia ou emoji em qualquer parte do template, e um limite de 15 caracteres no parâmetro de código. A categoria também altera como o WhatsApp entrega a mensagem, enviando-a apenas para o dispositivo principal do destinatário. Consulte [Diretrizes de templates](/docs/knowledge-base/whatsapp/template-guidelines) para a estrutura fixa, os limites de caracteres e o processo de revisão completo.

## Custo

A categoria e o destino definem o preço. Consulte [Tarifas internacionais de autenticação WhatsApp](/docs/knowledge-base/whatsapp/authentication-international-rates) para saber como o envio para um país diferente da sua localização principal pode alterá-lo, e [Custos e faturamento](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing) para saber quando um envio é cobrado. Os valores das tarifas estão em [Preços da WhatsApp](/products/whatsapp/pricing).

## Pontos de atenção

- **Os templates pré-prontos do Bird não entregam para nove países.** `bird_otp` e `bird_otp_authifly` enviam a partir das WhatsApp Business Accounts do próprio Bird, e essas contas não entregam mensagens de autenticação para Egito, Índia, Indonésia, Malásia, Nigéria, Paquistão, Arábia Saudita, África do Sul ou Emirados Árabes Unidos. Esse envio é recusado `422` [`E15063`](/docs/api/errors/E15063) `WhatsAppDestinationRestricted` antes de qualquer cobrança. Um template que você criou na sua própria conta, enviado a partir do seu próprio número, alcança esses países normalmente. [Verify](/docs/guides/verify/countries#where-whatsapp-cannot-carry-a-passcode) também alcança, movendo o código de verificação para outro canal automaticamente.
- **Um envio com template próprio exige `from`, e ele precisa estar na mesma WhatsApp Business Account do template.** Um remetente em uma conta diferente é recusado `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch` antes de qualquer cobrança.
- **Apenas um idioma cuja versão esteja aprovada e ativa pode ser enviado.** Um idioma em rascunho, pendente, rejeitado ou pausado não pode.
- **A Meta pode recategorizar um template por iniciativa própria.** Não há como recusar, e isso move as regras de preço e entrega que acompanham a categoria.
- **A categoria do template e a categoria do seu idioma podem divergir.** Consulte [Templates do WhatsApp](/docs/guides/whatsapp/templates#listing-templates-from-the-api) para saber como o caminho de envio resolve isso.
- **Um template de autenticação ingerido não pode ser duplicado.** O Bird não consegue ler o texto gerado pelo WhatsApp de volta para as configurações a partir das quais um novo template é criado; isso é `422` [`E15024`](/docs/api/errors/E15024) `WhatsAppTemplateContentNotDuplicable`. Em vez disso, crie um novo com sua própria recomendação de segurança e expiração de código.

## Próximos passos

- [Templates do WhatsApp](/docs/guides/whatsapp/templates): navegação pelo catálogo e o contrato compartilhado de envio por template
- [Templates de utilidade](/docs/guides/whatsapp/templates/utility): atualizações de pedido, lembretes de agendamento e avisos de conta
- [Verificação empresarial do WhatsApp](/docs/knowledge-base/whatsapp/business-verification): como a verificação funciona e o que mais ela desbloqueia

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
