Easy Setup Headless multi session Whatsapp Gateway with NodeJS
- Support Multi device
- Support Multi Session / Multi Phone Number
- Send Text Message
- Send Image
- Send Document
Read also wa-multi-session
Please Read How to install NodeJS
git clone https://github.com/mimamch/wa_gateway.git cd wa_gateway npm install npm run starthttp://localhost:5001/session/start?session=mysession
http://localhost:5001/message/send-text?session=mysession&to=628123456789&text=Hello
GET /session/start?session=NEW_SESSION_NAME
or
POST /session/start
| Parameter | Type | Description |
|---|---|---|
session |
string |
Required. Create Your Session Name |
POST /message/send-text
| Body | Type | Description |
|---|---|---|
session |
string |
Required. Session Name You Have Created |
to |
string |
Required. Receiver Phone Number with Country Code (e.g: 62812345678) |
text |
string |
Required. Text Message |
is_group |
boolean |
Optional. True if "to" field is group ids |
POST /message/send-image
| Body | Type | Description |
|---|---|---|
session |
string |
Required. Session Name You Have Created |
to |
string |
Required. Receiver Phone Number with Country Code (e.g: 62812345678) |
text |
string |
Required. Caption Massage |
image_url |
string |
Required. URL Image |
is_group |
boolean |
Optional. True if "to" field is group ids |
POST /message/send-document
| Body | Type | Description |
|---|---|---|
session |
string |
Required. Session Name You Have Created |
to |
string |
Required. Receiver Phone Number with Country Code (e.g: 62812345678) |
text |
string |
Required. Caption Massage |
document_url |
string |
Required. Document URL |
document_name |
string |
Required. Document Name |
is_group |
boolean |
Optional. True if "to" field is group ids |
GET /session/logout?session=SESSION_NAME
| Parameter | Type | Description |
|---|---|---|
session |
string |
Required. Create Your Session Name |
GET /session
// send text
axios.post("http://localhost:5001/message/send-text", {
session: "mysession",
to: "62812345678",
text: "hello world",
});
// send image
axios.post("http://localhost:5001/message/send-image", {
session: "mysession",
to: "62812345678",
text: "hello world",
image_url: "https://placehold.co/600x400",
});Set your webhook URL in the environment variable WEBHOOK_BASE_URL or in the .env file.
The request method will be POST and the body will be in JSON format.
WEBHOOK_BASE_URL="http://yourdomain.com/webhook"
Request path:
POST http://yourdomain.com/webhook/session
Example body:
{
"session": "mysession",
"status": "connected" // "disconnected" | "connecting"
}Request path:
POST http://yourdomain.com/webhook/message
Example body:
{
"session": "mysession",
"from": "[email protected]",
"message": "Hello World",
"media": {
"image": "3A5089C2F2652D46EBC5.jpg",
"video": null,
"document": null,
"audio": null
}
}You can get the media file by using the media object in the webhook message. The media file will be saved in the ./media directory with the name specified in the media object.
You can access media files using the following URL format:
http://localhost:5001/media/3A5089C2F2652D46EBC5.jpg
npm install wa-multi-session@latest
For detailed documentation, including guides and API references, please visit the official documentation.
Contributions are welcome! Please follow the guidelines outlined in the CONTRIBUTING.md file.
This library is licensed under the MIT License.