Documentação da API REST
Integre seus sistemas, CRMs, ERPs e plataformas de vendas ao WhatsApp. Envie mensagens, consulte números e receba webhooks automáticos.
Autenticação e Token de Acesso
Como obter e autenticar suas chamadas de API
Aviso de Segurança: Para utilizar a API do MultChat Pro, é necessário possuir uma assinatura ativa. O token de integração externa é gerado dentro do painel em cada conexão de WhatsApp configurada.
Crie sua conta
Acesse o painel oficial em app.multchatpro.com e crie sua conta.
Conecte o WhatsApp
No painel, navegue em Conexões e adicione uma nova sessão escaneando o QR Code.
Obtenha o Token
Edite a conexão desejada e copie a chave no campo 'Token de Integração'.
Como enviar o Token no Header da Requisição
# Inclua o token no header Authorization de todas as requisições:
curl -X POST "https://api.multchatpro.com/api/messages/send" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{"number": "5511999999999", "body": "Olá via API!"}'https://api.multchatpro.comCatálogo de Endpoints REST
Clique na categoria ou no endpoint para expandir e ver detalhes
Envia uma mensagem de texto e/ou mídia para um número do WhatsApp. Pode opcionalmente associar a um atendente, fila, fechar o ticket após envio ou enviar sem registro no sistema.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Headers HTTP
Request Body (JSON)
{
"number": "5511999999999",
"body": "Olá! Esta é uma mensagem enviada via API.",
"whatsappId": 1,
"msdelay": 1000,
"userId": 1,
"queueId": 1,
"sendSignature": false,
"closeTicket": false,
"noRegister": false
}Parâmetros do Corpo
| Campo | Descrição |
|---|---|
number | Número do destinatário com código do país (obrigatório). Ex: 5511999999999 |
body | Texto da mensagem a ser enviada (obrigatório se não enviar mídia) |
whatsappId | ID da conexão WhatsApp para envio (opcional — usa a conexão do token se omitido) |
msdelay | Delay em milissegundos antes do envio, simulando digitação (opcional) |
userId | ID do atendente para associar à conversa (opcional) |
queueId | ID da fila/setor para associar à conversa (opcional) |
sendSignature | Se true, prefixa o nome do atendente na mensagem (opcional, padrão: false) |
closeTicket | Se true, fecha o ticket automaticamente após o envio (opcional, padrão: false) |
noRegister | Se true, envia a mensagem sem criar ticket ou contato no sistema (opcional, padrão: false) |
Respostas da API
{
"status": "SUCCESS"
}{
"error": "ERR_SENDING_WAPP_MSG"
}{
"error": "ERR_SESSION_EXPIRED"
}{
"error": "ERR_WAPP_NOT_INITIALIZED"
}Observações Importantes
- •Para enviar mídia, use multipart/form-data com o campo 'medias' contendo o(s) arquivo(s).
- •O número deve incluir o código do país (ex: 55 para Brasil).
- •Se msdelay for informado, o sistema aguarda antes de enviar, simulando tempo de digitação.
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/messages/send" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"number": "5511999999999",
"body": "Olá! Esta é uma mensagem enviada via API.",
"whatsappId": 1,
"msdelay": 1000,
"userId": 1,
"queueId": 1,
"sendSignature": false,
"closeTicket": false,
"noRegister": false
}'Envia uma imagem para o contato a partir de uma URL pública. Útil para enviar banners, catálogos ou imagens hospedadas externamente.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Headers HTTP
Request Body (JSON)
{
"number": "5511999999999",
"url": "https://exemplo.com/imagem.jpg",
"caption": "Confira nosso catálogo!",
"whatsappId": 1,
"msdelay": 1000
}Parâmetros do Corpo
| Campo | Descrição |
|---|---|
number | Número do destinatário com código do país (obrigatório). Ex: 5511999999999 |
url | URL pública da imagem a ser enviada (obrigatório). Ex: https://exemplo.com/imagem.jpg |
caption | Legenda da imagem (opcional) |
whatsappId | ID da conexão WhatsApp para envio (opcional) |
msdelay | Delay em milissegundos antes do envio (opcional) |
Respostas da API
{
"status": "SUCCESS"
}{
"error": "ERR_SENDING_WAPP_MSG"
}{
"error": "ERR_SESSION_EXPIRED"
}Observações Importantes
- •A URL deve ser publicamente acessível (sem autenticação).
- •Formatos suportados: JPG, PNG, GIF, WEBP.
- •Imagens muito grandes podem ser comprimidas pelo WhatsApp automaticamente.
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/messages/send/linkImage" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"number": "5511999999999",
"url": "https://exemplo.com/imagem.jpg",
"caption": "Confira nosso catálogo!",
"whatsappId": 1,
"msdelay": 1000
}'Verifica se um número de telefone está registrado no WhatsApp. Útil para validar contatos antes de enviar mensagens, evitando erros e melhorando a taxa de entrega.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Headers HTTP
Request Body (JSON)
{
"number": "5511999999999"
}Parâmetros do Corpo
| Campo | Descrição |
|---|---|
number | Número a ser verificado com código do país (obrigatório). Ex: 5511999999999 |
Respostas da API
{
"existsInWhatsapp": true,
"number": "5511999999999",
"numberFormatted": "5511999999999@s.whatsapp.net"
}{
"existsInWhatsapp": false,
"number": "5511999999999",
"error": "Not exists on Whatsapp"
}{
"error": "ERR_SESSION_EXPIRED"
}Observações Importantes
- •Sempre retorna status 200 — use o campo 'existsInWhatsapp' para determinar o resultado.
- •Útil para validação em massa antes de campanhas.
- •Respeite limites de requisição para evitar bloqueio do WhatsApp.
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/messages/checkNumber" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"number": "5511999999999"
}'Endpoint para receber webhooks de plataformas de venda como Kiwify, Hotmart, Eduzz, Monetizze e outras. O token da conexão faz parte da URL. Ao receber o evento, o sistema pode enviar mensagens automáticas ao comprador.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Headers HTTP
Request Body (JSON)
{
"platform": "kiwify",
"event": "purchase_approved",
"customer": {
"name": "João Silva",
"phone": "5511999999999",
"email": "joao@email.com"
},
"product": {
"name": "Curso de Marketing"
},
"message": "Mensagem personalizada (opcional)"
}Parâmetros do Corpo
| Campo | Descrição |
|---|---|
platform | Plataforma que está enviando o webhook (identificada automaticamente pelo payload) |
event | Tipo do evento (ex: purchase_approved, subscription_canceled, etc.) |
customer | Dados do cliente/comprador (nome, telefone, email) |
product | Informações do produto adquirido |
message | Mensagem personalizada para enviar ao cliente (opcional — se omitido, usa a mensagem padrão configurada) |
Respostas da API
{
"status": "ok"
}{
"error": "Connection not found"
}Observações Importantes
- •O token na URL é o token de integração externa da conexão WhatsApp (não o token de autenticação Bearer).
- •O formato do payload varia conforme a plataforma — o sistema detecta automaticamente.
- •Plataformas suportadas: Kiwify, Hotmart, Eduzz, Monetizze, PerfectPay, Pepper, Doppus, Ticto, ActiveCampaign, HubSpot, BullFlux, Webhook Genérico, Licença e outras.
- •Configure a URL deste endpoint na plataforma de vendas como webhook de notificação.
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/webhook/receive/{connectionToken}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"platform": "kiwify",
"event": "purchase_approved",
"customer": {
"name": "João Silva",
"phone": "5511999999999",
"email": "joao@email.com"
},
"product": {
"name": "Curso de Marketing"
},
"message": "Mensagem personalizada (opcional)"
}'Retorna confirmação de que o endpoint está ativo. Algumas plataformas fazem uma requisição GET para verificar o webhook antes de ativá-lo.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Respostas da API
{
"status": "active"
}Exemplo de Comando cURL
curl -X GET "https://api.multchatpro.com/api/webhook/receive/{connectionToken}" \
-H "Authorization: Bearer SEU_TOKEN_AQUI"O MultChat Pro suporta diversos tipos de autenticação para webhooks enviados. Escolha o tipo mais adequado para sua integração.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Respostas da API
{
"status": "ok"
}Observações Importantes
- •Tipo 1 - Nenhuma: Sem autenticação (APIs públicas). Não enviar nenhum header de autenticação.
- •Tipo 2 - Bearer Token: Header autorização → 'Authorization: Bearer SEU_TOKEN_AQUI'
- •Tipo 3 - API Key: Header customizado → 'X-API-Key: SEU_API_KEY_AQUI' ou nome customizado
- •Tipo 4 - Basic Auth: Header autorização → 'Authorization: Basic BASE64(usuario:senha)'
- •Tipo 5 - Conexão WhatsApp: Usa o token de uma conexão WhatsApp existente do sistema
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/webhook/send (exemplo)" \
-H "Authorization: Bearer SEU_TOKEN_AQUI"Configure um template para formatar a resposta da API antes de enviar ao cliente. Use {{campo}} para inserir valores da resposta JSON.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Request Body (JSON)
{
"template": "✅ *Sua {{tipo|Licença}} foi gerada!*\n\n🔑 *Chave:* {{chave|license_key|key}}\n👤 *Usuário:* {{usuario|user|username}}\n🔒 *Senha:* {{senha|password|pass}}\n📅 *Validade:* {{validade|data_expiracao|expires_at}}"
}Parâmetros do Corpo
| Campo | Descrição |
|---|---|
template | Template com placeholders para formatação. Detecta automaticamente campos comuns (chave, usuário, senha, validade, link, etc.) |
Respostas da API
{
"message_sent": "✅ *Sua Licença foi gerada!*\n\n🔑 *Chave:* XXXX-XXXX-XXXX\n👤 *Usuário:* teste123\n🔒 *Senha:* abc456\n📅 *Validade:* 16/01/2026"
}Observações Importantes
- •Deixe o template vazio para usar detecção automática de campos comuns
- •Variações detectadas automaticamente:
- • • Chave/Licença: chave, key, licenssKey, license_key, licenca
- • • Validade: data_expiracao, expiresAt, expires_at, validade, data
- • • Link: link, download_link, downloadLink, url
- • • Usuário: usuario, user, username
- • • Senha: senha, password, pass
- • • Mensagem: message, response, text, body
- •Datas são formatadas automaticamente para pt-BR (dia/mês/ano)
- •Placeholders não encontrados são removidos automaticamente
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/webhook/send (com template)" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"template": "✅ *Sua {{tipo|Licença}} foi gerada!*\n\n🔑 *Chave:* {{chave|license_key|key}}\n👤 *Usuário:* {{usuario|user|username}}\n🔒 *Senha:* {{senha|password|pass}}\n📅 *Validade:* {{validade|data_expiracao|expires_at}}"
}'Configure webhooks para disparem automaticamente quando estes eventos ocorrem no sistema.
Autenticação Requisições
Authorization: Bearer <TOKEN_DA_CONEXAO>
Respostas da API
{
"event": "new_message",
"ticket_id": "1234",
"contact": {
"name": "João Silva",
"phone": "5511999999999"
},
"message_body": "Olá, preciso de ajuda",
"timestamp": "2026-02-08T15:30:45Z"
}Observações Importantes
- •EVENTO 1 - Nova Mensagem: Dispara ao receber mensagem no WhatsApp.
- •EVENTO 2 - Ticket Criado: Dispara no primeiro contato.
- •EVENTO 3 - Ticket Atualizado: Dispara ao alterar atribuição, status ou tags.
- •EVENTO 4 - Ticket Encerrado: Dispara ao fechar atendimento.
- •EVENTO 5 - Ticket Transferido: Dispara ao transferir entre filas/usuários.
- •EVENTO 6 - Contato Criado: Dispara ao importar ou criar novo contato.
- •EVENTO 7 - Contato Atualizado: Dispara ao editar dados do contato.
Exemplo de Comando cURL
curl -X POST "https://api.multchatpro.com/api/webhooks (referência)" \
-H "Authorization: Bearer SEU_TOKEN_AQUI"Exemplos de Código Prontos
Copie e cole em seu projeto Node.js, Python ou PHP
Node.js (axios)
const axios = require('axios');
const TOKEN = 'SEU_TOKEN_AQUI';
const BASE_URL = 'https://api.multchatpro.com';
// Enviar mensagem de texto
async function sendMessage(number, body) {
const response = await axios.post(`${BASE_URL}/api/messages/send`, {
number,
body,
}, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${TOKEN}`,
},
});
console.log('Resposta:', response.data);
return response.data;
}
// Exemplo de uso
sendMessage('5511999999999', 'Olá! Mensagem via API.');Python (requests)
import requests
TOKEN = 'SEU_TOKEN_AQUI'
BASE_URL = 'https://api.multchatpro.com'
def send_message(number: str, body: str):
response = requests.post(
f'{BASE_URL}/api/messages/send',
json={'number': number, 'body': body},
headers={
'Content-Type': 'application/json',
'Authorization': f'Bearer {TOKEN}',
},
)
print('Resposta:', response.json())
return response.json()
# Exemplo de uso
send_message('5511999999999', 'Olá! Mensagem via API.')PHP (cURL)
<?php
$token = 'SEU_TOKEN_AQUI';
$baseUrl = 'https://api.multchatpro.com';
function sendMessage($number, $body) {
global $token, $baseUrl;
$ch = curl_init("$baseUrl/api/messages/send");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
"Authorization: Bearer $token",
],
CURLOPT_POSTFIELDS => json_encode([
'number' => $number,
'body' => $body,
]),
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Exemplo de uso
$result = sendMessage('5511999999999', 'Olá! Mensagem via API.');
print_r($result);Integração Nativa N8N
O MultChat Pro possui integração nativa com o N8N para automação de workflows. Configure a URL do webhook N8N na sua fila de atendimento para disparar os eventos instantaneamente.
Integração Nativa Typebot
Conecte fluxos conversacionais do Typebot diretamente na sua fila do WhatsApp. O Typebot gerencia o chatbot interativo e coleta dados dos clientes automaticamente.
Boas Práticas de Envio
- ✓Sempre valide o número com
/checkNumberantes de enviar mensagens em massa. - ✓Use o parâmetro
msdelay(ex: 1500ms) para simular digitação humana. - ✓Mantenha seu token seguro no servidor — nunca exponha no código frontend.
Formatos & Limites de Arquivo
- •Número com código do país:
5511999999999(código 55 para o Brasil). - •Imagens: JPG, PNG, GIF, WEBP (suporta até 16MB).
- •Documentos: PDF, DOC, XLS, ZIP (suporta até 100MB).
Pronto para começar a integração?
Crie sua conta no MultChat Pro, conecte seu WhatsApp e envie suas primeiras mensagens via API REST em menos de 5 minutos.