Unofficial Whatsapp Gateway Using NodeJs
807
A headless multi-session WhatsApp gateway with multi-device support, easy to set up using Docker.
📌 Also see: wa-multi-session
Create a new folder for your application at ~/app/wa-gateway and navigate into it:
mkdir -p ~/app/wa-gateway
cd ~/app/wa-gateway
docker-compose.yamlUse the nano editor to create the file:
nano docker-compose.yaml
Paste the following content into the editor to create docker-compose.yaml
# docker-compose.yaml
services:
wa-gateway:
container_name: "wa-gateway"
image: gerandonk/apiwhatsapp:latest
volumes:
- ./wa_credentials:/app/wa_credentials
ports:
- "5001:5001"
environment:
- KEY= # make your own api key (optional)
Run the following command in the same directory as your docker-compose.yaml:
docker compose up -d
Visit this URL to scan the QR code from your WhatsApp device:
http://localhost:5001/session/start?session=mysession
Replace
localhostwith your server's IP or domain if not running locally.
Replace
mysessionwith your desired session name.
Example to send a text message:
http://localhost:5001/message/send-text?session=mysession&to=628123456789&text=Hello
For PHPNuxBill:
http://localhost:5001/message/send-text?session=mysession&to=[number]&text=[text]
All API endpoints remain the same as the NodeJS version. Here's a quick reference:
GET /session/start?session=NEW_SESSION_NAME
or
POST /session/start
{
"session": "NEW_SESSION_NAME"
}
POST /message/send-text
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
| session | string | Yes | The session name you created |
| to | string | Yes | Target phone number (e.g. 628123456789) |
| text | string | Yes | The text message |
| is_group | boolean | No | True if target is a group |
POST /message/send-image
Body includes all of the above plus image_url.
POST /message/send-document
Body includes:
document_urldocument_nameGET /session/logout?session=SESSION_NAME
To receive real-time events, set your webhook URL using the environment variable:
WEBHOOK_BASE_URL="http://yourdomain.com/webhook"
Example webhook endpoints:
POST /webhook/sessionPOST /webhook/messageMedia files are stored inside the ./media directory in the container. You can access them via:
http://localhost:5001/media/FILE_NAME
To update to the latest version:
cd ~/app/wa-gateway
docker compose pull
docker compose down
docker compose up -d
For full documentation, examples, and guides, visit: 👉 https://github.com/mimamch/wa-gateway
Let me know if you need configuration examples with environment variables (like webhook setup) or a multi-service deployment!
Donation:
Content type
Image
Digest
sha256:188a76de5…
Size
48.4 MB
Last updated
about 2 months ago
docker pull gerandonk/apiwhatsapp:v2