Templates da Meta
Lê os modelos de mensagem aprovados na Meta e os modelos recomendados pela plataforma.
Um template é um modelo de mensagem que a Meta precisa aprovar antes do uso. Ele é a única forma de falar com um cliente fora da janela de 24 horas, e a base de toda campanha. Tem categoria (UTILITY para avisos transacionais, MARKETING para promoções, AUTHENTICATION para códigos) e variáveis numeradas ({{1}}, {{2}}). Estas rotas leem; para criar e gerenciar, veja Templates gerenciados.
Listar templates da Meta
Consulta a Meta ao vivo e devolve até 100 templates da conta, com status e componentes.
/api/v1/admin/whatsapp/templatesAdminLista os templates da conta WhatsApp Business da loja
Exemplo de requisição (Listar templates da Meta)
curl "$BASE_URL/api/v1/admin/whatsapp/templates" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar templates da Meta)
{
"templates": [
{
"name": "order_confirmation",
"language": "pt_BR",
"status": "APPROVED",
"category": "UTILITY",
"components": [
{
"type": "BODY",
"text": "Seu pedido {{1}} foi recebido. Total: {{2}}."
}
]
}
],
"total": 1
}Campos da resposta
templatesarrayTemplates da conta.
namestringlanguagestringpt_BR.statusstringAPPROVED, PENDING ou REJECTED (a Meta pode devolver outros valores, como PAUSED).categorystringUTILITY, MARKETING ou AUTHENTICATION.componentsarrayBODY), rodapé e botões, no formato da Meta.totalintegerErros (Listar templates da Meta)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 502 | A Meta falhou ou recusou a consulta. O corpo traz code (whatsapp.templates.meta_unavailable ou whatsapp.templates.unknown), error, detail e graph_code. | {"code":"whatsapp.templates.unknown","error":"Could not load templates from Meta.","detail":"...","http_status":400,"graph_code":100} |
| 503 | A loja ainda não configurou a API (whatsapp.templates.not_configured) ou o token é inválido (whatsapp.templates.token_invalid). | {"code":"whatsapp.templates.not_configured","error":"..."} |
Modelos recomendados
Devolve um catálogo estático de modelos que a plataforma recomenda cadastrar (boas-vindas com link da loja, carrinho abandonado e outros), com o texto de exemplo e o botão sugerido, mais o catálogo de variáveis. Não consulta a Meta.
/api/v1/admin/whatsapp/templates/modelsAdminLista modelos prontos de template e as variáveis disponíveis
Exemplo de requisição (Modelos recomendados)
curl "$BASE_URL/api/v1/admin/whatsapp/templates/models" \
-H "Authorization: Bearer $TOKEN"Resposta (Modelos recomendados)
{
"models": [
{
"slug": "welcome_store_link",
"suggested_name": "venddor_welcome_loja",
"language": "pt_BR",
"category": "UTILITY",
"use_case_pt": "Boas-vindas com link da loja (mini-shop)",
"use_case_en": "Welcome with personalized store link",
"body_example": "Olá{{1}}! Bem-vindo(a) à *{{2}}*.",
"body_param_hints": [
"{{customer_name}}",
"{{vendor_name}}"
],
"has_url_button": true,
"url_button_base": "/wa/{{1}}",
"url_button_label": "Ver loja",
"cta_purpose": "store"
}
],
"var_catalog": [
{
"key": "store_link",
"label_pt": "Link da loja (mini-shop)",
"label_en": "Store mini-shop link",
"example": "https://loja.../wa/{token}"
}
],
"meta_url": "https://business.facebook.com/wa/manage/message-templates/"
}Campos da resposta
modelsarrayModelos recomendados.
slugstringsuggested_namestringlanguagestringcategorystringuse_case_ptstringuse_case_enstringbody_examplestringbody_param_hintsarray{{n}}.has_url_buttonbooleanurl_button_basestringurl_button_labelstringcta_purposestringstore, cart ou checkout.notes_ptstringnotes_enstringvar_catalogarraykey, label_pt, label_en, example).meta_urlstringErros (Modelos recomendados)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |