An implementation of Baileys as a simple RESTful API service with multi device support just download, install, and start using, simple as that.
yarn install to install the dependencies..env.example to .env and set the environment variables..env and setMONGODB_ENABLED=true
MONGODB_URL=mongodb://mongodb:27017/whatsapp_api
TOKEN= to a random string.docker-compose up -d
Edit environment variables on .env
Important: You must set TOKEN= to a random string to protect the route.
# ==================================
# SECURITY CONFIGURATION
# ==================================
TOKEN=RANDOM_STRING_HERE
DEVELOPMENT: Execute yarn devPRODUCTION: Execute yarn startTo generate an Instance Key
Using the route:
curl --location --request GET 'localhost:3333/instance/init' \
--data-raw ''
Response:
{
"error": false,
"message": "Initializing successfull",
"key": "d7e2abff-3ac8-44a9-a738-1b28e0fca8a5"
}
You can set which events you want to send to webhook by setting the environment variable WEBHOOK_ALLOWED_EVENTS
Set a comma seperated list of events you want to get notified about.
Default value is all which will forward all events.
Allowed values:
connection - receive all connection eventsconnection:open - receive open connection eventsconnection:close - receive close connection eventspresense - receive presence eventsmessages - receive all messages eventcall - receive all events related to callscall:terminate - receive call terminate eventscall:offer - receive call terminate eventgroups - receive all events related to groupsgroup_participants - receive all events related to group participantsYou can also use the Baileys event format example: messages.upsert
To generate a Custom Instance
Using the route:
curl --location --request GET 'localhost:3333/instance/init?key=CUSTOM_INSTANCE_KEY_HERE&webhook=true&webhookUrl=https://webhook.site/d7114704-97f6-4562-9a47-dcf66b07266d' \
--data-raw ''
Response:
{
"error": false,
"message": "Initializing successfull",
"key": "CUSTOM_INSTANCE_KEY_HERE"
}
Save the value of the key from response. Then use this value to call all the routes.
All routes are available as a postman collection.
Visit http://localhost:3333/instance/qr?key=INSTANCE_KEY_HERE to view the QR Code and scan with your device. If you take too long to scan the QR Code, you will have to refresh the page.
# /message/text?key=INSTANCE_KEY_HERE&id=PHONE-NUMBER-WITH-COUNTRY-CODE&message=MESSAGE
curl --location --request POST 'localhost:3333/message/text?key=INSTANCE_KEY_HERE' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'id=919999999999' \
--data-urlencode 'message=Hello World'
| Route | Source File |
|---|---|
| Instance Routes | instance.route.js |
| Message Routes | message.route.js |
| Group Routes | group.route.js |
| Miscellaneous Routes | misc.route.js |
See all routes here src/api/routes
I can't guarantee or can be held responsible if you get blocked or banned by using this software. WhatsApp does not allow bots using unofficial methods on their platform, so this shouldn't be considered totally safe.
Content type
Image
Digest
sha256:9b4f767a7…
Size
129 MB
Last updated
over 3 years ago
docker pull luizeof/whatsapp-api-nodejs