Официальная платформа API WhatsApp, не зависящая от сервера TypeScript.
WhatsApp-API-JS v4
Список содержимого
Настраивать
Примеры и руководства
Типы
Журнал изменений
Документация
Авторы
Взносы
Критические изменения
Бета-релизы
Прежде всего вам понадобится приложение Meta Business с активированным WhatsApp API. Выполнив следующие действия, вы можете создать свое первое приложение.
Получите токен API, временный или постоянный.
Получите секрет вашего приложения на панели управления в разделе «Настройки приложения» > «Основные» > «Секрет приложения».
Более подробную информацию о том, как устанавливать и получать эти значения, можно найти в документации модуля.
Теперь вы можете установить модуль с помощью npm:
npm установить WhatsApp-api-js
Это позволит вам написать такой код:
import { WhatsAppAPI } из "whatsapp-api-js";import { Document, Image, Text } из "whatsapp-api-js/messages";// Доброе напоминание о том, что не следует жестко запрограммировать свой токен и secretconst TOKEN = "YOUR_TOKEN";const APP_SECRET = "ВАШ_СЕКРЕТ";/** @type WhatsAppAPI<номер> */const Whatsapp = новый WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// Предполагая, что сообщение вызывается по POST-запросу к вашей функции serverasync post(e) {// Слишком долго? Прочтите https://whatsappapijs.web.app/modules/middleware.htmlreturn await Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({phoneID, from, message, name, report }) => {console.log(`User ${name} (${from}) отправлено боту ${phoneID} ${JSON.stringify( message )}`);let response;if (message.type === "text") {response = await response(new Text(`*${name}* сказал:nn${message.text.body}`),true);}if (message.type === "image") {response = await response(new Image(message.image.id, true, `Nice photo, ${name}`));}if (message.type === "document") {response = await response(new Document(message.document.id, true, undefined, "Наш документ"));} console.log(response ??"Есть дополнительные типы сообщений, такие как контакты, " +"местоположения, шаблоны, интерактивные сообщения, реакции и " +"все остальные типы мультимедиа.");Whatsapp.markAsRead(phoneID, message.id);return 200;};Whatsapp.on.sent = ({phoneID, to, message }) => {console.log(`Бот ${phoneID} отправлен пользователю ${to} ${message}` );};
Чтобы получать обновления сообщений, вам необходимо настроить вебхук в своем мета-приложении. Вернувшись на панель управления, нажмите WhatsApp > Настройки, запишите URL-адрес своего веб-перехватчика и обязательно подпишитесь на события сообщений. Вам также будет предложено ввести токен подтверждения. Это может быть любая строка, которую вы хотите.
В пакет также входит обработчик GET для аутентификации веб-перехватчика:
import { WhatsAppAPI } из "whatsapp-api-js";const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";const VERIFY_TOKEN = "YOUR_VERIFY_TOKEN";const Whatsapp = новый WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// Предполагая, что get вызывается по GET-запросу к вашему серверу, функция get(e) {// Слишком долго!? Прочтите https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}
И все! Теперь у вас есть работающий бот WhatsApp, подключенный к вашему серверу. Для получения дополнительной информации о процессе установки для конкретных сред выполнения и платформ посетите файл Environments.md.
Есть несколько примеров, описывающих, как создавать сообщения каждого типа и как использовать основные методы библиотеки.
Посмотрите их в папке примеров.
Библиотека полностью типизирована. Большинство типов доступны путем импорта файлов /types
или /emitters
:
импортировать { GetParams, PostData } из «whatsapp-api-js/types»; импортировать { OnMessage, OnSent, OnStatus } из «whatsapp-api-js/emitters»;
Чтобы узнать, что изменилось между обновлениями, ознакомьтесь с выпусками на Github.
Документация по последнему выпуску доступна по адресу whatsappapijs.web.app, а предыдущие версии заархивированы по адресу secreto31126.github.io/whatsapp-api-js.
Ключ Эмодзи
Диего Каррильо | Омар | Рахул Ланджевар | Феликс Арджуна |
Если у вас есть немного свободного времени и вы действительно хотите улучшить библиотеку или исправить глупые ошибки, смело читайте файл CONTRIBUTING.md.
Полный список критических изменений вы можете получить в файле BREAKING.md.
Установите последнюю бета-версию с помощью npm install whatsapp-api-js@beta
. Как и любая бета-версия, она сломается с вероятностью 110%. Я также использую этот тег для тестирования выпусков npm. Используйте его на свой страх и риск.