Pular para o conteúdo principal
POST
Cria um template e o envia para análise da Meta. O template é criado com status PENDING e só pode ser utilizado em envios após ser aprovado. A resposta retorna o id do template:
A alteração de status é informada pelo webhook message_template_status_update, o que dispensa a consulta periódica à listagem.

Nome

O nome identifica o template no envio e aceita apenas letras minúsculas, números e sublinhado, sem espaços e sem acentos:
O mesmo nome pode existir em vários idiomas, e cada idioma é analisado separadamente. A combinação de nome e idioma não pode ser repetida.

Categoria

A categoria determina o preço e as regras de envio. As definições estão na visão geral de templates da Meta, e as regras específicas de marketing em templates de marketing personalizados.
A Meta reclassifica o template quando o conteúdo não corresponde à categoria informada. Um conteúdo promocional enviado como UTILITY é convertido para MARKETING. Se já existir uma versão daquele template em outra categoria, a criação falha com “A categoria MARKETING não corresponde à categoria já associada a este modelo, UTILITY”.

Componentes

O corpo (BODY) é obrigatório. Cabeçalho (HEADER), rodapé (FOOTER) e botões (BUTTONS) são opcionais.
Para cabeçalho com imagem, vídeo ou documento, a Meta exige um header_handle no lugar da URL. Gere esse valor com Gerar handle de arquivo.

Variáveis posicionais ou nomeadas

As variáveis do template podem ser numeradas ou identificadas por nome. O formato é definido pelo campo parameter_format, que assume POSITIONAL quando não é informado.
As diferenças entre os dois formatos: Os nomes de parâmetro aceitam apenas letras minúsculas, números e sublinhado. Os dois formatos não podem ser combinados no mesmo template: um texto com {{nome}} e {{1}} é aceito na criação e reprovado na análise.
O formato escolhido na criação determina como as variáveis são preenchidas no envio, descrito em Enviar template.

Exemplo das variáveis

Toda variável precisa de um valor de exemplo, utilizado na análise do template. O comportamento difere conforme o formato:
  • No formato nomeado, a ausência de body_text_named_params retorna HTTP 400 com a mensagem “o componente do tipo BODY não contém o(s) campo(s) esperado(s) (example)”.
  • No formato posicional, a ausência de body_text não gera erro na requisição: a resposta é HTTP 200, o template é criado e passa para REJECTED, com rejected_reason igual a INVALID_FORMAT.
Um template reprovado pode ser corrigido em Editar template, sem necessidade de outro nome.

Erros comuns

A Meta retorna a descrição em error_user_msg, em português: As regras de formato e os limites de cada componente estão em gerenciamento de templates da Meta.

Autorizações

Authorization
string
header
obrigatório

Token gerado no painel da Datafy ao criar o canal. Formato: sk_live_xxx.

Parâmetros de caminho

waba_id
string
obrigatório

ID da conta do WhatsApp Business. Descubra com GET /me.

Corpo

application/json
name
string
obrigatório

Nome do template, em letras minúsculas e com _ no lugar de espaços.

language
string
obrigatório

Código do idioma, como pt_BR.

category
enum<string>
obrigatório
Opções disponíveis:
MARKETING,
UTILITY,
AUTHENTICATION
components
object[]
obrigatório

Cabeçalho, corpo, rodapé e botões do template.

parameter_format
enum<string>
padrão:POSITIONAL

Formato das variáveis: POSITIONAL usa {{1}}, {{2}}; NAMED usa {{nome}} e exige body_text_named_params no exemplo.

Opções disponíveis:
POSITIONAL,
NAMED
Exemplo:

"POSITIONAL"

Resposta

Template criado e enviado para análise.