ViperConnect é um gateway para WhatsApp baseado em Baileys, com contrato HTTP inspirado na WhatsApp Cloud API. Ele foi criado para operar sessões WhatsApp, enviar mensagens, receber webhooks, integrar com Chatwoot/Typebot e manter compatibilidade com fluxos Meta-like quando necessário.
O projeto é mantido pela ViperTec Corporation e é baseado no projeto original Unoapi Cloud, criado por Clairton Rodrigo.
ViperConnect is a WhatsApp gateway based on Baileys, exposing an HTTP contract inspired by the WhatsApp Cloud API. It is designed to operate WhatsApp sessions, send messages, receive webhooks, integrate with Chatwoot/Typebot, and preserve compatibility with Meta-like flows when needed.
This project is maintained by ViperTec Corporation and is based on the original Unoapi Cloud project created by Clairton Rodrigo.
- Manager web para listar, conectar e configurar sessões.
- Envio de mensagens no formato WhatsApp Cloud API.
- Webhooks por sessão, com suporte a múltiplos endpoints.
- Controle para desabilitar um webhook específico sem remover a configuração.
- Integração com Chatwoot e Typebot.
- Redis/Valkey para sessões, cache e configurações.
- RabbitMQ para processamento assíncrono.
- Storage S3 compatível para mídias.
- Normalização PN/LID para reduzir problemas de endereçamento no WhatsApp.
- Embedded Signup do WhatsApp Cloud.
Use o exemplo em:
docs/examples/docker-compose.unoapi-nginx.yml
Ele sobe ViperConnect, RabbitMQ e Valkey, expondo a porta 9876 para o Nginx ou outro proxy reverso.
Use o exemplo em:
docs/examples/docker-compose.unoapi-traefik.yml
Ele usa a network externa traefik-public e labels Traefik para publicar o serviço em HTTPS.
Exemplos para publicar Typebot integrado ao ViperConnect:
docs/examples/docker-compose.typebot-nginx.yml
docs/examples/docker-compose.typebot-traefik.yml
Guia de configuração: examples/typebot/README.md.
Depois de subir o container, acesse:
https://seu-dominio/
ou localmente:
http://localhost:9876/
Informe o token configurado em UNOAPI_AUTH_TOKEN.
curl -X POST "https://unoapi.seudominio.com.br/v15.0/5566999999999/messages" \
-H "Content-Type: application/json" \
-H "Authorization: SUA_TOKEN_AQUI" \
-d '{
"messaging_product": "whatsapp",
"to": "55669988887777",
"type": "text",
"text": {
"body": "Olá do ViperConnect"
}
}'| Variável | Uso |
|---|---|
BASE_URL |
URL pública do ViperConnect |
UNOAPI_AUTH_TOKEN |
Token de autenticação da API e do manager |
AMQP_URL |
Conexão RabbitMQ |
REDIS_URL |
Conexão Redis/Valkey |
WEBHOOK_URL |
Webhook padrão, opcional |
WEBHOOK_TOKEN |
Token enviado ao webhook |
WEBHOOK_HEADER |
Header usado para o token do webhook |
STORAGE_BUCKET_NAME |
Bucket S3/R2/MinIO |
STORAGE_ENDPOINT |
Endpoint S3 compatível |
EMBEDDED_SIGNUP_APP_ID |
App ID do Embedded Signup |
EMBEDDED_SIGNUP_APP_SECRET |
App Secret do Embedded Signup |
Veja a lista completa em docs/ENVIRONMENT.md e docs/pt-BR/AMBIENTE.md.
Cada sessão pode ter um ou mais webhooks. Para desabilitar um endpoint específico sem remover a configuração:
PATCH /v19.0/{phone}/webhooks/{webhook_id}
Content-Type: application/json
{ "enabled": false }Para reativar:
{ "enabled": true }Quando enabled é omitido, o webhook continua ativo por padrão. Isso preserva compatibilidade com integrações antigas, incluindo providers que não enviam esse campo.
Com o serviço rodando:
- Manager:
/ - Documentação:
/docs - OpenAPI UI:
/docs/openapi.html - Swagger UI:
/docs/swagger.html - OpenAPI JSON:
/docs/openapi.json
Arquivos principais:
- Instalação
- Ambiente
- Arquitetura
- Desenvolvimento
- Embedded Signup
- JIDMAP PN/LID
- Status/Broadcast
- Transcrição de áudio
yarn install
yarn build
yarn testExecutar em desenvolvimento:
yarn cloud-devRodar a versão compilada:
yarn build
yarn cloudImagem oficial do projeto ViperConnect:
ghcr.io/viperteccorporation/viperconnect
Exemplo:
docker pull ghcr.io/viperteccorporation/viperconnect:3.0.67- Mantenedora: ViperTec Corporation suporte@vipertec.com.br
- Rodrigo Caitano caitano28@gmail.com
- Baseado no projeto original Unoapi Cloud, criado por Clairton Rodrigo.
- Baileys: https://github.com/WhiskeySockets/Baileys
Este projeto não é afiliado, autorizado, mantido ou patrocinado pelo WhatsApp, Meta ou qualquer uma de suas afiliadas. WhatsApp e marcas relacionadas pertencem aos seus respectivos proprietários.
O uso de automação em WhatsApp pode violar políticas da plataforma e causar bloqueios. Use por sua conta e risco.
Distribuído sob a licença GPL-3.0. Consulte LICENSE.