Enviar templates
Criar template, subir a mídia do header, listar e apagar.
Template é a mensagem aprovada pela Meta que você usa para iniciar uma conversa. Ele é criado, passa por aprovação e só então pode ser enviado.
Todas as chamadas desta página vão para admin.2bebandmaster.com.br e precisam
do identifier do número: é o número que possui o template.
Listar templates
A listagem vem de cache. Passe force_reload=1 para buscar de novo no broker.
GET /template
/template?force_reload=1›headers
- authorization:
- Bearer <token>
- identifier:
- <identifier-do-numero>
curl "https://admin.2bebandmaster.com.br/template?force_reload=1" \
-H "authorization: Bearer $TOKEN" \
-H "identifier: $IDENTIFIER"[
{
"identifier": "seu-identifier",
"name": "boas_vindas",
"namespace": "a1b2c3d4_e5f6_7890_abcd_ef1234567890",
"language": "pt_BR",
"status": "approved",
"category": "UTILITY",
"components": [
{ "type": "BODY", "text": "Olá {{1}}, seu pedido foi confirmado." }
],
"quality_score": "GREEN"
}
]Qualquer valor diferente de 1 em force_reload é ignorado — a resposta vem do
cache.
Criar um template
O corpo é repassado inteiro ao validador e ao broker. Os campos que sua aplicação precisa mandar:
| Campo | Valores |
|---|---|
name | nome do template |
language | código do idioma (ex.: pt_BR) |
category | MARKETING, AUTHENTICATION ou UTILITY |
components | lista de componentes do template |
POST /template
/template›headers
- authorization:
- Bearer <token>
- identifier:
- <identifier-do-numero>
curl -X POST https://admin.2bebandmaster.com.br/template \
-H "authorization: Bearer $TOKEN" \
-H "identifier: $IDENTIFIER" \
-H "content-type: application/json" \
-d '{
"name": "boas_vindas",
"language": "pt_BR",
"category": "UTILITY",
"components": [
{ "type": "BODY", "text": "Olá {{1}}, seu pedido foi confirmado." }
]
}'{
"identifier": "seu-identifier",
"name": "boas_vindas",
"namespace": "a1b2c3d4_e5f6_7890_abcd_ef1234567890",
"language": "pt_BR",
"status": "pending",
"category": "UTILITY",
"components": [
{ "type": "BODY", "text": "Olá {{1}}, seu pedido foi confirmado." }
],
"quality_score": "GREEN"
}O template nasce com status: "pending" e só pode ser usado depois que o broker
o aprova (approved).
Corpo inválido responde 401
A validação do corpo do template acontece antes do broker e, quando falha, a resposta é 401 — não 422. Erros vindos do broker aparecem como 400, e indisponibilidade do broker como 502 ou 504.
Header com mídia
Templates com header de imagem, vídeo ou documento precisam de um handle.
Suba o arquivo, receba o handle e coloque-o no componente de header ao criar o
template.
Limites: até 25 MB, e o tipo precisa ser image/jpeg, image/jpg,
image/png, video/mp4 ou application/pdf.
POST /template/media-handle
/template/media-handle›headers
- authorization:
- Bearer <token>
- identifier:
- <identifier-do-numero>
curl -X POST https://admin.2bebandmaster.com.br/template/media-handle \
-H "authorization: Bearer $TOKEN" \
-H "identifier: $IDENTIFIER" \
-F "file=@banner.png"{ "handle": "4::aW1hZ2UvcG5n:ARZ..." }Erros possíveis:
| Situação | Resposta |
|---|---|
| arquivo ausente | 400 "File is required" |
| tipo não suportado | 400 |
| arquivo acima de 25 MB | 422 |
Apagar um template
DELETE /template
/template?template_id=1234567890›headers
- authorization:
- Bearer <token>
- identifier:
- <identifier-do-numero>
curl -X DELETE "https://admin.2bebandmaster.com.br/template?template_id=1234567890" \
-H "authorization: Bearer $TOKEN" \
-H "identifier: $IDENTIFIER"{}A remoção responde 201 com corpo vazio.
Erros de template no webhook
Se um envio usar um template_id desconhecido, ou um template de categoria
AUTHENTICATION for enviado a um destino não suportado, o Bandmaster avisa na
sua URL de webhook — veja erros de template.