whatsapp-bot-api
v1.0.1
Published
WhatsApp Bot API server with multi-account support
Readme
WhatsApp Bot API 🤖
Multi-account WhatsApp automation platform with n8n integration.
🚀 Quick Start
با Docker (توصیه میشود)
# راهاندازی فوری
docker-compose up -d
# یا با اسکریپت
./deploy.shManual Installation
# نصب dependencies
pnpm install
# اجرا
pnpm start
# اضافه کردن اکانت اول
curl -X POST http://localhost:3000/api/accounts/add \
-H "Content-Type: application/json" \
-d '{"name": "account1", "webhookUrl": "https://your-webhook.com"}'📚 مستندات
- 🐳 Docker Deployment - دیپلوی با Docker
- 📖 API Documentation - API endpoints
- 🔧 Configuration Guide - راهنمای تنظیمات
- 🌐 n8n Integration - استفاده با n8n
✨ Features
- ✅ Multi-account WhatsApp support
- ✅ REST API for sending messages
- ✅ Webhook for receiving messages
- ✅ Dynamic account management (add/remove accounts)
- ✅ QR code retrieval as Data URL
- ✅ n8n custom node integration
- ✅ Docker ready
- ✅ Production ready with Nginx
🔌 API Endpoints
Message Operations
POST /api/send- ارسال پیام
Account Management
GET /api/accounts- لیست اکانتهاPOST /api/accounts/add- اضافه کردن اکانت جدیدGET /api/accounts/:name/qr- دریافت QR codeDELETE /api/accounts/:name- حذف اکانت
Webhook
POST /webhook- دریافت پیامهای دریافتی
Health Check
GET /health- بررسی وضعیت سرور
🛠️ Development
# Install
pnpm install
# Development mode
pnpm dev
# Build TypeScript
pnpm build
# Production
pnpm start🐳 Docker Commands
# Development
docker-compose up -d
# Production (with Nginx)
docker-compose -f docker-compose.prod.yml up -d
# Logs
docker-compose logs -f
# Stop
docker-compose down📊 مثال استفاده
ارسال پیام با curl
curl -X POST http://localhost:3000/api/send \
-H "Content-Type: application/json" \
-d '{
"account": "account1",
"to": "989123456789",
"message": "سلام از Bot API!"
}'اضافه کردن اکانت جدید
curl -X POST http://localhost:3000/api/accounts/add \
-H "Content-Type: application/json" \
-d '{
"name": "account2",
"webhookUrl": "https://your-n8n.com/webhook/whatsapp"
}'دریافت QR Code
curl http://localhost:3000/api/accounts/account2/qr🔧 Configuration
دیگر نیازی به فایل config نیست! همه چیز از طریق API مدیریت میشود:
# اضافه کردن اکانت
curl -X POST http://localhost:3000/api/accounts/add \
-H "Content-Type: application/json" \
-d '{
"name": "account1",
"webhookUrl": "https://your-webhook-url.com"
}'
# لیست اکانتها
curl http://localhost:3000/api/accounts
# حذف اکانت
curl -X DELETE http://localhost:3000/api/accounts/account1تنظیمات اختیاری از طریق Environment Variables:
PORT=3000 # پورت سرور
NODE_ENV=production # محیط اجرا🌐 استفاده با n8n
- نصب custom node:
npm install @mmkhak/n8n-nodes-whatsappRestart n8n
ایجاد workflow جدید و استفاده از "WhatsApp" nodes
🔒 Security
- API Key authentication (اختیاری)
- Rate limiting با Nginx
- HTTPS support
- Webhook signature verification
🐛 Troubleshooting
QR Code نمایش داده نمیشود
curl http://localhost:3000/api/accounts/YOUR_ACCOUNT/qrSession قطع میشود
مطمئن شوید baileys_auth_* فولدرها volume شدهاند در Docker
Port در حال استفاده است
# تغییر port در config.json یا docker-compose.yml
"port": 8080📦 Project Structure
whatsapp-bot-api/
├── src/
│ └── index.ts # Main application
├── config.json # Configuration
├── Dockerfile # Docker image
├── docker-compose.yml # Docker Compose
├── nginx.conf # Nginx config
├── deploy.sh # Deployment script
└── package.json # Dependencies🤝 Contributing
Contributions are welcome!
📝 License
MIT
🔗 Links
Made with ❤️ by Milad
