Templates
Fora da janela de 24h você só envia template aprovado. Esta rota diz quais você tem e, principalmente, o que cada um exige no envio, para o seu sistema montar a chamada sem ninguém decorar nada.
GET
/public/v1/templatescurl
curl https://api.patrociniotech.com/public/v1/templates \ -H "Authorization: Bearer ptk_live_..."
Por padrão só os aprovados, que são os únicos que enviam. Use ?status=ALL para ver também os em análise e os reprovados.
Resposta (link para esta seção)
200
{
"success": true,
"data": {
"templates": [
{
"name": "entrega_pedido",
"language": "pt_BR",
"status": "APPROVED",
"category": "UTILITY",
"sendable": true,
"header": {
"format": "DOCUMENT",
"text": null,
"needs_media": true,
"needs_text": false
},
"body": {
"text": "Olá {{1}}, seu pedido {{2}} foi emitido.",
"variables_count": 2
},
"footer": { "text": "Obrigado por comprar conosco!" },
"buttons": [
{
"index": 0,
"type": "URL",
"text": "Ver detalhes",
"url": "https://sualoja.com.br/pedido/{{1}}",
"needs_url_param": true
}
]
}
]
}
}O que cada parte exige (link para esta seção)
Esta é a tabela que resolve o envio. Cada campo da resposta aponta para o campo do POST /messages que você precisa preencher.
| Se a resposta traz | Você manda no envio | Se esquecer |
|---|---|---|
body.variables_count > 0 | variables | A Meta recusa: quantidade de parâmetros diferente do template. |
header.needs_media: true | header_media | Erro 132012. A mensagem não sai. |
header.needs_text: true | header_text | A Meta recusa: falta o parâmetro do cabeçalho. |
buttons[].needs_url_param: true | button_url_param | A Meta recusa: o botão tem variável sem valor. |
footer | nada | O rodapé é texto fixo. A Meta não aceita variável nele. |
Como contamos as variáveis (link para esta seção)
Pelo maior índice, não pela quantidade de ocorrências. Um corpo que usa {{1}} duas vezes espera uma variável, não duas.
Mandar a quantidade errada é o erro mais comum de quem integra template, e a Meta devolve isso como falha genérica, sem dizer que era a contagem. Com
variables_count na mão dá para validar antes de gastar o envio.Formatos de cabeçalho (link para esta seção)
| format | O que é | O envio precisa de |
|---|---|---|
| TEXT | Uma linha de título, com no máximo uma variável. | header_text |
| IMAGE | Imagem no topo da mensagem. | header_media |
| VIDEO | Vídeo no topo. | header_media |
| DOCUMENT | PDF ou arquivo no topo. É o caso de bilhete e comprovante. | header_media |
| LOCATION | Mapa. Raro, e não coberto pelo envio simples. | components manual |
| (ausente) | Template sem cabeçalho. | nada |
Status possíveis (link para esta seção)
| status | Envia? | O que fazer |
|---|---|---|
| APPROVED | sim | Pronto para uso. |
| PENDING | não | Em análise pela Meta. Costuma levar de minutos a algumas horas. |
| REJECTED | não | Reprovado. O motivo aparece no painel, em Templates. |
| PAUSED | não | Pausado por qualidade baixa: muita gente bloqueou ou denunciou. |
| DISABLED | não | Desativado pela Meta. Crie outro. |
Um template aprovado pode ser pausado depois, sem aviso, se as pessoas reclamarem dele. Consulte esta rota antes de uma campanha grande em vez de confiar numa lista salva no seu banco há três meses.
Formato original (link para esta seção)
A resposta inclui components exatamente como a Meta devolve. Serve para casos raros que o resumo acima não cobre, e garante que nada fique inalcançável.