Skip to content

mimamch/wa-gateway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

81 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Headless Multi Session Whatsapp Gateway NodeJS

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

⚠️ This application need to running in NodeJS v18 or later. ⚠️

Install and Running

1. Clone the project

  git clone https://github.com/mimamch/wa_gateway.git

2. Go to the project directory

  cd wa_gateway

3. Install dependencies

  npm install

4. Start the server

  npm run start

5. Open On Browser & Start Scan QR

http://localhost:5001/session/start?session=mysession

6. Sending first message

http://localhost:5001/message/send-text?session=mysession&to=628123456789&text=Hello

API Reference

Add new session

  GET /session/start?session=NEW_SESSION_NAME
  or
  POST /session/start
Parameter Type Description
session string Required. Create Your Session Name

Send Text Message

  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

Send Image

  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

Send Document

  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

Delete session

  GET /session/logout?session=SESSION_NAME
Parameter Type Description
session string Required. Create Your Session Name

Get All Session ID

  GET /session

Examples

Using Axios

// 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",
});

Webhook Guide

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"

πŸͺ Session Webhook

Request path:

POST http://yourdomain.com/webhook/session

Example body:

{
  "session": "mysession",
  "status": "connected" //  "disconnected" | "connecting"
}

πŸͺ Message Webhook

Request path:

POST http://yourdomain.com/webhook/message

Example body:

{
  "session": "mysession",
  "from": "xxx@s.whatsapp.net",
  "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

Upgrading

npm install wa-multi-session@latest

Documentation

For detailed documentation, including guides and API references, please visit the official documentation.

Contributing

Contributions are welcome! Please follow the guidelines outlined in the CONTRIBUTING.md file.

License

This library is licensed under the MIT License.

About

Headless Multi Session Whatsapp Gateway API

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •