Node.js SDK for WhatsApp Business Platform APIs
An unofficial SDK for Meta's WhatsApp Business Messaging APIs - Cloud API.
Originally a fork of the
deprecated official SDK for Meta's WhatsApp Business Messaging APIs.
Getting started
ESM Import:
import Client from "@great-detail/whatsapp";
CJS Import:
const Client = require("@great-detail/whatsapp").default;
Usage:
const sdk = new Client();
const message = await sdk.message.createMessage({
phoneNumberID: "123...809",
to: "1234567890",
type: "text",
text: {
body: "Hello",
},
request: {
headers: {
Authorization: "Bearer ...",
},
},
});
Installation
Install the WhatsApp Business Platform SDK:
npm install @great-detail/whatsapp
yarn add @great-detail/whatsapp
pnpm add @great-detail/whatsapp
CLI Usage
export WHATSAPP_ACCESS_TOKEN=""
export WHATSAPP_PHONE_NUMBER_ID=""
npx @great-detail/whatsapp ...
yarn dlx @great-detail/whatsapp ...
pnpx @great-detail/whatsapp ...
npx @great-detail/whatsapp message send text "<RECIPIENT>" --body="Hello, World!"
npx @great-detail/whatsapp media upload --mime-type="<MIME_TYPE>" < "<FILE_FROM_STDIN>"
npx @great-detail/whatsapp media get-url "<MEDIA_ID>"
npx @great-detail/whatsapp media download "<MEDIA_URL>" > "<FILE_TO_STDOUT>"
Compatibility
This SDK is designed to be compatible with the Cloud API API.
SDK | Cloud API | NodeJS |
---|
v7.x | v20 | v18+ |
Whilst the SDK may work with alternative versions of the Graph API, it is
designed to work with the above. If you find any compatibility issues, please
report them via
GitHub Issues.
Tested on NodeJS: v21
, v22
, v23
.
Additional NodeJS versions may also work, however, automated testing requires
NodeJS' test suite, which was introduced in v21
.
TODO
There are a number of features supported by the WhatsApp Business Cloud API that
are yet to be implemented in this SDK. Please feel free to contribute via a Pull
Request, or note your interest in particular features by creating an issue for
it.
License
The WhatsApp Business Platform Node.js SDK for the Cloud API is Meta Platforms
licensed, as found in the LICENSE file.