Servidor REST API para WhatsApp con Baileys. Multi-sesión, persistente y listo para producción.
10K+
Un servidor de WhatsApp multi-sesión, listo para producción, que utiliza @whiskeysockets/baileys. Proporciona una API REST segura para enviar y recibir mensajes, permitiendo una fácil integración con otras plataformas.
La forma más sencilla de levantar el servidor es usando docker-compose.
Crea un archivo docker-compose.yml con el siguiente contenido:
version: "3.8"
services:
baileys-server-pro:
image: devjuanda/baileys-server-pro:latest
container_name: baileys-server-pro
restart: always
ports:
- "3000:3000"
environment:
- API_KEY=${API_KEY}
volumes:
- ./sessions:/usr/src/app/sessions
Crea un archivo .env para tus variables de entorno:
# Puerto de la aplicación
PORT=3000
# Clave secreta para proteger la API
API_KEY=tu_clave_super_secreta_muy_larga
Crea la carpeta de sesiones y dale los permisos correctos:
mkdir -p sessions
sudo chown -R 1000:1000 sessions
Levanta el servidor:
docker-compose up -d
Tu servidor estará corriendo en http://localhost:3000.
La API cuenta con documentación interactiva Swagger / OpenAPI.
Una vez que el servidor esté corriendo, puedes acceder a la documentación en: http://localhost:3000/api-docs
curlAsegúrate de reemplazar {sessionId}, {number} y tu API Key.
Iniciar una Sesión:
curl -X POST http://localhost:3000/api/sessions/start \
-H "Content-Type: application/json" \
-H "x-api-key: tu_clave_super_secreta" \
-d '{
"sessionId": "mi-tienda",
"webhook": "[https://webhook.site/](https://webhook.site/)..."
}'
Enviar un Mensaje de Texto:
curl -X POST http://localhost:3000/api/sessions/mi-tienda/send-message \
-H "Content-Type: application/json" \
-H "x-api-key: tu_clave_super_secreta" \
-d '{
"number": "573001234567",
"message": "Hola desde la API! 🤖"
}'
Para recibir mensajes, proporciona una URL en el endpoint de start. Recibirás un POST con el siguiente formato:
{
"sessionId": "mi-tienda",
"timestamp": "2025-09-09T22:30:00.000Z",
"message": {
"id": "ABCDEFG12345",
"from": "[email protected]",
"text": "¡Hola! Quisiera más información."
}
}
El servidor guarda las credenciales en la carpeta /usr/src/app/sessions dentro del contenedor. Es crucial montar un volumen en esta ruta (-v ./sessions:/usr/src/app/sessions) para asegurar que tus sesiones no se pierdan.
Content type
Image
Digest
sha256:346a2355e…
Size
151 MB
Last updated
29 days ago
docker pull devjuanda/baileys-server-pro