📡 API REST — Documentação

Integre o Chatiops com qualquer sistema externo para enviar mensagens via WhatsApp de forma programática.

Índice 1. Autenticação 2. Como gerar o Token 3. Enviar mensagem de texto 4. Enviar mensagem com mídia 5. Campo prioridade 6. Webhook (receber mensagens) 7. Limites e rate limiting 8. Códigos de erro 9. Exemplos de integração 10. API de Dados (Tickets, Contatos) 11. MCP (Model Context Protocol) 12. API Oficial Meta

1. Autenticação

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.

2. Como gerar o Token

1
Acesse o Chatiops e vá em Conexões no menu lateral.
2
Clique na conexão WhatsApp que deseja usar para envio via API.
3
Na tela de API, clique em "Gerar Token". O token será exibido e salvo automaticamente.
4
Copie o token e use no header Authorization: Bearer TOKEN das suas chamadas.
💡
O token não expira. Para revogar, gere um novo token — o anterior será invalidado.

3. Enviar mensagem de texto

POST /api/messages/send

Headers

HeaderValor
AuthorizationBearer SEU_TOKEN
Content-Typeapplication/json

Body (JSON)

CampoTipoObrigatórioDescrição
numberstring✅Número com código do país + DDD. Ex: 5511999999999
bodystring✅Texto da mensagem
prioritystring❌baixa (padrão), media ou alta
closeTicketboolean❌Se true, fecha o ticket após enviar

Exemplo

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"
  }'

Resposta

{ "mensagem": "Mensagem enviada", "queued": true }

4. Enviar mensagem com mídia

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"

5. Campo prioridade

ValorDelayUso recomendado
baixa (padrão)1.5 segundosEnvio normal, campanhas, notificações
media0.5 segundosConfirmações, lembretes
altaSem delayConfirmação de agendamento, OTP, alertas urgentes
⚠️
ATENÇÃO: Usar 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.

6. Webhook (receber mensagens)

Configure uma URL de webhook na conexão WhatsApp para receber notificações quando mensagens chegarem.

1
Vá em API → Configuração no sistema.
2
Preencha a URL do Webhook (ex: https://seusite.com/webhook).
3
O Chatiops enviará um POST para essa URL a cada mensagem recebida.

Payload do webhook

{
  "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" }
}

7. Limites e rate limiting

LimiteValor
Por minuto30 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

8. Códigos de erro

HTTPErroDescrição
200—Mensagem enviada com sucesso
400Bad RequestCampos obrigatórios faltando
401UnauthorizedToken inválido ou ausente
429Too Many RequestsLimite de chamadas atingido
500Internal ErrorErro no servidor

9. Exemplos de integração

Node.js

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

Python

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'}
)

Google Apps Script

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!' })
  });
}

N8N / Make / Zapier

Use o módulo HTTP Request com:

10. API de Dados (Tickets, Contatos, Métricas)

Além de enviar mensagens, você pode consultar tickets, buscar contatos e ver métricas. Usa o mesmo token.

Listar tickets

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
}

Mensagens de um ticket

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" }
  ]
}

Responder em um ticket

POST /api/tickets/672/reply
Authorization: Bearer SEU_TOKEN
Content-Type: application/json

{ "body": "Seu pedido foi enviado!" }

Buscar contatos

GET /api/contacts?search=joao&limit=20
Authorization: Bearer SEU_TOKEN

Métricas do dia

GET /api/metrics/summary
Authorization: Bearer SEU_TOKEN

// Resposta
{ "open": 5, "pending": 12, "closedToday": 23, "messagesToday": 156 }

11. MCP (Model Context Protocol)

Página completa: chatiops.com/mcp · Catálogo das ferramentas: chatiops.com/mcp/tools

Conecte qualquer agente de IA compatível com MCP (Claude, ChatGPT, Cursor, Windsurf, Cline, Kiro) diretamente ao Chatiops. São 96 ferramentas — a IA opera o atendimento conversando com você.

URL do MCP Server

https://api.chatiops.tiops.com.br/mcp?token=SEU_TOKEN

Configuração para Claude Desktop

{
  "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), e reinicie o app.

Configuração para Claude Code

claude mcp add --transport http chatiops \
  "https://api.chatiops.tiops.com.br/mcp?token=SEU_TOKEN"

Configuração para ChatGPT

Configurações → Conectores → adicionar conector personalizado → cole a mesma URL. Disponível nos planos pagos com conectores habilitados.

As 96 ferramentas, por área

ÁreaPrincipais tools
Mensagenssend_whatsapp send_group_message search_messages get_unread_messages
Atendimentoslist_tickets list_unread_tickets get_ticket_messages reply_ticket close_ticket reopen_ticket transfer_ticket assign_ticket add_ticket_note list_ticket_notes get_conversation_summary list_recent_conversations
Contatos e tagssearch_contacts get_contact create_contact update_contact delete_contact list_tags create_tag update_tag delete_tag
Grupos e comunidadeslist_groups list_group_participants list_group_messages get_group_daily_summary create_group get_group_invite_link update_group_info update_group_settings manage_group_participants leave_group get_community_info get_newsletter_info check_jid_type
Filas e chatbotlist_queues create_queue update_queue delete_queue get_queue_config list_queue_options create_queue_option update_queue_option delete_queue_option debug_queues diagnose_ticket_flow
IAlist_agents create_agent update_agent configure_ai get_ia_config_summary list_knowledge_bases create_knowledge_base update_knowledge_base delete_knowledge_base link_knowledge_base unlink_knowledge_base get_agent_knowledge
Campanhaslist_campaigns create_campaign start_campaign cancel_campaign list_quick_messages create_quick_message
Relatóriosget_metrics get_dashboard get_daily_summary get_reports list_appointment_bookings
Conexõeslist_connections get_connection_status get_connection_config create_connection update_connection configure_connection restart_connection disconnect_connection delete_connection get_qrcode
Conta e usuáriosget_company update_company list_users create_user update_user delete_user get_user list_settings update_setting list_api_keys create_api_key delete_api_key create_account login_account

Exemplos de uso

// No Claude ou no ChatGPT, basta pedir em português:

// Rotina do dia
"Faz um resumo dos atendimentos de hoje: quantos abertos, aguardando
 e fechados, e os 3 assuntos que mais apareceram"
"Quais tickets estão aguardando há mais de 2 horas sem resposta?"
"Resume o ticket 672 em 5 linhas e me diz qual é o próximo passo"

// Grupos
"Me dá o resumo do dia do grupo 'Obra Alphaville'"
"Cria um grupo chamado 'Projeto Fachada' com a Karina e o Bruno
 e me manda o link de convite"

// Vendas
"Procura o contato João Ribeiro, mostra o histórico e escreve um follow-up"
"Manda um WhatsApp pro 5511999999999 dizendo que o pedido saiu"

// Configuração
"Cria as filas de atendimento de uma loja de material de construção,
 com saudação e menu de chatbot"
"Baseado nas dúvidas dos últimos 30 dias, escreve uma Base de Conhecimento
 com as 15 perguntas mais frequentes"
O token é a chave da sua casa. Quem tem o token envia mensagem pelo seu WhatsApp. Não coloque em print, em grupo, em repositório público nem em planilha compartilhada.

Ferramenta nova não apareceu? O app de IA carrega a lista de tools uma vez por sessão — desconecte e reconecte o conector.

12. API Oficial Meta (WhatsApp Business Platform)

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.

Como configurar

  1. Crie um App em developers.facebook.com
  2. Adicione o produto WhatsApp ao app
  3. Obtenha: Access Token (permanente via System User), Phone Number ID, Business Account ID
  4. No Chatiops: Conexões → Nova → Tipo: "API Oficial Meta"
  5. Preencha as credenciais e salve
  6. Configure o webhook no painel Meta com a URL fornecida pelo Chatiops

Webhook URL

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.

Vantagens da API Oficial

AspectoQR Code (Baileys)API Oficial Meta
EstabilidadeMédiaAlta
Risco de banSimNão
TemplatesNãoSim
Botões interativosNãoSim
CustoGrátisPor conversa (~R$0,15-0,50)
Rate limit~30/min80 msgs/seg

Envio via API (funciona igual)

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"}'

Custos Meta (referência Brasil)

TipoCusto/conversaQuando
ServiçoGrátis (1000/mês)Cliente inicia a conversa
Utilidade~R$ 0,15Confirmações, lembretes
Autenticação~R$ 0,14OTP, verificação
Marketing~R$ 0,50Promoções, campanhas