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/templates
curl
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 trazVocê manda no envioSe esquecer
body.variables_count > 0variablesA Meta recusa: quantidade de parâmetros diferente do template.
header.needs_media: trueheader_mediaErro 132012. A mensagem não sai.
header.needs_text: trueheader_textA Meta recusa: falta o parâmetro do cabeçalho.
buttons[].needs_url_param: truebutton_url_paramA Meta recusa: o botão tem variável sem valor.
footernadaO 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)

formatO que éO envio precisa de
TEXTUma linha de título, com no máximo uma variável.header_text
IMAGEImagem no topo da mensagem.header_media
VIDEOVídeo no topo.header_media
DOCUMENTPDF ou arquivo no topo. É o caso de bilhete e comprovante.header_media
LOCATIONMapa. Raro, e não coberto pelo envio simples.components manual
(ausente)Template sem cabeçalho.nada

Status possíveis (link para esta seção)

statusEnvia?O que fazer
APPROVEDsimPronto para uso.
PENDINGnãoEm análise pela Meta. Costuma levar de minutos a algumas horas.
REJECTEDnãoReprovado. O motivo aparece no painel, em Templates.
PAUSEDnãoPausado por qualidade baixa: muita gente bloqueou ou denunciou.
DISABLEDnãoDesativado 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.