Как принять и обработать уведомления используя сервер#
Установка#
npm i @green-api/whatsapp-api-client
Import#
Есть несколько способов импортировать библиотеку в проект Используя классический javascript
const whatsAppClient = require("@green-api/whatsapp-api-client");
import whatsAppClient from "@green-api/whatsapp-api-client";
import * as whatsAppClient from "@green-api/whatsapp-api-client";
Как инициализировать объект#
Храните Ваши авторизационные данные отдельно от кода. Библиотека позволяет создать файл с произвольным именем и местом в следующем формате:
API_TOKEN_INSTANCE = "MY_API_TOKEN_INSTANCE"
ID_INSTANCE = "MY_ID_INSTANCE"
const restAPI = whatsAppClient.restAPI(({
credentialsPath: "examples\\credentials"
}))
Примеры#
Полный пример можно посмотреть по ссылке: ReceiveWebhook.js
Как принять и обработать уведомления используя сервер#
Работает только в node js с на базе express
import whatsAppClient from '@green-api/whatsapp-api-client'
import express from "express";
import bodyParser from 'body-parser';
(async () => {
try {
// Устанавливаем http url ссылку, куда будут отправляться вебхуки.
// Ссылка должна иметь публичный адрес.
await restAPI.settings.setSettings({
webhookUrl: 'MY_HTTP_SERVER:3000/webhooks'
});
const app = express();
app.use(bodyParser.json());
const webHookAPI = whatsAppClient.webhookAPI(app, '/webhooks')
// Подписываемся на событие вебхука при получении сообщения
webHookAPI.onIncomingMessageText((data, idInstance, idMessage, sender, typeMessage, textMessage) => {
console.log(`outgoingMessageStatus data ${data.toString()}`)
});
// Запускаем веб сервер, имеющий публичный адрес
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
}));
// Отправляем тестовое сообщение, для того чтобы сработали события вебхуков
const response = await restAPI.message.sendMessage("79999999999@c.us", null, "hello world");
});
} catch (error) {
console.error(error);
process.exit(1);
}
})();
Полный список примеров#
Описание | Модуль |
---|---|
Пример отправки текста используя Async | SendWhatsAppMessageAsync.js |
Пример отправки текста используя Callback | SendWhatsAppMessageCallback.js |
Пример отправки картинки по URL | SendWhatsAppFileUrl.js |
Пример отправки картинки загрузкой с диска | SendWhatsAppFileUpload.js |
Пример получения входящего уведомления методом receiveNotification | ReceiveNotifications.js |
Пример получения входящих уведомлений через webhook service REST API | StartReceivingNotifications.js |
Пример получения входящих уведомлений на сервер | ReceiveWebhook.js |
Пример получения QR кода по HTTP | getQRCode.js |
Пример получения QR кода по websocket | getQRCodeWebsocket.js |