Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Dec 19, 2025. It is now read-only.

This project is a REST API wrapper for the whatsapp-web.js library, providing an easy-to-use interface to interact with the WhatsApp Web platform.

License

NotificationsYou must be signed in to change notification settings

chrishubert/whatsapp-api

Repository files navigation

WhatsApp REST API

REST API wrapper for thewhatsapp-web.js library, providing an easy-to-use interface to interact with the WhatsApp Web platform.It is designed to be used as a docker container, scalable, secure, and easy to integrate with other non-NodeJs projects.

This project is a work in progress: star it, create issues, features or pull requests ❣️

NOTE: I can't guarantee you will not be blocked by using this method, although it has worked for me. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.

Table of Contents

1. Quick Start with Docker

2. Features

3. Run Locally

4. Testing

5. Documentation

6. Deploy to Production

7. Contributing

8. License

9. Star History

Quick Start with Docker

dockeri.co

  1. Clone the repository:
git clone https://github.com/chrishubert/whatsapp-api.gitcd whatsapp-api
  1. Run the Docker Compose:
docker-compose pull&& docker-compose up
  1. Visithttp://localhost:3000/session/start/ABCD

  2. Scan the QR on your console using WhatsApp mobile app -> Linked Device -> Link a Device (it may take time to setup the session)

  3. Visithttp://localhost:3000/client/getContacts/ABCD

  4. EXTRA: Look at all the callbacks data in./session/message_log.txt

Quick Start

Features

  1. API and Callbacks
ActionsStatusSessionsStatusCallbacksStatus
Send Image MessageInitiate sessionCallback QR code
Send Video MessageTerminate sessionCallback new message
Send Audio MessageTerminate inactive sessionsCallback status change
Send Document MessageTerminate all sessionsCallback message media attachment
Send File URLHealthcheck
Send Button MessageLocal test callback
Send Contact Message
Send List Message
Set Status
Send Button With Media
Is On Whatsapp?
Download Profile Pic
User Status
Block/Unblock User
Update Profile Picture
Create Group
Leave Group
All Groups
Invite User
Make Admin
Demote Admin
Group Invite Code
Update Group Participants
Update Group Setting
Update Group Subject
Update Group Description
  1. Handle multiple client sessions (session data saved locally), identified by unique id

  2. All endpoints may be secured by a global API key

  3. On server start, all existing sessions are restored

  4. Set messages automatically as read

  5. Disable any of the callbacks

Run Locally

  1. Clone the repository:
git clone https://github.com/chrishubert/whatsapp-api.gitcd whatsapp-api
  1. Install the dependencies:
npm install
  1. Copy the.env.example file to.env and update the required environment variables:
cp .env.example .env
  1. Run the application:
npm run start
  1. Access the API athttp://localhost:3000

Testing

Run the test suite with the following command:

npm runtest

Documentation

API documentation can be found in theswagger.json file. See this file directly intoSwagger Editor or any other OpenAPI-compatible tool to view and interact with the API documentation.

This documentation is straightforward if you are familiar with whatsapp-web.js library (https://docs.wwebjs.dev/)If you are still confused - open an issue and I'll improve it.

Also, there is an option to run the documentation endpoint locally by setting theENABLE_SWAGGER_ENDPOINT environment variable. Restart the service and go to/api-docs endpoint to see it.

By default, all callback events are delivered to the webhook defined with theBASE_WEBHOOK_URL environment variable.This can be overridden by setting the*_WEBHOOK_URL environment variable, where* is your sessionId.For example, if you have the sessionId defined asDEMO, the environment variable must beDEMO_WEBHOOK_URL.

By setting theDISABLED_CALLBACKS environment variable you can specify what events you arenot willing to receive on your webhook.

Scanning QR code

In order to validate a new WhatsApp Web instance you need to scan the QR code using your mobile phone. Official documentation can be found at (https://faq.whatsapp.com/1079327266110265/?cms_platform=android) page. The service itself delivers the QR code content as a webhook event or you can use the REST endpoints (/session/qr/:sessionId or/session/qr/:sessionId/image to get the QR code as a png image).

Deploy to Production

  • Load the docker image in docker-compose, or your Kubernetes environment
  • Disable theENABLE_LOCAL_CALLBACK_EXAMPLE environment variable
  • Set theAPI_KEY environment variable to protect the REST endpoints
  • Run periodically the/api/terminateInactiveSessions endpoint to prevent useless sessions to take up space and resources(only in case you are not in control of the sessions)

Contributing

Please readCONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Disclaimer

This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or its affiliates. The official WhatsApp website can be found athttps://whatsapp.com. "WhatsApp" as well as related names, marks, emblems and images are registered trademarks of their respective owners.

License

This project is licensed under the MIT License - see theLICENSE.md file for details.

Star History

Star History Chart

About

This project is a REST API wrapper for the whatsapp-web.js library, providing an easy-to-use interface to interact with the WhatsApp Web platform.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors10


[8]ページ先頭

©2009-2026 Movatter.jp