An implementation of @adiwajshing/Baileys as a simple RESTful API service with multiple device support.
- Framework : Laravel 8
- Admin Panel : Crudbooster
- Backend Server : @ookamiiixd/baileys-api
- php 7.4
- MySQL / MariaDB
- NodeJs 14 or higher
- First clone or download this repository:
git clone https://github.com/saifulcoder/laravel-whatsapp-server.git
- Enter directory project
cd laravel-whatsapp-server
- Execute
composer install
to install the dependencies. - Setting the database configuration, rename
.env.example
to.env
and open file at project root directory
DB_DATABASE=**your_db_name**
DB_USERNAME=**your_db_user**
DB_PASSWORD=**password**
- Setting the URL backend server configuration, open
.env
file at project root directory
URL_WA_SERVER=http://localhost:3000
-
Import database db.sql
-
Run laravel
php artisan serve --port=80
- Dashboard Admin
/admin/login
default email : admin@crudbooster.com
default password : 123456
Simple RESTful WhatsApp API by @ookamiiixd/baileys-api .
- Enter to the backend project directory
cd backend
. - Execute
npm i
to install the dependencies. - Build the project using the build script
npm run build
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 - Update your provider in the
prisma/schema.prisma
file if you're using database other than MySQL - Run your migration
npx prisma migrate (dev|deploy)
or push the schema
npx prisma db push
Don't forget to always re-run those whenever there's a change on the prisma/schema.prisma
file
# 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 you have completed the Installation and Setup step
- You can then start the app using the
start
script
npm run start
- 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 into using 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
Multiple Device | ✔ |
📁 Send text | ✔ |
Admin Panel | ✔ |
Multiple Users | ✔ |
User Privilege | ✔ |
API RESTFul | ✔ |
📁 Send image, video, audio and docs | ✔ |
Send stickers | ✔ |
Send stickers GIF | ✔ |
Send Buttons | coming soon |
Send Bulk Message | coming soon |
Send Message with schedule | coming soon |
Receive message | coming soon |
Get Chat List | coming soon |
Get Chat Conversation | coming soon |
Webhook | coming soon |
This project helps you and you want to help keep it going? Buy me a coffee:
or via
https://saweria.co/saifulcoder