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

Appearance settings

wapikit/wapi.js

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@wapijs/wapi.js


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.

Packages:

  • @wapijs/wapi.js: Interact with WhatsApp cloud API with simple and easy-to-manage code.
  • @wapijs/create-wapi-app: Start with the development of your WhatsApp bot using this starter template utility.

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

  • Message Structures: Refer to the WhatsApp Docs here.

  • Notification Payloads: Details can be found here.

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

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

For detailed guidelines, check Contributing.md.

License

Distributed under the Apache 2.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.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.