Documentação para integração com a API de envio de mensagens WhatsApp
A API ZapHero permite que você envie mensagens WhatsApp programaticamente a partir de seus sistemas. Você pode agendar mensagens, enviar em lote e receber confirmações de entrega.
URL Base: https://hml.zaphero.com.br/api
Todas as requisições à API requerem uma chave de API (API Key) válida.
A chave deve ser incluída no cabeçalho Authorization de todas as requisições usando o formato Bearer.
Authorization: Bearer zap_Kq3MPVTwMH6hRzP0SEXD2Cicz9NfuMLq
O sistema suporta substituição de variáveis dinâmicas na mensagem. Você pode personalizar suas mensagens incluindo as seguintes variáveis:
{name} - Será substituído pelo valor do campo "name" enviado no JSON{email} - Será substituído pelo valor do campo "email" enviado no JSONExemplo de mensagem com variáveis: "Olá, {name}! Enviamos uma confirmação para {email}."
Resultado após substituição: "Olá, João da Silva! Enviamos uma confirmação para [email protected]."
Este endpoint permite enfileirar uma ou mais mensagens para envio. As mensagens podem ser enviadas imediatamente ou agendadas para envio futuro.
| Parâmetro | Tipo | Descrição |
|---|---|---|
messages |
Array | Array de objetos de mensagem (obrigatório) |
messages.*.phone |
String | Número de telefone do destinatário no formato internacional (ex: 5511999999999) |
messages.*.message |
String | Conteúdo da mensagem |
messages.*.name |
String | Nome do destinatário (opcional) |
messages.*.email |
String | Email do destinatário (opcional) |
scheduled_at |
String | Data e hora para agendamento da mensagem no formato Y-m-d H:i:s (opcional) |
{
"success": true,
"message": "2 mensagens foram enfileiradas com sucesso",
"messages": [
{
"id": 1,
"phone": "5511999999999",
"status": "Pendente",
"scheduled_at": null
},
{
"id": 2,
"phone": "5511888888888",
"status": "Agendada",
"scheduled_at": "2023-10-10 15:30:00"
}
]
}
Este endpoint permite verificar se a API está online e obter informações sobre a versão atual.
{
"status": "online",
"version": "1.0.0",
"timestamp": "2023-10-10T10:30:00Z"
}
curl -X POST https://hml.zaphero.com.br/api/enqueue-messages \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer zap_Kq3MPVTwMH6hRzP0SEXD2Cicz9NfuMLq" \
-d '{
"messages": [
{
"phone": "5511999999999",
"message": "Olá, {name}! Este é um teste para {email}.",
"name": "João da Silva",
"email": "[email protected]"
},
{
"phone": "5511888888888",
"message": "Mensagem 2 via API com token"
}
],
"scheduled_at": "2023-10-10 15:30:00"
}'
<?php
$apiKey = 'zap_Kq3MPVTwMH6hRzP0SEXD2Cicz9NfuMLq';
$url = 'https://hml.zaphero.com.br/api/enqueue-messages';
$data = [
'messages' => [
[
'phone' => '5511999999999',
'message' => 'Olá, {name}! Este é um teste para {email}.',
'name' => 'João da Silva',
'email' => '[email protected]'
],
[
'phone' => '5511888888888',
'message' => 'Mensagem 2 via API com token'
]
],
'scheduled_at' => '2023-10-10 15:30:00'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json',
'Authorization: Bearer ' . $apiKey
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
// Usando Fetch API
const apiKey = 'zap_Kq3MPVTwMH6hRzP0SEXD2Cicz9NfuMLq';
const url = 'https://hml.zaphero.com.br/api/enqueue-messages';
const data = {
messages: [
{
phone: '5511999999999',
message: 'Olá, {name}! Este é um teste para {email}.',
name: 'João da Silva',
email: '[email protected]'
},
{
phone: '5511888888888',
message: 'Mensagem 2 via API com token'
}
],
scheduled_at: '2023-10-10 15:30:00'
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erro:', error));