Integre o Chatiops com qualquer sistema externo para enviar mensagens via WhatsApp de forma programática.
Todas as chamadas à API precisam do header Authorization com um token Bearer.
Authorization: Bearer SEU_TOKEN_AQUI
O token é vinculado a uma conexão WhatsApp específica. Cada conexão tem seu próprio token.
Authorization: Bearer TOKEN das suas chamadas.POST /api/messages/send
| Header | Valor |
|---|---|
Authorization | Bearer SEU_TOKEN |
Content-Type | application/json |
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
number | string | ✅ | Número com código do país + DDD. Ex: 5511999999999 |
body | string | ✅ | Texto da mensagem |
priority | string | ❌ | baixa (padrão), media ou alta |
closeTicket | boolean | ❌ | Se true, fecha o ticket após enviar |
curl -X POST https://api.chatiops.tiops.com.br/api/messages/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN" \
-d '{
"number": "5511999999999",
"body": "Olá! Esta é uma mensagem automática.",
"priority": "baixa"
}'
{ "mensagem": "Mensagem enviada", "queued": true }
POST /api/messages/send
Use multipart/form-data para enviar arquivos (PDF, imagem, áudio, vídeo).
curl -X POST https://api.chatiops.tiops.com.br/api/messages/send \
-H "Authorization: Bearer SEU_TOKEN" \
-F "number=5511999999999" \
-F "body=Confira o arquivo" \
-F "medias=@/caminho/do/arquivo.pdf"
| Valor | Delay | Uso recomendado |
|---|---|---|
baixa (padrão) | 1.5 segundos | Envio normal, campanhas, notificações |
media | 0.5 segundos | Confirmações, lembretes |
alta | Sem delay | Confirmação de agendamento, OTP, alertas urgentes |
priority: "alta" para envio em massa pode resultar em bloqueio temporário ou permanente do número pelo WhatsApp. Use apenas para mensagens individuais urgentes.
Configure uma URL de webhook na conexão WhatsApp para receber notificações quando mensagens chegarem.
https://seusite.com/webhook).POST para essa URL a cada mensagem recebida.{
"event": "message.received",
"ticket": { "id": 123, "status": "open" },
"contact": { "name": "João", "number": "5511999999999" },
"message": { "body": "Olá!", "fromMe": false, "timestamp": "2026-04-17T12:00:00Z" }
}
| Limite | Valor |
|---|---|
| Por minuto | 30 chamadas |
| Por dia (Starter) | 20 chamadas |
| Por dia (PRO) | 100 chamadas |
Headers de resposta indicam o uso:
X-DailyLimit: 100
X-DailyUsed: 15
X-DailyRemaining: 85
| HTTP | Erro | Descrição |
|---|---|---|
| 200 | — | Mensagem enviada com sucesso |
| 400 | Bad Request | Campos obrigatórios faltando |
| 401 | Unauthorized | Token inválido ou ausente |
| 429 | Too Many Requests | Limite de chamadas atingido |
| 500 | Internal Error | Erro no servidor |
const axios = require('axios');
await axios.post('https://api.chatiops.tiops.com.br/api/messages/send', {
number: '5511999999999',
body: 'Olá do Node.js!',
priority: 'alta'
}, {
headers: { Authorization: 'Bearer SEU_TOKEN' }
});
import requests
requests.post('https://api.chatiops.tiops.com.br/api/messages/send',
json={'number': '5511999999999', 'body': 'Olá do Python!', 'priority': 'alta'},
headers={'Authorization': 'Bearer SEU_TOKEN'}
)
function enviarWhatsApp() {
UrlFetchApp.fetch('https://api.chatiops.tiops.com.br/api/messages/send', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer SEU_TOKEN' },
payload: JSON.stringify({ number: '5511999999999', body: 'Olá do Google Sheets!' })
});
}
Use o módulo HTTP Request com:
https://api.chatiops.tiops.com.br/api/messages/sendAuthorization: Bearer SEU_TOKENnumber e bodyAlém de enviar mensagens, você pode consultar tickets, buscar contatos e ver métricas. Usa o mesmo token.
GET /api/tickets?status=open&limit=20
Authorization: Bearer SEU_TOKEN
Filtros: status (open, pending, closed), queueId, limit, offset
// Resposta
{
"tickets": [
{ "id": 672, "status": "open", "contact": { "name": "João", "number": "5511999999999" }, "queue": { "name": "Vendas" } }
],
"count": 15
}
GET /api/tickets/672/messages?limit=50
Authorization: Bearer SEU_TOKEN
// Resposta
{
"ticketId": 672,
"messages": [
{ "body": "Olá!", "fromMe": false, "createdAt": "2026-05-09T12:00:00Z" },
{ "body": "Como posso ajudar?", "fromMe": true, "createdAt": "2026-05-09T12:01:00Z" }
]
}
POST /api/tickets/672/reply
Authorization: Bearer SEU_TOKEN
Content-Type: application/json
{ "body": "Seu pedido foi enviado!" }
GET /api/contacts?search=joao&limit=20
Authorization: Bearer SEU_TOKEN
GET /api/metrics/summary
Authorization: Bearer SEU_TOKEN
// Resposta
{ "open": 5, "pending": 12, "closedToday": 23, "messagesToday": 156 }
Conecte qualquer agente de IA compatível com MCP (Claude, Cursor, Windsurf, Cline, Kiro) diretamente ao Chatiops.
https://api.chatiops.tiops.com.br/mcp?token=SEU_TOKEN
{
"mcpServers": {
"chatiops": {
"url": "https://api.chatiops.tiops.com.br/mcp?token=SEU_TOKEN"
}
}
}
Salve em ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows).
| Tool | Descrição |
|---|---|
send_whatsapp | Enviar mensagem WhatsApp |
list_tickets | Listar atendimentos por status |
get_ticket_messages | Ver histórico de um ticket |
reply_ticket | Responder em um atendimento |
search_contacts | Buscar contatos por nome/número |
get_metrics | Métricas do dia |
// No Claude, basta pedir:
"Lista meus atendimentos abertos"
"Faz um resumo do ticket 672"
"Manda um WhatsApp pro 5511999999999 dizendo que o pedido saiu"
"Busca o contato João"
O Chatiops suporta conexão via API Oficial da Meta (Cloud API) — mais estável, sem risco de ban, com templates e botões interativos.
https://api.chatiops.tiops.com.br/webhook/meta/{whatsappId}
Configure esta URL no painel Meta (App → WhatsApp → Configuração → Webhook). Use o Verify Token gerado no Chatiops.
| Aspecto | QR Code (Baileys) | API Oficial Meta |
|---|---|---|
| Estabilidade | Média | Alta |
| Risco de ban | Sim | Não |
| Templates | Não | Sim |
| Botões interativos | Não | Sim |
| Custo | Grátis | Por conversa (~R$0,15-0,50) |
| Rate limit | ~30/min | 80 msgs/seg |
O endpoint POST /api/messages/send funciona para ambos os tipos de conexão. O Chatiops detecta automaticamente se a conexão é Baileys ou Meta e usa o canal correto.
curl -X POST https://api.chatiops.tiops.com.br/api/messages/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN" \
-d '{"number": "5511999999999", "body": "Olá via API Oficial!", "priority": "alta"}'
| Tipo | Custo/conversa | Quando |
|---|---|---|
| Serviço | Grátis (1000/mês) | Cliente inicia a conversa |
| Utilidade | ~R$ 0,15 | Confirmações, lembretes |
| Autenticação | ~R$ 0,14 | OTP, verificação |
| Marketing | ~R$ 0,50 | Promoções, campanhas |