Integre o SendZap com qualquer sistema usando nossa API RESTful. Envie mensagens, botões, carrosséis e cobranças PIX.
URL Base: https://use.sendzap.online/api
Autenticação: Authorization: Bearer SUA_API_KEY
O sistema suporta múltiplas sessões por usuário. Cada sessão representa um número de WhatsApp diferente.
Use o parâmetro sessionName para especificar qual sessão utilizar. Se não especificado, usa "default".
Exemplos de nomes: vendas, suporte, marketing, default
curl -X GET https://use.sendzap.online/api/health
Resposta:
{
"success": true,
"message": "API WhatsApp está funcionando"
}
curl -X POST https://use.sendzap.online/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "sua_senha"
}'
Resposta:
{
"success": true,
"user": {
"id": 1,
"name": "Seu Nome",
"email": "[email protected]",
"api_key": "wapi_sua_api_key_aqui"
}
}
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
# Conectar sessão padrão
curl -X POST https://use.sendzap.online/api/whatsapp/connect \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "default"
}'
# Conectar sessão de vendas
curl -X POST https://use.sendzap.online/api/whatsapp/connect \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas"
}'
Resposta:
{
"success": true,
"message": "Sessão iniciada, aguardando QR Code",
"status": "connecting"
}
| Query | Tipo | Descrição |
|---|---|---|
sessionName | string | Nome da sessão (padrão: "default") |
# Status da sessão padrão
curl -X GET "https://use.sendzap.online/api/whatsapp/status?sessionName=default" \
-H "Authorization: Bearer SUA_API_KEY"
# Status da sessão de vendas
curl -X GET "https://use.sendzap.online/api/whatsapp/status?sessionName=vendas" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"status": "connected",
"phone": "5511999999999",
"connected": true
}
| Query | Tipo | Descrição |
|---|---|---|
sessionName | string | Nome da sessão (padrão: "default") |
curl -X GET "https://use.sendzap.online/api/whatsapp/qrcode?sessionName=vendas" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"qrCode": "data:image/png;base64,iVBORw0KGgo..."
}
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
phone | string | Sim | Número com DDI+DDD (ex: 5511999999999) |
message | string | Sim | Texto da mensagem |
# Enviar pela sessão padrão
curl -X POST https://use.sendzap.online/api/whatsapp/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"message": "Olá! Esta é uma mensagem de teste."
}'
# Enviar pela sessão de vendas
curl -X POST https://use.sendzap.online/api/whatsapp/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas",
"phone": "5511999999999",
"message": "Olá! Aqui é a equipe de vendas."
}'
# Enviar pela sessão de suporte
curl -X POST https://use.sendzap.online/api/whatsapp/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "suporte",
"phone": "5511999999999",
"message": "Olá! Aqui é o suporte técnico."
}'
Resposta Sucesso:
{
"success": true,
"message": "Mensagem enviada com sucesso",
"messageId": "[email protected]_3EB0A7B4"
}
Resposta Erro:
{
"success": false,
"error": "WhatsApp não está conectado."
}
Os disparos são processados em background. Você pode criar um disparo, fechar a página, e acompanhar o progresso depois. Suporta pausar, retomar e cancelar.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
name | string | Não | Nome/identificador do disparo |
message | string | Sim | Mensagem a ser enviada |
phones | array | Sim | Lista de números (strings) |
delay | number | Não | Intervalo em ms (padrão: 3000) |
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas",
"name": "Campanha Black Friday",
"message": "Aproveite nossas promocoes! Ate 50% de desconto.",
"phones": ["5511999999999", "5511888888888", "5511777777777"],
"delay": 5000
}'
Resposta:
{
"success": true,
"message": "Disparo criado com sucesso. Processamento iniciado em background.",
"dispatchId": 1,
"totalNumbers": 3
}
| Query | Descrição |
|---|---|
page | Página (padrão: 1) |
limit | Itens por página (padrão: 20) |
curl -X GET "https://use.sendzap.online/api/whatsapp/send-bulk/list?page=1&limit=10" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"dispatches": [
{
"id": 1,
"name": "Campanha Black Friday",
"session_name": "vendas",
"status": "processing",
"total_numbers": 100,
"sent_count": 45,
"failed_count": 2,
"pending_count": 53,
"created_at": "2024-01-15 10:30:00"
}
],
"pagination": {"page": 1, "limit": 10, "total": 5, "totalPages": 1}
}
curl -X GET https://use.sendzap.online/api/whatsapp/send-bulk/1 \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"dispatch": {
"id": 1,
"name": "Campanha Black Friday",
"message": "Aproveite nossas promocoes!",
"status": "processing",
"total_numbers": 100,
"sent_count": 45,
"failed_count": 2,
"pending_count": 53,
"progress": 47,
"started_at": "2024-01-15 10:30:05",
"recentItems": [...]
}
}
| Query | Descrição |
|---|---|
page | Página (padrão: 1) |
limit | Itens por página (padrão: 50) |
status | Filtrar: pending, sent, failed |
curl -X GET "https://use.sendzap.online/api/whatsapp/send-bulk/1/items?status=failed" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"items": [
{"id": 1, "phone": "5511999999999", "status": "sent", "processed_at": "2024-01-15 10:30:10"},
{"id": 2, "phone": "5511888888888", "status": "failed", "error_message": "Número inválido"}
],
"pagination": {"page": 1, "limit": 50, "total": 100, "totalPages": 2}
}
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk/1/pause \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"message": "Disparo pausado com sucesso"
}
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk/1/resume \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"message": "Disparo retomado com sucesso"
}
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk/1/cancel \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"message": "Disparo cancelado com sucesso"
}
Envie mensagens com botões clicáveis que aumentam o engajamento. Suporta 5 tipos de botões:
reply - Resposta rápidaurl - Abrir linkcopy - Copiar códigocall - Ligarpix - Pagamento PIX| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
phone | string | Sim | Número com DDI+DDD (ex: 5511999999999) |
title | string | Sim | Título da mensagem (exibido em destaque) |
message | string | Sim | Texto principal da mensagem |
footer | string | Não | Rodapé da mensagem |
buttons | array | Sim | Lista de botões (máximo 3) |
| Tipo | Campos | Descrição |
|---|---|---|
reply | text, id | Resposta rápida |
url | text, url | Abre link no navegador |
copy | text, copyCode | Copia código para área de transferência |
call | text, phoneNumber | Inicia chamada telefônica |
pix | key, keyType*, amount | Pagamento PIX (enviado via novo formato sendPaymentOrder) |
* keyType do PIX é auto-detectado se omitido. Valores: email, cpf, cnpj, phone, random. Campos opcionais do PIX: currency (padrão: "BRL"), name (beneficiário).
# Exemplo: botão de resposta + link + copiar código
curl -X POST https://use.sendzap.online/api/whatsapp/send-buttons \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas",
"phone": "5511999999999",
"title": "Promoção Especial",
"message": "Confira nossa oferta exclusiva! 50% de desconto.",
"footer": "Válido até 30/01",
"buttons": [
{"type": "reply", "text": "Tenho interesse", "id": "btn_interesse"},
{"type": "url", "text": "Ver Produtos", "url": "https://meusite.com/promo"},
{"type": "copy", "text": "Copiar Cupom", "copyCode": "PROMO50"}
]
}'
# Exemplo: botão de ligar
curl -X POST https://use.sendzap.online/api/whatsapp/send-buttons \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"title": "Suporte Técnico",
"message": "Precisa de ajuda? Fale conosco!",
"buttons": [
{"type": "reply", "text": "Abrir Ticket", "id": "btn_ticket"},
{"type": "call", "text": "Ligar Agora", "phoneNumber": "5511988887777"}
]
}'
Resposta Sucesso:
{
"success": true,
"message": "Mensagem com botões enviada com sucesso",
"messageId": "[email protected]_3EB0A7B4"
}
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
name | string | Sim | Nome/identificador do disparo |
title | string | Sim | Título da mensagem com botões |
message | string | Sim | Texto principal da mensagem |
footer | string | Não | Rodapé da mensagem |
contacts | array | Sim | Lista de contatos com phone e name |
buttons | array | Sim | Lista de botões (máximo 3, mesmos tipos acima) |
delayMs | number | Não | Intervalo entre envios em ms (padrão: 3000) |
batchEnabled | boolean | Não | Ativar envio em lotes |
batchSize | number | Não | Tamanho do lote (padrão: 50) |
batchDelay | number | Não | Pausa entre lotes em ms (padrão: 60000) |
# Campanha com botões para múltiplos contatos
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk-buttons \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "marketing",
"name": "Campanha Black Friday",
"title": "Black Friday!",
"message": "Aproveite 70% OFF em toda a loja!",
"footer": "Oferta por tempo limitado",
"contacts": [
{"phone": "5511999999999", "name": "João Silva"},
{"phone": "5511888888888", "name": "Maria Santos"},
{"phone": "5511777777777", "name": "Pedro Oliveira"}
],
"buttons": [
{"type": "url", "text": "Ver Ofertas", "url": "https://meusite.com/bf"},
{"type": "copy", "text": "Copiar Cupom", "copyCode": "BLACK70"},
{"type": "reply", "text": "Quero saber mais", "id": "btn_info"}
],
"delayMs": 5000,
"batchEnabled": true,
"batchSize": 50,
"batchDelay": 60000
}'
# Cobrança via PIX em massa
curl -X POST https://use.sendzap.online/api/whatsapp/send-bulk-buttons \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"name": "Cobrança Mensal",
"title": "Fatura Disponível",
"message": "Sua fatura está pronta. Pague via PIX com desconto!",
"contacts": [
{"phone": "5511999999999", "name": "Cliente 1"},
{"phone": "5511888888888", "name": "Cliente 2"}
],
"buttons": [
{"type": "pix", "key": "[email protected]", "amount": 5000}
],
"delayMs": 3000
}'
Nota: Botões do tipo pix são automaticamente enviados via o novo formato sendPaymentOrder da Evolution API. O campo amount é em centavos (5000 = R$ 50,00).
{
"success": true,
"message": "Disparo com botões criado com sucesso",
"dispatchId": 15,
"totalContacts": 3,
"estimatedTime": "15 segundos"
}
Envia um pagamento PIX usando o novo formato sendPaymentOrder da Evolution API. Gera um botão nativo de pagamento no WhatsApp.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
phone | string | Sim | Número com DDI+DDD |
pixKey | string | Sim | Chave PIX (e-mail, CPF, CNPJ, telefone ou aleatória) |
keyType | string | Não | Tipo da chave: email, cpf, cnpj, phone, random (auto-detectado se omitido) |
amount | number | Não | Valor em centavos (padrão: 100 = R$ 1,00) |
merchantName | string | Não | Nome do beneficiário |
# Enviar PIX por e-mail
curl -X POST https://use.sendzap.online/api/whatsapp/send-pix \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"pixKey": "[email protected]",
"amount": 5000,
"merchantName": "Minha Loja"
}'
# Enviar PIX por CPF (keyType auto-detectado)
curl -X POST https://use.sendzap.online/api/whatsapp/send-pix \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"pixKey": "12345678901",
"amount": 15000
}'
Resposta:
{
"success": true,
"message": "PIX enviado com sucesso",
"messageId": "3EB0A7B4..."
}
Envia um pedido de pagamento completo com lista de produtos e métodos de pagamento (PIX, boleto, cartão).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão |
phone | string | Sim | Número com DDI+DDD |
items | array | Sim | Lista de produtos (amount, name, quantity) |
paymentSettings | array | Sim | Métodos de pagamento (PIX, boleto, cartão) |
curl -X POST https://use.sendzap.online/api/whatsapp/send-payment-order \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"items": [
{"amount": 2500, "name": "Produto X", "quantity": 2},
{"amount": 1000, "name": "Frete", "quantity": 1}
],
"paymentSettings": [
{
"type": "pix_static_code",
"pix_static_code": {
"key": "[email protected]",
"key_type": "EMAIL",
"merchant_name": "Minha Loja"
}
},
{
"type": "cards",
"cards": {"enabled": false}
}
]
}'
Campos do item:
| Campo | Descrição |
|---|---|
amount | Valor em centavos (2500 = R$ 25,00) |
name | Nome do produto |
quantity | Quantidade |
retailer_id | ID do produto (opcional, gerado automaticamente) |
| Tipo | Descrição |
|---|---|
pix_static_code | PIX com chave estática (key, key_type: PHONE/EMAIL/CPF/CNPJ/EVP, merchant_name) |
boleto | Boleto bancário (digitable_line: linha digitável) |
cards | Cartão de crédito (enabled: true/false) |
{
"success": true,
"message": "Pedido de pagamento enviado com sucesso",
"messageId": "3EB0A7B4..."
}
Envia um carrossel com múltiplos cards (imagens + botões) que o usuário pode deslizar horizontalmente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão |
phone | string | Sim | Número com DDI+DDD |
title | string | Sim | Título do carrossel |
description | string | Não | Descrição abaixo do título |
footer | string | Não | Rodapé |
cards | array | Sim | Lista de cards |
| Campo | Obrigatório | Descrição |
|---|---|---|
thumbnailUrl | Sim | URL da imagem do card |
text | Não | Texto do card |
buttons | Não | Botões do card (reply, url, call) |
curl -X POST https://use.sendzap.online/api/whatsapp/send-carousel \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"phone": "5511999999999",
"title": "Nossos Imóveis",
"description": "Confira as melhores opções",
"footer": "Imobiliária XYZ",
"cards": [
{
"text": "Casa 3 quartos - R$ 450.000",
"thumbnailUrl": "https://exemplo.com/casa1.jpg",
"buttons": [
{"type": "url", "displayText": "Ver Detalhes", "url": "https://exemplo.com/imovel/1"},
{"type": "call", "displayText": "Ligar", "phoneNumber": "5511988887777"}
]
},
{
"text": "Apartamento 2 quartos - R$ 320.000",
"thumbnailUrl": "https://exemplo.com/apto1.jpg",
"buttons": [
{"type": "url", "displayText": "Ver Detalhes", "url": "https://exemplo.com/imovel/2"},
{"type": "reply", "displayText": "Quero visitar", "id": "visit_2"}
]
},
{
"thumbnailUrl": "https://exemplo.com/terreno1.jpg",
"buttons": [
{"type": "url", "displayText": "Ver no Mapa", "url": "https://exemplo.com/mapa/3"},
{"type": "call", "displayText": "Falar com corretor", "phoneNumber": "5511977776666"},
{"type": "reply", "displayText": "Mais Info", "id": "info_3"}
]
}
]
}'
Resposta:
{
"success": true,
"message": "Carousel enviado com sucesso",
"messageId": "3EB0A7B4..."
}
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sessionName | string | Não | Nome da sessão (padrão: "default") |
curl -X POST https://use.sendzap.online/api/whatsapp/disconnect \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas"
}'
Resposta:
{
"success": true,
"message": "Sessão desconectada"
}
curl -X GET https://use.sendzap.online/api/whatsapp/sessions \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"sessions": [
{"id": 1, "session_name": "default", "phone": "5511999999999", "status": "connected"},
{"id": 2, "session_name": "vendas", "phone": "5511888888888", "status": "connected"},
{"id": 3, "session_name": "suporte", "phone": null, "status": "disconnected"}
]
}
| Query | Descrição |
|---|---|
page | Página (padrão: 1) |
limit | Itens por página (padrão: 50) |
status | Filtrar: sent, failed, pending |
phone | Filtrar por número |
curl -X GET "https://use.sendzap.online/api/whatsapp/messages?page=1&limit=20" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"messages": [
{"id": 1, "phone_to": "5511999999999", "message": "Olá!", "status": "sent"}
],
"pagination": {"page": 1, "limit": 20, "total": 100, "totalPages": 5}
}
curl -X GET https://use.sendzap.online/api/whatsapp/stats \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"stats": {
"totalMessages": 1500,
"sentMessages": 1450,
"failedMessages": 50,
"todayMessages": 75,
"activeSessions": 2
}
}
Retorna informações completas sobre créditos, custos, instâncias e assinatura do usuário.
curl -X GET https://use.sendzap.online/api/user/wallet \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"wallet": {
"credits": 500,
"costs": {
"single": 1,
"bulk": 1
},
"instances": {
"total": 3,
"connected": 2,
"limit": 5,
"free": 1
},
"subscription": {
"active": true,
"plan_name": "Plano Pro",
"instances_added": 4,
"monthly_cost": 50,
"status": "active",
"next_billing_date": "2024-02-15"
},
"recent_transactions": [
{
"id": 123,
"amount": -50,
"type": "debit",
"description": "Disparo em massa \"Campanha\" - 50 mensagens enviadas",
"created_at": "2024-01-15 10:30:00"
},
{
"id": 122,
"amount": 100,
"type": "credit",
"description": "Compra de créditos - Plano Básico",
"created_at": "2024-01-14 09:00:00"
}
]
}
}
Campos importantes:
| Campo | Descrição |
|---|---|
credits | Saldo atual de créditos disponíveis |
costs.single | Custo por mensagem individual |
costs.bulk | Custo por mensagem em disparo em massa |
instances.total | Total de instâncias criadas |
instances.connected | Instâncias atualmente conectadas |
instances.limit | Limite máximo de instâncias permitidas |
subscription | Informações da assinatura de instâncias (null se não houver) |
curl -X POST https://use.sendzap.online/api/user/regenerate-key \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY"
Resposta:
{
"success": true,
"message": "API Key regenerada com sucesso",
"api_key": "wapi_nova_api_key_aqui"
}
# 1. Criar e conectar sessão de vendas
curl -X POST https://use.sendzap.online/api/whatsapp/connect \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{"sessionName": "vendas"}'
# 2. Criar e conectar sessão de suporte
curl -X POST https://use.sendzap.online/api/whatsapp/connect \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{"sessionName": "suporte"}'
# 3. Obter QR Code de cada sessão (escaneie com WhatsApp)
curl -X GET "https://use.sendzap.online/api/whatsapp/qrcode?sessionName=vendas" \
-H "Authorization: Bearer SUA_API_KEY"
curl -X GET "https://use.sendzap.online/api/whatsapp/qrcode?sessionName=suporte" \
-H "Authorization: Bearer SUA_API_KEY"
# 4. Listar todas as sessões
curl -X GET https://use.sendzap.online/api/whatsapp/sessions \
-H "Authorization: Bearer SUA_API_KEY"
# 5. Enviar mensagem pela sessão de vendas
curl -X POST https://use.sendzap.online/api/whatsapp/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "vendas",
"phone": "5511999999999",
"message": "Olá! Aqui é a equipe de vendas."
}'
# 6. Enviar mensagem pela sessão de suporte
curl -X POST https://use.sendzap.online/api/whatsapp/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SUA_API_KEY" \
-d '{
"sessionName": "suporte",
"phone": "5511999999999",
"message": "Olá! Aqui é o suporte técnico."
}'
Sempre use: código do país + DDD + número
| Correto | Errado |
|---|---|
5511999999999 | 11999999999 |
5521988887777 | (21) 98888-7777 |
5531977776666 | +55 31 97777-6666 |
| Código | Descrição |
|---|---|
200 | Sucesso |
400 | Parâmetros inválidos |
401 | API Key inválida ou não fornecida |
404 | Sessão não encontrada |
500 | Erro interno do servidor |