mrifqidaffaaditya/WA-AKG
๐ https://github.com/mrifqidaffaaditya/WA-AKG โ๐ WA-AKG: The Ultimate WhatsApp Gateway & Dashboard A professional, multi-session WhatsApp Gateway, Dashboard, and Automation System. Built with Next.js 15 , React , and Baileys for high-performance messaging automation and real-time WhatsApp Bot Gateway services. [!TIP] Looking for the latest features? Check out the beta branch or our pre-releases for experimental sources. Features โข User Guide โข API Documentation โข Database Setup โข Installation ๐ Complete Documentation WA-AKG comes with extensive documentation designed for both developers and users. Master Project Documentation : Architecture, database, and logic flow. API Documentation : Comprehensive OpenAPI / Swagger guide for all 109+ endpoints . API Quick Reference : Instantly jumpstart your integration with ready-to-use cURL/JavaScript snippets. Environment Variables : Configuration and security guide. ๐ Why WA-AKG WhatsApp API Gateway? WA-AKG transforms your WhatsApp into a fully programmable RESTful API. It's designed for scale, reliability, and ease of use, making it the perfect bridge between your business logic and WhatsApp's global reach. Excellent for developing a WhatsApp Bot , Automation, or Customer Service Gateway. ๐๏ธ How it Works graph LR User([User / App]) -->|REST API| API[WA-AKG Gateway] API -->|Baileys| WhatsApp[[WhatsApp Server]] API -->|Real-time| DB[(Prisma / DB)] WhatsApp -.->|Webhook| API API -.->|Event| Webhook([External CRM / API]) Loading ๐ฅ Key Features ๐ฑ Multi-Session Management : Connect and manage unlimited WhatsApp accounts simultaneously via simple QR code scans. โก Pro WhatsApp Engine : Powered by @whiskeysockets/baileys for high-speed, stable, and secure WebSocket connections. ๐ Advanced Scheduler : Precise message planning with Media Support (Images, Video, Docs). ๐ข Safe Broadcast : Built-in anti-ban mechanisms with randomized delays (10-30s) and batch processing. ๐ค Smart Auto-Reply : Keywords matching with Context Support (Group/Private/All) and Media Attachments . ๐ก๏ธ Granular Access Control : Full Whitelist & Blacklist support for both Bot Commands and Auto Replies. ๐ Enterprise Webhooks : Robust real-time event forwarding for messages, connections, status changes, and group updates. ๐ Advanced Contacts : Rich contact management with LID, verified names, and profile pictures. ๐จ Creative Tools : Built-in Sticker Maker with background removal ( remove.bg integration). ๐ Open API Spec : Fully documented via swagger-ui-react at /docs . ๐ View Webhook Payload Example { "event" : " message.received " , "sessionId" : " xgj7d9 " , "timestamp" : " 2026-01-17T05:33:08.545Z " , "data" : { "key" : { "remoteJid" : " 6287748687946@s.whatsapp.net " , "fromMe" : false , "id" : " 3EB0B78... " }, "from" : " 6287748687946@s.whatsapp.net " , "sender" : " 100429287395370@lid " , "remoteJidAlt" : " 100429287395370@lid " , "type" : " TEXT " , "content" : " saya sedang reply " , "isGroup" : false , "quoted" : { "type" : " IMAGE " , "caption" : " Ini caption dari reply " , "fileUrl" : " /media/xgj7d9-A54FD0B6F... " } } } ๐งฉ Integrations: Native n8n Support WA-AKG natively supports n8n ! You can build complex, no-code/low-code WhatsApp automation workflows using our official community nodes. Action Node : Full control over messaging, groups, sessions, contacts, and labels directly from your n8n workflows. Trigger Node : Instantly catch real-time webhooks (Message Received, Group Joined, etc.) and trigger your workflows automatically. ๐ View on npm (n8n-nodes-wa-akg) ๐ Quick Installation 1. Prerequisites Node.js 20+ (Node.js 22 recommended) MySQL or PostgreSQL Git PM2 (Installed globally: npm install -g pm2 ) 2. Setup # Clone and install git clone https://github.com/mrifqidaffaaditya/WA-AKG.git cd WA-AKG npm install # Configure environment cp .env.example .env # Edit .env with your DATABASE_URL, AUTH_SECRET, PORT, etc. # Push schema and generate Prisma Client npm run db:push # Create SuperAdmin account npm run make-admin admin@example.com password123 3. Run (Development) npm run dev 4. Run (Production with PM2 - Recommended) We recommend deploying with PM2 to run the app in the background and ensure it restarts automatically if the server rebooted or crashed. Option A: Automatic Setup Script (Easiest) We provide a built-in start.sh script that automates everything: checking the configuration, installing dependencies, syncing the database schema, compiling production assets, and starting or reloading PM2: ./start.sh Option B: Manual Setup Build the application : npm run build Start with PM2 : Using the built-in ecosystem.config.js configuration file: pm2 start ecosystem.config.js Manage the process : View status: pm2 status View logs: pm2 logs wa-akg Stop process: pm2 stop wa-akg Restart process: pm2 restart wa-akg Enable auto-start on server boot : pm2 startup # Copy-paste the command outputted by the command above pm2 save ๐ Alternative: Docker Deployment Although PM2 is highly recommended , you can also deploy using Docker Compose: Prepare Environment : cp .env.example .env Edit .env โ set DATABASE_URL (points to the MySQL container), AUTH_SECRET , and other branding settings. Start Services : docker compose up -d This spins up the MySQL database container alongside the Next.js gateway application. ๐ API Reference Overview WA-AKG provides a comprehensive REST API to integrate WhatsApp Messaging directly into your applications. Full details in API_DOCUMENTATION.md . Tip Use the built-in Swagger UI for interactive exploration at /docs . Method Endpoint Description POST /api/messages/{sessionId}/{jid}/send Send text, media, or stickers POST /api/messages/{sessionId}/broadcast Scalable bulk messaging PATCH /api/sessions/{id}/settings Update session configuration GET /api/groups/{sessionId} List all available groups POST /api/webhooks/{sessionId} Register real-time event listeners POST /api/autoreplies/{sessionId} Create context-aware auto-replies POST /api/auth/register Register new users via the web securely Example: Send Text Message curl -X POST http://localhost:3000/api/messages/session_01/62812345678@s.whatsapp.net/send \ -H " X-API-Key: your_api_key " \ -H " Content-Type: application/json " \ -d ' { "message": { "text": "Hello from WA-AKG!" } } ' โ ๏ธ Known Issues / Caveats Warning Status Update Feature (POST /api/status/update ) The WhatsApp status/story update feature is currently experiencing known issues and should be avoided in production: Text statuses with custom background colors may not display correctly Media statuses (images/videos) may fail to upload to WhatsApp servers The feature is under active development We recommend waiting for the next release before using this endpoint in critical workflows. ๐ก๏ธ Security API Key Auth : Secured endpoints using X-API-Key header. RBAC : Multi-role support ( SUPERADMIN , OWNER , STAFF ). Encrypted Passwords : All passwords hashed with bcrypt. JWT Encryption : Session tokens signed with AUTH_SECRET (wajib diisi โ tidak ada fallback). Input Validation : Zod schemas on critical endpoints. Media Protection : Path traversal prevention, session-scoped media access. Built with โค๏ธ by Aditya Licensed under MIT
ๅ งๅฎน็บๆถ้็ถๆฅๆๅ็ repo ๆ่ฟฐๅๆ๏ผๅฎๆด่ณ่จ่ซ่ฆ GitHub ๅ้ ใ