curl -X POST https://api.mindosoftware.com/api/v1/meta-templates/send/ \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}'
import requests
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}
)
data = response.json()
print(f"Message ID: {data['message_id']}")
print(f"Status: {data['status']}")
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "welcome_message",
language: "es",
recipient_phone: "+5491112345678",
variables: {
name: "Juan Perez",
code: "ABC123"
},
button_variables: {
button_0: "ABC-123"
}
})
}
);
const data = await response.json();
console.log("Message ID:", data.message_id);
console.log("Status:", data.status);
{
"success": true,
"message_id": "wamid.HBgNNTQ5MTEyMzQ1Njc4FQIAERgSQjVBN0YzRjQ2NzFCNDVBNQA=",
"template_name": "welcome_message",
"recipient_phone": "+5491112345678",
"status": "sent",
"sent_at": "2025-11-16T21:30:00Z"
}
{
"phone_number_id": ["This field is required."],
"recipient_phone": ["This field is required."]
}
{
"error": "Template 'welcome_message' no tiene estado APPROVED"
}
{
"error": "Template 'welcome_message' (language: es) no encontrado en este business account"
}
{
"error": "Numero de WhatsApp con ID '813497231850626' no encontrado"
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Mensagens
Enviar mensagem
Enviar mensagens individuais de template do WhatsApp Business
POST
/
api
/
v1
/
meta-templates
/
send
/
curl -X POST https://api.mindosoftware.com/api/v1/meta-templates/send/ \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}'
import requests
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}
)
data = response.json()
print(f"Message ID: {data['message_id']}")
print(f"Status: {data['status']}")
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "welcome_message",
language: "es",
recipient_phone: "+5491112345678",
variables: {
name: "Juan Perez",
code: "ABC123"
},
button_variables: {
button_0: "ABC-123"
}
})
}
);
const data = await response.json();
console.log("Message ID:", data.message_id);
console.log("Status:", data.status);
{
"success": true,
"message_id": "wamid.HBgNNTQ5MTEyMzQ1Njc4FQIAERgSQjVBN0YzRjQ2NzFCNDVBNQA=",
"template_name": "welcome_message",
"recipient_phone": "+5491112345678",
"status": "sent",
"sent_at": "2025-11-16T21:30:00Z"
}
{
"phone_number_id": ["This field is required."],
"recipient_phone": ["This field is required."]
}
{
"error": "Template 'welcome_message' no tiene estado APPROVED"
}
{
"error": "Template 'welcome_message' (language: es) no encontrado en este business account"
}
{
"error": "Numero de WhatsApp con ID '813497231850626' no encontrado"
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Descrição
Este endpoint permite enviar um template do WhatsApp para um destinatário individual. Implementa um padrão fire-and-forget: ao enviar a mensagem, retorna ummessage_id (wamid da Meta) que você pode usar para verificar o status da mensagem.
A API valida o template, resolve as variáveis e envia a mensagem pela API da Meta de forma síncrona.
Header de autenticação
string
obrigatório
Sua API Key da Mindo. Formato:
mindo_xxxxxxxxxxxxxxxxxxxxxxxxParâmetros do body
string
obrigatório
ID do número de telefone do WhatsApp na Meta a partir do qual a mensagem será enviada. Você pode obtê-lo no endpoint Obter contas de negócio.
string
obrigatório
Nome do template aprovado a ser enviado. Deve ter status
APPROVED na Meta.string
Idioma do template. Padrão:
"es". Exemplos: "es", "en", "pt_BR".string
obrigatório
Número de telefone do destinatário em formato internacional (ex.:
"+5491112345678"). Sem espaços.object
Variáveis personalizadas para o template. As chaves devem corresponder às variáveis definidas no template.
object
Variáveis para botões dinâmicos do template. As chaves usam o formato
button_0, button_1, etc., onde o número corresponde ao índice do botão (começando em 0). Os valores são os sufixos dinâmicos ou payloads de cada botão.Importante: Botões do tipo URL suportam apenas 1 variável.Resposta (200 OK)
boolean
Se a mensagem foi enviada com sucesso.
string
ID da mensagem atribuído pela Meta (wamid). Use para verificar o status da mensagem.
string
Nome do template enviado.
string
Número de telefone do destinatário.
string
Status inicial da mensagem. Sempre
"sent" quando enviada com sucesso.string (ISO 8601)
Data e hora do envio da mensagem.
curl -X POST https://api.mindosoftware.com/api/v1/meta-templates/send/ \
-H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}'
import requests
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"language": "es",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez",
"code": "ABC123"
},
"button_variables": {
"button_0": "ABC-123"
}
}
)
data = response.json()
print(f"Message ID: {data['message_id']}")
print(f"Status: {data['status']}")
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "welcome_message",
language: "es",
recipient_phone: "+5491112345678",
variables: {
name: "Juan Perez",
code: "ABC123"
},
button_variables: {
button_0: "ABC-123"
}
})
}
);
const data = await response.json();
console.log("Message ID:", data.message_id);
console.log("Status:", data.status);
{
"success": true,
"message_id": "wamid.HBgNNTQ5MTEyMzQ1Njc4FQIAERgSQjVBN0YzRjQ2NzFCNDVBNQA=",
"template_name": "welcome_message",
"recipient_phone": "+5491112345678",
"status": "sent",
"sent_at": "2025-11-16T21:30:00Z"
}
{
"phone_number_id": ["This field is required."],
"recipient_phone": ["This field is required."]
}
{
"error": "Template 'welcome_message' no tiene estado APPROVED"
}
{
"error": "Template 'welcome_message' (language: es) no encontrado en este business account"
}
{
"error": "Numero de WhatsApp con ID '813497231850626' no encontrado"
}
{
"error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
}
Status das mensagens
O campostatus da mensagem pode ter os seguintes valores:
| Status | Descrição |
|---|---|
sent | Mensagem enviada para a Meta com sucesso |
delivered | Mensagem entregue no dispositivo do destinatário |
read | Mensagem lida pelo destinatário |
failed | Falha no envio da mensagem |
Use o
message_id retornado para consultar o status de entrega da mensagem com Status da mensagem.Casos de uso
Mensagem de boas-vindas para novo cliente
Mensagem de boas-vindas para novo cliente
Envie uma mensagem de boas-vindas personalizada quando um novo cliente se cadastrar.
Python
import requests
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "welcome_message",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan Perez"
}
}
)
data = response.json()
print(f"Boas-vindas enviadas: {data['message_id']}")
JavaScript
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "welcome_message",
recipient_phone: "+5491112345678",
variables: { name: "Juan Perez" }
})
}
);
const data = await response.json();
console.log("Boas-vindas enviadas:", data.message_id);
Código de verificação
Código de verificação
Envie um código de verificação único para um usuário.
Python
import requests
import secrets
code = secrets.token_hex(3).upper()
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "verification_code",
"recipient_phone": "+5491112345678",
"variables": {
"name": "Juan",
"code": code
}
}
)
data = response.json()
print(f"Código {code} enviado: {data['message_id']}")
JavaScript
const code = Math.random().toString(36).substring(2, 8).toUpperCase();
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "verification_code",
recipient_phone: "+5491112345678",
variables: { name: "Juan", code }
})
}
);
const data = await response.json();
console.log(`Código ${code} enviado:`, data.message_id);
Notificação de status do pedido
Notificação de status do pedido
Notifique um cliente quando o status do pedido mudar.
Python
import requests
response = requests.post(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
json={
"phone_number_id": "813497231850626",
"template_name": "order_update",
"recipient_phone": "+5491112345678",
"variables": {
"order_id": "ORD-001",
"status": "Em trânsito"
}
}
)
data = response.json()
print(f"Notificação enviada: {data['message_id']}")
JavaScript
const response = await fetch(
"https://api.mindosoftware.com/api/v1/meta-templates/send/",
{
method: "POST",
headers: {
"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
phone_number_id: "813497231850626",
template_name: "order_update",
recipient_phone: "+5491112345678",
variables: { order_id: "ORD-001", status: "Em trânsito" }
})
}
);
const data = await response.json();
console.log("Notificação enviada:", data.message_id);

