Pular para o conteúdo principal
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"
    }
  }'
{
  "success": true,
  "message_id": "wamid.HBgNNTQ5MTEyMzQ1Njc4FQIAERgSQjVBN0YzRjQ2NzFCNDVBNQA=",
  "template_name": "welcome_message",
  "recipient_phone": "+5491112345678",
  "status": "sent",
  "sent_at": "2025-11-16T21:30:00Z"
}

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 um message_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

X-API-Key
string
obrigatório
Sua API Key da Mindo. Formato: mindo_xxxxxxxxxxxxxxxxxxxxxxxx

Parâmetros do body

phone_number_id
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.
template_name
string
obrigatório
Nome do template aprovado a ser enviado. Deve ter status APPROVED na Meta.
language
string
Idioma do template. Padrão: "es". Exemplos: "es", "en", "pt_BR".
recipient_phone
string
obrigatório
Número de telefone do destinatário em formato internacional (ex.: "+5491112345678"). Sem espaços.
variables
object
Variáveis personalizadas para o template. As chaves devem corresponder às variáveis definidas no template.
button_variables
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)

success
boolean
Se a mensagem foi enviada com sucesso.
message_id
string
ID da mensagem atribuído pela Meta (wamid). Use para verificar o status da mensagem.
template_name
string
Nome do template enviado.
recipient_phone
string
Número de telefone do destinatário.
status
string
Status inicial da mensagem. Sempre "sent" quando enviada com sucesso.
sent_at
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"
    }
  }'
{
  "success": true,
  "message_id": "wamid.HBgNNTQ5MTEyMzQ1Njc4FQIAERgSQjVBN0YzRjQ2NzFCNDVBNQA=",
  "template_name": "welcome_message",
  "recipient_phone": "+5491112345678",
  "status": "sent",
  "sent_at": "2025-11-16T21:30:00Z"
}

Status das mensagens

O campo status da mensagem pode ter os seguintes valores:
StatusDescrição
sentMensagem enviada para a Meta com sucesso
deliveredMensagem entregue no dispositivo do destinatário
readMensagem lida pelo destinatário
failedFalha no envio da mensagem
O endpoint de consulta individual de status (GET /api/v1/meta-templates/messages/\{message_id\}/) estará disponível em breve. Enquanto isso, você pode usar o message_id retornado para rastreabilidade interna.

Casos de uso

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);
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);
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);