RPS Connect API

Documentação da API

Conecte uma instância ao WhatsApp e integre mensagens, chats, grupos, perfil e webhooks usando sua X-API-Key.

Os arquivos do Postman devem ser disponibilizados na pasta downloads.

Base URL
{{base_url}} Definida no Environment do Postman
Autenticação
X-API-Key Formato das requisições: JSON
Novo fluxo: o painel é usado apenas para criar e gerenciar a API Key. A criação, conexão e operação das instâncias são feitas exclusivamente pela API.
Proteja sua chave: a API Key completa é exibida somente no momento da criação. Não a exponha em aplicações front-end, repositórios públicos ou código distribuído ao cliente. Caso perca ou suspeite de vazamento, revogue a chave e gere outra.
Rotas públicas documentadas

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)

Criar instância Baileys

POST
/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
}

Listar instâncias

GET
/whatsapp/instancias

Retorna as instâncias vinculadas à API Key utilizada.

Excluir instância

DELETE
/whatsapp/instancias/{{instanciaId}}

Remove permanentemente uma instância. Confirme o identificador antes de chamar esta rota.

Obter QR Code

GET
/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}}

Reiniciar instância

POST
/whatsapp/instancias/{{instanciaId}}/restart

Reinicia a sessão da instância informada.

Headers
Content-Type: application/json
X-API-Key: {{api_key}}
Body JSON
{}

Desconectar instância

POST
/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)

Enviar mensagem de texto

POST
/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
}

Enviar mídia

POST
/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"
}

Enviar áudio

POST
/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
}

Enviar figurinha

POST
/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"
}

Enviar localização

POST
/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
}

Enviar contato

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

Enviar enquete

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

Enviar vídeo PTV

POST
/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
}

Publicar status

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

Enviar reação

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

Consultar contatos

POST
/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": {}
}

Consultar mensagens

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

Enviar presença no chat

POST
/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"
}

Consultar foto do perfil

POST
/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)

Criar grupo

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

Listar grupos

POST
/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}}"
}

Listar participantes

POST
/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}}"
}

Obter código de convite

POST
/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}}"
}

Enviar convite do grupo

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

Atualizar participante

POST
/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"
}

Sair do grupo

POST
/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)

Listar etiquetas

POST
/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}}"
}

Consultar perfil

POST
/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}}"
}

Atualizar nome do perfil

POST
/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"
}

Atualizar foto do perfil

POST
/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"
}

Remover foto do perfil

POST
/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}}

Listar eventos com erro

GET
/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.

401 — Não autenticado

401

A chave está ausente, inválida, expirada ou revogada. Revise o cabeçalho X-API-Key.

403 — Sem permissão

403

A chave não tem acesso ao recurso solicitado ou a instância não pertence à empresa autenticada.

404 — Não encontrado

404

A instância, evento ou outro identificador informado não existe.

422 — Dados inválidos

422

O corpo da requisição não passou pela validação; confira campos obrigatórios, formato e integração.

500 — Erro interno

500

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
]);