Bandmaster docs

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

VocêGET/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"
Bandmaster200 OK✓✓
[
{
  "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:

CampoValores
namenome do template
languagecódigo do idioma (ex.: pt_BR)
categoryMARKETING, AUTHENTICATION ou UTILITY
componentslista de componentes do template

POST /template

VocêPOST/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." }
  ]
}'
Bandmaster201 Created✓✓
{
"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

VocêPOST/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"
Bandmaster201 Created✓✓
{ "handle": "4::aW1hZ2UvcG5n:ARZ..." }

Erros possíveis:

SituaçãoResposta
arquivo ausente400 "File is required"
tipo não suportado400
arquivo acima de 25 MB422

Apagar um template

DELETE /template

VocêDELETE/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"
Bandmaster201 Created✓✓
{}

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.

Nesta página