Sign inGet started

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 WhatsAppTemplateBusinessNotVerified. Verifique a conta conectada e seu status sincronizado mais recente. Consulte Verificação comercial da WhatsApp 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, ou pelo servidor MCP. Consulte Criação de templates do WhatsApp 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:
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);
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 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 WhatsAppRecipientNotSupportedForTemplate.
  • O corpo aceita exatamente um parâmetro posicional, o código. Zero parâmetros, ou nomear o parâmetro, retorna 422 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:
Exemplo de código
{ "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 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 para saber como o envio para um país diferente da sua localização principal pode alterá-lo, e Custos e faturamento para saber quando um envio é cobrado. Os valores das tarifas estão em Preços da WhatsApp.

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