API Criar Mensagens Template Meta
Cria um template da API Oficial e já o envia para análise da Meta.
API: Oficial
Endpoint
https://apichat.agpt.com.br/api/waba-templates
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"name": "confirmacao_pedido",
"category": "UTILITY",
"language": "pt_BR",
"header": "Seu pedido",
"body": "Olá {{1}}, seu pedido {{2}} foi confirmado.",
"footer": "Equipe de Atendimento",
"bodyExamples": ["Maria", "12345"],
"buttons": [
{ "type": "URL", "text": "Acompanhar", "url": "https://exemplo.com/pedido" }
]
}
“name”: nome do template — letras minúsculas, números e
_. Obrigatório.
Se a conexão já tiver um template com esse nome, a plataforma acrescenta
_1, _2… e devolve o nome final na resposta.
“category”:
MARKETING, UTILITY ou AUTHENTICATION. Obrigatório.
“language”: código de idioma da Meta —
pt_BR, en_US, es_ES… Obrigatório.
“body”: o texto da mensagem, com as variáveis escritas como
{{1}}, {{2}}. Obrigatório.
“bodyExamples”: um exemplo para cada variável do
body, na ordem. Obrigatório quando o body tem variável — a Meta recusa template com {{1}} sem exemplo.
“header”: cabeçalho opcional. Pode ser só o texto, como no exemplo, ou um objeto de mídia:
{ "type": "IMAGE", "media": "https://exemplo.com/banner.jpg" }.
O
type aceita TEXT, IMAGE, VIDEO, DOCUMENT ou LOCATION.
Limites da Meta para a mídia de exemplo: imagem JPEG ou PNG até 5 MB, vídeo MP4 ou 3GPP até 16 MB, documento PDF até 100 MB.
“mediaSample”: opcional — o endereço público da mídia de exemplo do cabeçalho.
“footer”: rodapé opcional — texto curto, sem variáveis.
“buttons”: lista opcional de botões. Cada um tem
type e text:
QUICK_REPLY — só o texto.
URL — com o campo url, que aceita variável: https://exemplo.com/{{1}}.
PHONE_NUMBER — com o campo phone_number, no formato +5511999998888.
A chamada já envia o template para análise da Meta — não existe criar sem enviar. A resposta volta com
"status": "PENDING" e o id do template — guarde-o para acompanhar a aprovação. Quem aprova é a Meta, e isso leva de minutos a horas.
O template nasce na conexão da chamada: a dona do token, quando se usa o token da Conexão, ou a informada quando se usa o Token da Empresa. Um
wabaConnectionId enviado no corpo é ignorado. Essa conexão precisa ser oficial da Meta — com uma conexão por QR Code, a chamada volta com erro 400 dizendo isso.
Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://apichat.agpt.com.br/api/waba-templates',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"name": "confirmacao_pedido",
"category": "UTILITY",
"language": "pt_BR",
"header": "Seu pedido",
"body": "Olá {{1}}, seu pedido {{2}} foi confirmado.",
"footer": "Equipe de Atendimento",
"bodyExamples": ["Maria", "12345"],
"buttons": [
{ "type": "URL", "text": "Acompanhar", "url": "https://exemplo.com/pedido" }
]
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;