An implementation of @adiwajshing/Baileys as a simple REST API with multiple device support
- NodeJS version 14.5.0 or higher
- Download or clone this repo. If you want to skip the build step, you can download the prebuilt one from the release page
- Enter to the project directory
- Install the dependencies
- Build the project using the
build
script. You can skip this part if you're using the prebuilt one from the release page
- Copy the
.env.example
file and rename it into.env
, then update your connection url in theDATABASE_URL
field - Run your migration. Don't forget to always re-run your migration whenever there's a change on the
prisma/
directory
# Listening Host
HOST="localhost"
# Listening Port
PORT="3000"
# Database Connection URL
DATABASE_URL="mysql://root:12345@localhost:3306/baileys_api"
# Reconnect Interval (in Milliseconds)
RECONNECT_INTERVAL="5000"
# Maximum Reconnect Attempts
MAX_RECONNECT_RETRIES="5"
# Maximum SSE QR Generation Attempts
SSE_MAX_QR_GENERATION="10"
# Pino Logger Level
LOG_LEVEL="warn"
- Make sure to build the project first using the
build
script - You can then start the app using the
start
script - Now the endpoint should be available according to your environment variables configuration. Default is at
http://localhost:3000
The API documentation is available online here. You can also import the Postman Collection File (postman_collection.json)
into your Postman App alternatively
- There's no authentication, you may want to implement your own. I don't want to force anyone to use a specific authentication method, choose whatever you love
This project is intended for learning purpose only, don't use it for spamming or any activities that's prohibited by WhatsApp