Primeiros passos
Fluxo recomendado para realizar a primeira integração.
1
Crie a API Key
No painel, acesse API Keys, crie uma chave e
armazene o valor completo em local seguro.
2
Crie uma instância
Faça POST /whatsapp/instancias, escolhendo
Baileys ou WhatsApp Business e, se desejar, seu webhook.
3
Conecte pelo QR Code
Para Baileys, consulte o QR Code e leia-o no WhatsApp.
Para Business, informe o business_id na criação.
4
Envie a primeira mensagem
Consulte o status da conexão e, quando a instância estiver
conectada, utilize a rota de envio de texto.
Header obrigatório
X-API-Key: rps_live_xxxxxxxxxxxxxxxxxxxxxxxxx
1. Criar uma instância Baileys
POST {{base_url}}/whatsapp/instancias
Content-Type: application/json
X-API-Key: {{generated_api_key}}
{
"nome": "Atendimento",
"integration": "WHATSAPP-BAILEYS",
"webhook_url": "https://cliente.exemplo.com/webhooks/whatsapp",
"webhook_ativo": true
}
2. Consultar o status
GET {{base_url}}/whatsapp/instancias/{{instanciaId}}/qrcode
X-API-Key: {{generated_api_key}}
3. Enviar a primeira mensagem
POST {{base_url}}/whatsapp/send-text
Content-Type: application/json
X-API-Key: {{generated_api_key}}
{
"instancia_id": "{{instanciaId}}",
"number": "{{numero}}",
"text": "Minha primeira mensagem pelo RPS Connect",
"delay": 1200,
"linkPreview": false
}
As expressões entre chaves duplas, como {{api_key}},
representam variáveis utilizadas na Collection do Postman.
Autenticação
Todas as rotas públicas exigem uma API Key ativa da sua conta.
Envie a chave no cabeçalho X-API-Key. A chave identifica a empresa e limita o acesso às suas próprias instâncias; nunca a exponha em aplicações de navegador.
Exemplo cURL
curl --request GET "{{base_url}}/whatsapp/instancias" \
--header "X-API-Key: {{generated_api_key}}"
Instâncias
Crie, conecte e administre suas instâncias pelo RPS Connect. 10 rota(s)
/whatsapp/instancias
Cria uma instância baseada em WhatsApp Web. Use o QR Code retornado ou a rota de QR Code para conectá-la.
Body JSON
{
"nome": "Atendimento",
"integration": "WHATSAPP-BAILEYS",
"numero": "",
"webhook_url": "https://cliente.exemplo.com/webhooks/whatsapp",
"webhook_ativo": true
}
Criar instância WhatsApp Business
POST
/whatsapp/instancias
Cria uma instância integrada ao WhatsApp Business. O campo business_id é obrigatório; esse tipo não utiliza QR Code.
Body JSON
{
"nome": "Atendimento Oficial",
"integration": "WHATSAPP-BUSINESS",
"number": "5514999999999",
"token": "",
"business_id": "{{businessId}}",
"webhook_url": "https://cliente.exemplo.com/webhooks/whatsapp",
"webhook_ativo": true
}
/whatsapp/instancias
Retorna as instâncias vinculadas à API Key utilizada.
/whatsapp/instancias/{{instanciaId}}
Remove permanentemente uma instância. Confirme o identificador antes de chamar esta rota.
/whatsapp/instancias/{{instanciaId}}/qrcode
Retorna o QR Code para conectar uma instância WHATSAPP-BAILEYS. Não se aplica a WhatsApp Business.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Consultar status da conexão
GET
/whatsapp/instancias/{{instanciaId}}/status
Consulta o estado atual da conexão e da configuração da instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
/whatsapp/instancias/{{instanciaId}}/restart
Reinicia a sessão da instância informada.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{}
/whatsapp/instancias/{{instanciaId}}/logout
Desconecta a sessão do WhatsApp vinculada à instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{}
Definir presença da instância
POST
/whatsapp/instancias/{{instanciaId}}/presence
Atualiza a presença geral da instância, como disponível ou indisponível.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"presence": "available"
}
Mensagens
Envie textos, mídias, contatos, localizações, enquetes e outras mensagens. 12 rota(s)
/api/whatsapp/send-text
Envia uma mensagem de texto para um número de WhatsApp.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"text": "Olá, mensagem enviada pelo RPS Connect",
"delay": 1200,
"linkPreview": false
}
/api/whatsapp/send-media
Envia imagem, vídeo ou documento a partir de uma URL pública.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"mediatype": "image",
"mimetype": "image/png",
"caption": "Imagem enviada pelo RPS Connect",
"media": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQISNdaODyJgLXctAbcJI11rG884LVCvAaBSDNaGfFeMQ&s=10",
"fileName": "imagem.png"
}
/api/whatsapp/send-audio
Envia um arquivo de áudio para o destinatário informado.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"audio": "http://webaudioapi.com/samples/audio-tag/chrono.mp3",
"delay": 1200,
"encoding": true
}
/api/whatsapp/send-sticker
Envia uma figurinha a partir de uma URL pública.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"sticker": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ_CntvoWQMLvijxLZKny0QQBc7Fqw89D9Wmn0F768EgQ&s"
}
/api/whatsapp/send-location
Envia uma localização contendo nome, endereço, latitude e longitude.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"name": "RPS Connect",
"address": "Marília/SP",
"latitude": -22.2139,
"longitude": -49.9458
}
/api/whatsapp/send-contact
Envia um ou mais cartões de contato.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"contact": [
{
"fullName": "João Silva",
"wuid": "5514999999999",
"phoneNumber": "+55 14 99999-9999",
"organization": "Empresa Teste",
"email": "[email protected]",
"url": "https://empresa.com.br"
}
]
}
/api/whatsapp/send-poll
Envia uma enquete com uma ou mais opções de resposta.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"name": "Qual opção você prefere?",
"selectableCount": 1,
"values": [
"Opção 1",
"Opção 2",
"Opção 3"
]
}
Em manutenção
Enviar lista — em manutenção
POST
/api/whatsapp/send-list
Rota temporariamente indisponível para uso em produção.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"title": "Menu de Atendimento",
"description": "Escolha uma opção abaixo",
"buttonText": "Abrir menu",
"footerText": "RPS Connect",
"sections": [
{
"title": "Atendimento",
"rows": [
{
"title": "Comercial",
"description": "Falar com vendas",
"rowId": "comercial"
},
{
"title": "Suporte",
"description": "Falar com suporte",
"rowId": "suporte"
}
]
}
]
}
Em manutenção
Enviar botões — em manutenção
POST
/api/whatsapp/send-buttons
Rota temporariamente indisponível para uso em produção.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"title": "Confirmação",
"description": "Deseja continuar?",
"footer": "RPS Connect",
"buttons": [
{
"type": "reply",
"displayText": "Sim",
"id": "SIM"
},
{
"type": "reply",
"displayText": "Não",
"id": "NAO"
}
]
}
/api/whatsapp/send-ptv
Envia um vídeo no formato de mensagem PTV.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"video": "https://evolution-api.com/files/video.mp4",
"delay": 1200
}
/api/whatsapp/send-status
Publica um status de texto ou mídia para os contatos configurados.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"type": "text",
"content": "Status enviado pelo RPS Connect",
"backgroundColor": "#008000",
"font": 1,
"allContacts": false,
"statusJidList": [
"{{numero_destino}}@s.whatsapp.net"
]
}
/api/whatsapp/send-reaction
Adiciona uma reação a uma mensagem existente.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"key": {
"remoteJid": "{{numero_destino}}@s.whatsapp.net",
"fromMe": true,
"id": "{{mensagem_id}}"
},
"reaction": "🚀"
}
Chats e contatos
Consulte números, contatos, mensagens e recursos dos chats. 8 rota(s)
Verificar números no WhatsApp
POST
/api/whatsapp/chats/check-numbers
Verifica quais números informados possuem conta no WhatsApp.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"numbers": [
"{{numero_destino}}",
"5514888888888"
]
}
/api/whatsapp/chats/contacts
Consulta os contatos disponíveis na instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"where": {}
}
/api/whatsapp/chats/messages
Consulta mensagens aplicando os filtros enviados no corpo da requisição.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"where": {
"key": {
"remoteJid": "{{numero_destino}}@s.whatsapp.net"
}
},
"page": 1,
"offset": 10
}
Em manutenção
Consultar chats — em manutenção
POST
/api/whatsapp/chats/list
Rota temporariamente indisponível para uso em produção.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}"
}
Marcar mensagem como lida
POST
/api/whatsapp/chats/mark-read
Marca uma ou mais mensagens como lidas.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"readMessages": [
{
"remoteJid": "{{numero_destino}}@s.whatsapp.net",
"fromMe": false,
"id": "{{mensagem_id}}"
}
]
}
/api/whatsapp/chats/send-presence
Envia um estado temporário, como digitando ou gravando áudio.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"delay": 1200,
"presence": "composing"
}
/api/whatsapp/chats/profile-picture
Consulta a foto de perfil de um número de WhatsApp.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}"
}
Atualizar bloqueio do contato
POST
/api/whatsapp/chats/block-status
Bloqueia ou desbloqueia um contato na instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"status": "block"
}
Grupos
Crie grupos e gerencie participantes, convites e configurações. 10 rota(s)
/api/whatsapp/groups/create
Cria um grupo e adiciona os participantes informados.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"subject": "Grupo Teste RPS Connect",
"description": "Grupo criado via SaaS",
"participants": [
"{{numero_destino}}"
]
}
/api/whatsapp/groups/list
Lista os grupos da instância, com opção de incluir participantes.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"getParticipants": false /*true - lista os participantes*/
}
Consultar informações do grupo
POST
/api/whatsapp/groups/info
Consulta os dados de um grupo pelo identificador JID.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}"
}
/api/whatsapp/groups/participants
Lista os participantes de um grupo.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}"
}
/api/whatsapp/groups/invite-code
Obtém o código de convite atual do grupo.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}"
}
Revogar código de convite
POST
/api/whatsapp/groups/revoke-invite
Revoga o código atual e gera um novo convite para o grupo.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}"
}
/api/whatsapp/groups/send-invite
Envia o convite de um grupo para os números informados.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}",
"description": "Acesse este link para entrar no grupo:",
"numbers": [
"{{numero_destino}}"
]
}
/api/whatsapp/groups/update-participant
Adiciona, remove ou altera participantes do grupo.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}",
"action": "add",
"participants": [
"{{numero_destino}}"
]
}
Atualizar configuração do grupo
POST
/api/whatsapp/groups/update-setting
Atualiza permissões e configurações do grupo.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}",
"action": "not_announcement"
}
/api/whatsapp/groups/leave
Remove a instância do grupo informado.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"groupJid": "{{grupo_jid}}"
}
Etiquetas
Consulte e aplique etiquetas aos contatos. 2 rota(s)
/api/whatsapp/labels/find
Lista as etiquetas disponíveis na instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}"
}
Vincular ou remover etiqueta
POST
/api/whatsapp/labels/handle
Adiciona ou remove uma etiqueta de um contato.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}",
"labelId": "1",
"action": "add"
}
Perfil e privacidade
Consulte e atualize perfil, foto, recado e configurações de privacidade. 8 rota(s)
Consultar perfil comercial
POST
/api/whatsapp/profile/business
Consulta os dados comerciais de um perfil do WhatsApp Business.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}"
}
/api/whatsapp/profile/fetch
Consulta os dados públicos do perfil informado.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"number": "{{numero_destino}}"
}
/api/whatsapp/profile/name
Atualiza o nome exibido no perfil da instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"name": "RPS Connect"
}
Atualizar recado do perfil
POST
/api/whatsapp/profile/status
Atualiza o recado ou status textual do perfil.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"status": "Atendimento via RPS Connect"
}
/api/whatsapp/profile/picture
Atualiza a foto do perfil usando uma URL pública.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"picture": "https://evolution-api.com/files/evolution-api.png"
}
/api/whatsapp/profile/remove-picture
Remove a foto atual do perfil da instância.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}"
}
Consultar configurações de privacidade
POST
/api/whatsapp/privacy/fetch
Consulta as configurações atuais de privacidade.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}"
}
Atualizar configurações de privacidade
POST
/api/whatsapp/privacy/update
Atualiza as preferências de privacidade da conta.
Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{
"instancia_id": "{{instancia_id}}",
"readreceipts": "all",
"profile": "all",
"status": "contacts",
"online": "all",
"last": "contacts",
"groupadd": "none"
}
Webhooks
Consulte eventos recebidos e solicite o reprocessamento de falhas. 5 rota(s)
Como funciona: informe webhook_url ao criar a instância. A Evolution envia o evento ao webhook interno do RPS Connect; a plataforma o processa, registra e o encaminha para a URL do cliente. Assim, o endereço interno do SaaS não fica exposto e a URL do cliente permanece vinculada à instância.
Fluxo de entrega
Cliente → POST /whatsapp/instancias (webhook_url)
→ RPS Connect salva a URL do cliente
Evolution → webhook interno do RPS Connect
→ RPS Connect processa e encaminha → webhook_url do cliente
Listar eventos de webhook
GET
/api/webhooks/eventos
Lista os eventos de webhook registrados para a empresa.
Headers
X-API-Key: {{api_key}}
/api/webhooks/eventos?status=erro
Lista somente os eventos cujo processamento terminou com erro.
Headers
X-API-Key: {{api_key}}
Filtrar eventos por instância
GET
/api/webhooks/eventos?instancia_id={{instanciaId}}
Lista os eventos relacionados à instância informada.
Headers
X-API-Key: {{api_key}}
Consultar evento de webhook
GET
/api/webhooks/eventos/{{eventoId}}
Consulta os detalhes de um evento específico.
Headers
X-API-Key: {{api_key}}
Reprocessar evento de webhook
POST
/api/webhooks/eventos/{{eventoId}}/retry
Solicita uma nova tentativa de processamento do evento.
Headers
X-API-Key: {{api_key}}
Content-Type: application/json
Body JSON
{}
Códigos de erro
As respostas de erro são retornadas em JSON.
A chave está ausente, inválida, expirada ou revogada. Revise o cabeçalho X-API-Key.
A chave não tem acesso ao recurso solicitado ou a instância não pertence à empresa autenticada.
A instância, evento ou outro identificador informado não existe.
O corpo da requisição não passou pela validação; confira campos obrigatórios, formato e integração.
Ocorreu uma falha inesperada. Registre a resposta e entre em contato com o suporte se ela persistir.
Resposta de erro
{
"error": "mensagem explicativa",
"status": 422
}
Exemplos de integração
Use a Collection como referência operacional e estes exemplos para iniciar rapidamente.
JavaScript (fetch)
await fetch("{{base_url}}/whatsapp/send-text", {
method: "POST",
headers: { "Content-Type": "application/json", "X-API-Key": apiKey },
body: JSON.stringify({ instancia_id, number: "5514999999999", text: "Olá!" })
});
Delphi (RESTRequest4D)
TRequest.New.BaseURL(BaseUrl).Resource('/whatsapp/send-text')
.AddHeader('X-API-Key', ApiKey).AddBody(BodyJson).Post;
C#
client.DefaultRequestHeaders.Add("X-API-Key", apiKey);
await client.PostAsJsonAsync("/whatsapp/send-text", payload);
PHP
$response = $client->post('/whatsapp/send-text', [
'headers' => ['X-API-Key' => $apiKey], 'json' => $payload
]);