Visit the documentation of the SDK here
Status
Beta Version - This SDK is not stable right now. It is currently in beta version. Report issues here.
About
Wapi.js is a JavaScript module, written in TypeScript, designed to interact with the WhatsApp cloud API in a user-friendly manner.
Features
- Object-Oriented Architecture
- Single Client Model
- Send Messages with the least configuration
- Event Listener for Notifications (support both User and System Notifications)
- Upload Media to WhatsApp servers
- Reply and React to incoming messages.
Installation
Ensure you have the Node.js 18 LTS version to use this SDK.
npm install @wapijs/wapi.js
yarn add @wapijs/wapi.js
pnpm install @wapijs/wapi.js
Note: This SDK is not affiliated with the official WhatsApp Cloud API or does not act as any official solution provided the the Meta Inclusive Private Limited, this is just a open source SDK built for developers to support them in building whatsapp cloud api based chat bots easily.
Usage
- Kickstart your first WhatsApp application with Wapi.js. Check the User Manual.
- You can check out the example WhatsApp bot here. Example Chatbot
- You can get started with the development of your bot with this starter template utility.
pnpm create-wapi-app
References
Example Usage
import { Client, TextMessage } from 'wapi.js'
const whatsappClient = new Client({
apiAccessToken: process.env.WHATSAPP_API_ACCESS_TOKEN,
businessAccountId: process.env.WHATSAPP_BUSINESS_ACCOUNT_ID,
phoneNumberId: process.env.WHATSAPP_PHONE_NUMBER_ID,
port: 8080,
webhookEndpoint: '/webhook',
webhookSecret: process.env.WHATSAPP_WEBHOOK_SECRET
})
await whatsappClient.message.send({
message: new TextMessage({ text: 'hiii, this is wapijs SDK' }),
phoneNumber: 'XXXXXXXXXX'
})
whatsappClient.on('TextMessage', (message) => {
console.log(message)
})
whatsappClient.on('TextMessage', async (message) => {
message.reply({
message: new TextMessage({ text: 'hiii, this is wapijs SDK' }),,
})
})
whatsappClient.initiate()
Upcoming features:
Contribution Guidelines
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
For detailed guidelines, check Contributing.md.
License
Distributed under the AGPL 3.0 License. View LICENSE.
Contact
Note: This SDK is part of an open-source product-building initiative by Softlancer, and this repository will soon be moved under the same organization.