How to receive and process a notification using a server#
Installation#
npm i @green-api/whatsapp-api-client
Import#
There are several ways how to import the library to a project Using standard JavaScript
const whatsAppClient = require("@green-api/whatsapp-api-client");
Using ES6 JavaScript
import whatsAppClient from "@green-api/whatsapp-api-client";
Using TypeScript
import * as whatsAppClient from "@green-api/whatsapp-api-client";
How to initialize an object#
Store your authorization data separate from the code. The library allows you to create a file with an arbitrary name and location in the following format:
API_TOKEN_INSTANCE = "MY_API_TOKEN_INSTANCE"
ID_INSTANCE = "MY_ID_INSTANCE"
You can pass the keys using the below example:
const restAPI = whatsAppClient.restAPI(({
credentialsPath: "examples\\credentials"
}))
Examples#
You may see the full example at: ReceiveWebhook.js
How to receive and process a notification using a server#
Only works in Node.js with Express based
import whatsAppClient from '@green-api/whatsapp-api-client'
import express from "express";
import bodyParser from 'body-parser';
(async () => {
try {
// Set http url where webhooks will be sent to.
// Url must have a public address.
await restAPI.settings.setSettings({
webhookUrl: 'MY_HTTP_SERVER:3000/webhooks'
});
const app = express();
app.use(bodyParser.json());
const webHookAPI = whatsAppClient.webhookAPI(app, '/webhooks')
// Subscribe to the webhook event upon a message receipt
webHookAPI.onIncomingMessageText((data, idInstance, idMessage, sender, typeMessage, textMessage) => {
console.log(`outgoingMessageStatus data ${data.toString()}`)
});
// Start a web server with a public address
app.listen(3000, async () => {
console.log(`Started. App listening on port 3000!`)
const restAPI = whatsAppClient.restAPI(({
idInstance: MY_ID_INSTANCE,
apiTokenInstance: MY_API_TOKEN_INSTANCE
}));
// Send a text message to trigger webhook events
const response = await restAPI.message.sendMessage("79999999999@c.us", null, "hello world");
});
} catch (error) {
console.error(error);
process.exit(1);
}
})();
The full list of examples#
Description | Module |
---|---|
Example of sending text using Async | SendWhatsAppMessageAsync.js |
Example of sending text using Callback | SendWhatsAppMessageCallback.js |
Example of sending a picture by URL | SendWhatsAppFileUrl.js |
Example of sending a picture by uploading from the disk | SendWhatsAppFileUpload.js |
Example of receiving an incoming notification with the receiveNotification method | ReceiveNotifications.js |
Example of receiving a webhook endpoint notification on the local machine | SampleReceiveWebhook.js |
Example of receiving a webhook endpoint notification on the local machine | SampleReceiveWebhook.js |
Example of receiving incoming notifications via webhook service REST API | StartReceivingNotifications.js |
Example of receiving incoming notifications to a server | ReceiveWebhook.js |
Example of getting a QR code via HTTP | getQRCode.js |
Example of getting a QR code via websocket | getQRCodeWebsocket.js |