After three years, I've decided to archive this open-source WhatsApp API project. Your support and contributions have been incredible!
While I'm no longer actively maintaining this project, I've been working on something new and exciting. It's not open-source, but it's a powerful API that provides advanced features for those who need them. If you're interested in exploring this, feel free to reach out for more information.
Thank you once again for being a part of this journey. Keep building amazing things with technology!
Best regards,
@salman0ansari
<h1 align="center"> whatsapp-api-nodejs Multi Device</h1> <div align="center"> <p> <a href="#"><img title="skynet" src="https://img.shields.io/badge/whatsapp api nodejs Multi Device-black?style=for-the-badge" alt=""></a> </p> <p> <a href="https://github.com/salman0ansari"><img title="Author" src="https://img.shields.io/badge/Author-Mohd Salman Ansari-black.svg?style=for-the-badge&logo=github" alt=""></a> </p> <a href="https://github.com/salman0ansari?tab=followers"><img title="Followers" src="https://img.shields.io/github/followers/salman0ansari?color=black&style=flat-square" alt=""></a> <a href="https://github.com/salman0ansari/whatsapp-api-nodejs/stargazers"><img title="Stars" src="https://img.shields.io/github/stars/salman0ansari/whatsapp-api-nodejs?color=black&style=flat-square" alt=""></a> <a href="https://github.com/salman0ansari/whatsapp-api-nodejs/network/members"><img title="Forks" src="https://img.shields.io/github/forks/salman0ansari/whatsapp-api-nodejs?color=black&style=flat-square" alt=""></a> <a href="https://github.com/salman0ansari/whatsapp-api-nodejs/issues"><img title="Issues" src="https://img.shields.io/github/issues/salman0ansari/whatsapp-api-nodejs?color=black&style=flat-square" alt=""></a> <p><a href="http://github.com/salman0ansari/whatsapp-api-nodejs"><img title="Hits" src="http://hits.dwyl.com/salman0ansari/whatsapp-api-nodejs.svg?style=flat-square"></a> <br> <a href="https://t.me/salman0ansari"> <img src="https://img.shields.io/badge/Telegram-informational?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram Badge"/> </a> <a href="https://join.skype.com/invite/rI5pLf9YIvTA"> <img src="https://img.shields.io/badge/Skype-00AFF0.svg?style=for-the-badge&logo=Skype&logoColor=white" alt="Skype Badge"/> </a> <br>
</p> </div>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 dev
PRODUCTION:
Execute yarn start
To 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.
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。 利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题