string
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates?status=all" \
-H "Authorization: Bearer YOUR_API_KEY"
const senderId = 12;
const response = await fetch(
`https://suasofia.online/api/user/whatsapp/senders/${senderId}/templates`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data.data); // Array de modelos
import requests
sender_id = 12
response = requests.get(
f'https://suasofia.online/api/user/whatsapp/senders/{sender_id}/templates',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
templates = response.json()['data']
for template in templates:
print(f"{template['name']} ({template['language']}): {template['body_text']}")
{
"data": [
{
"id": 45,
"name": "appointment_reminder",
"language": "en",
"category": "utility",
"status": "approved",
"body_text": "Oi {{1}}, este é um lembrete para sua consulta em {{2}} às {{3}}. Responda SIM para confirmar ou NÃO para reagendar.",
"variables": ["customer_name", "date", "time"],
"has_variables": true
},
{
"id": 46,
"name": "welcome_message",
"language": "en",
"category": "marketing",
"status": "approved",
"body_text": "Bem-vindo à Acme Corp! Estamos empolgados em tê-lo conosco. Como podemos ajudá-lo hoje?",
"variables": [],
"has_variables": false
}
]
}
{
"success": false,
"error": "Remetente não encontrado",
"error_code": "SENDER_NOT_FOUND"
}
WhatsApp
Obter Modelos
Lista os modelos de mensagens do WhatsApp para um remetente específico
GET
/
user
/
whatsapp
/
senders
/
{senderId}
/
templates
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates?status=all" \
-H "Authorization: Bearer YOUR_API_KEY"
const senderId = 12;
const response = await fetch(
`https://suasofia.online/api/user/whatsapp/senders/${senderId}/templates`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data.data); // Array de modelos
import requests
sender_id = 12
response = requests.get(
f'https://suasofia.online/api/user/whatsapp/senders/{sender_id}/templates',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
templates = response.json()['data']
for template in templates:
print(f"{template['name']} ({template['language']}): {template['body_text']}")
{
"data": [
{
"id": 45,
"name": "appointment_reminder",
"language": "en",
"category": "utility",
"status": "approved",
"body_text": "Oi {{1}}, este é um lembrete para sua consulta em {{2}} às {{3}}. Responda SIM para confirmar ou NÃO para reagendar.",
"variables": ["customer_name", "date", "time"],
"has_variables": true
},
{
"id": 46,
"name": "welcome_message",
"language": "en",
"category": "marketing",
"status": "approved",
"body_text": "Bem-vindo à Acme Corp! Estamos empolgados em tê-lo conosco. Como podemos ajudá-lo hoje?",
"variables": [],
"has_variables": false
}
]
}
{
"success": false,
"error": "Remetente não encontrado",
"error_code": "SENDER_NOT_FOUND"
}
Este endpoint retorna todos os modelos de mensagens associados a um remetente específico do WhatsApp. Os modelos são necessários para iniciar conversas ou enviar mensagens a usuários fora da janela de 24 horas.
Parâmetros de Caminho
integer
required
O ID do remetente do WhatsApp (obtido do endpoint Obter Remetentes)
Parâmetros de Consulta
string
Filtrar modelos por status de aprovação. Padrão:
approved. Use all para retornar todos os modelos, independentemente do status.Campos de Resposta
array
Show Propriedades do objeto modelo
Show Propriedades do objeto modelo
integer
O identificador único do modelo. Use isso ao enviar mensagens de modelo.
string
O nome do modelo conforme registrado com a Meta (por exemplo,
order_confirmation, appointment_reminder)string
O código do idioma do modelo (por exemplo,
en, es, pt_BR)string
A categoria do modelo:
marketing, utility ou authenticationstring
O status de aprovação:
approved, pending ou rejectedO texto do corpo do modelo, com espaços reservados de variável mostrados como
{{1}}, {{2}}, etc.array
Lista de nomes de variáveis definidas para o modelo. Array vazio se o modelo não tiver variáveis.
boolean
Se este modelo requer variáveis a serem fornecidas ao enviar
Respostas de Erro
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://suasofia.online/api/user/whatsapp/senders/12/templates?status=all" \
-H "Authorization: Bearer YOUR_API_KEY"
const senderId = 12;
const response = await fetch(
`https://suasofia.online/api/user/whatsapp/senders/${senderId}/templates`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data.data); // Array de modelos
import requests
sender_id = 12
response = requests.get(
f'https://suasofia.online/api/user/whatsapp/senders/{sender_id}/templates',
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
templates = response.json()['data']
for template in templates:
print(f"{template['name']} ({template['language']}): {template['body_text']}")
{
"data": [
{
"id": 45,
"name": "appointment_reminder",
"language": "en",
"category": "utility",
"status": "approved",
"body_text": "Oi {{1}}, este é um lembrete para sua consulta em {{2}} às {{3}}. Responda SIM para confirmar ou NÃO para reagendar.",
"variables": ["customer_name", "date", "time"],
"has_variables": true
},
{
"id": 46,
"name": "welcome_message",
"language": "en",
"category": "marketing",
"status": "approved",
"body_text": "Bem-vindo à Acme Corp! Estamos empolgados em tê-lo conosco. Como podemos ajudá-lo hoje?",
"variables": [],
"has_variables": false
}
]
}
{
"success": false,
"error": "Remetente não encontrado",
"error_code": "SENDER_NOT_FOUND"
}
Notas
- Apenas modelos
approvedsão retornados por padrão. Modelos com statuspendingourejectednão podem ser usados para enviar mensagens. - O status de aprovação do modelo é sincronizado com a Meta a cada 4 horas automaticamente.
- Variáveis em
body_textsão mostradas como{{1}},{{2}}, etc. O arrayvariablesfornece nomes legíveis para humanos para cada espaço reservado. - Modelos são necessários ao enviar uma mensagem a um usuário pela primeira vez ou fora da janela de 24 horas.

