Введение
В этом руководстве мы узнаем, как использовать Ultramsg Nodejs-WhatsApp-sdk для использования WhatsAppAPI с Nodejs.
Установка WhatsApp API Nodejs-sdk
npm i ultramsg-whatsapp-api
Пример использования
const ultramsg = require('ultramsg-whatsapp-api');
const instance_id= "instance1150" // Ultramsg.com instance id
const ultramsg_token= "tof7lsdJasdloaa57e" // Ultramsg.com token
const api = new ultramsg(instance_id,ultramsg_token);
(async function () {
var to = "put_your_mobile_number_here"
var body = "Hello world"
const response = await api.sendChatMessage(to,body);
console.log(response)
})();
ПРИМЕЧАНИЕ. Вам необходимо заменить instance_id и токен на свои в учетной записи ultramsg.com, если у вас нет учетной записи, создайте ее здесь .
Отправить сообщение
var to="put_your_mobile_number_here";
var body="Hello world";
var priority=10;
var referenceId="SDK";
const response = await api.sendChatMessage(to,body,priority,referenceId);
console.log(response)
- Кому: ваш номер для тестирования в международном формате, например, +14155552671, или идентификатор чата для контакта или группы, например, [email protected] или [email protected]
- body : Текст сообщения, строка UTF-8 или UTF-16 с эмодзи.
- приоритет: этот параметр является необязательным,
Вы можете использовать его для создания профессиональной очереди для сообщений . Сообщения с меньшим значением приоритета отправляются первыми.
пример использования:
приоритет = 0: для высокого приоритета, например, для сообщений OTP.
приоритет = 5: используется с общими сообщениями.
priority =10: несрочные рекламные предложения и уведомления для ваших клиентов.
Значение по умолчанию: 10
- referenceId : Ваш пользовательский идентификатор ссылки для этого сообщения.
Отправить изображение
var to="put_your_mobile_number_here";
var caption="image Caption";
var image="https://file-example.s3-accelerate.amazonaws.com/images/test.jpg";
var priority=10;
var referenceId="SDK"
var nocache=false;
const response = await api.sendImageMessage(to,caption,image,priority,referenceId,nocache);
console.log(response)
- caption : Подпись к изображению, строка UTF-8 или UTF-16 с эмодзи.
- image : изображение HTTP-ссылки или файл в кодировке base64.
Поддерживаемые расширения (jpg, jpeg, gif, png, svg, webp, bmp).
Максимальный размер файла: 16 МБ.
Максимальная длина Base64 : 2 000 000
- nocache : по умолчанию false
false: использовать ранее загруженный файл вместо загрузки его с каждым запросом
true: загрузка при каждом запросе
Отправить документ
var to="put_your_mobile_number_here";
var filename="cv.pdf";
var document="https://file-example.s3-accelerate.amazonaws.com/documents/cv.pdf";
const response = await api.sendDocumentMessage(to,filename,document);
console.log(response)
- имя файла: имя файла, например 1.jpg или Hello.pdf
- документ: файл ссылки HTTP или файл в кодировке base64
Поддерживается большинство расширений, таких как (zip, xlsx, csv, txt, pptx, docx и т. д.).
Максимальный размер файла: 100 МБ.
Максимальная длина Base64: 2 000 000
Отправить аудио
var to="put_your_mobile_number_here";
var audio="https://file-example.s3-accelerate.amazonaws.com/audio/2.mp3";
const response = await api.sendAudioMessage(to,audio);
console.log(response)
- audio : аудио по ссылке HTTP или аудио в кодировке base64.
Поддерживаемые расширения (mp3, aac, ogg).
Максимальный размер файла: 16 МБ.
Максимальная длина Base64: 2 000 000
Отправить голос
var to="put_your_mobile_number_here";
var audio="https://file-example.s3-accelerate.amazonaws.com/voice/oog_example.ogg";
const response = await api.sendVoiceMessage(to,audio);
console.log(response)
- аудио : аудиофайл ogg по ссылке HTTP с кодеком opus или файл ogg base64 в кодеке opus
Максимальный размер файла: 16 МБ.
Максимальная длина Base64: 2 000 000
Отправить видео
var to="put_your_mobile_number_here";
var caption="video Caption";
var video="https://file-example.s3-accelerate.amazonaws.com/video/test.mp4";
const response = await api.sendVideoMessage(to,caption,video);
console.log(response)
- видео : видео с HTTP-ссылкой или видео в кодировке base64.
Поддерживаемые расширения (mp4, 3gp, mov).
Максимальный размер файла: 16 МБ.
Максимальная длина Base64: 2 000 000
Отправить ссылку
var to="put_your_mobile_number_here";
var link="https://ultramsg.com";
const response = await api.sendLinkMessage(to,link);
console.log(response)
ссылка: ссылка HTTP или HTTPS
Отправить контакт
var to="put_your_mobile_number_here";
var contact="[email protected]";
const response = await api.sendContactMessage(to,contact);
console.log(response)
- contact: Contact ID или пример массива Contact ID:
Пример
или
[email protected], [email protected], [email protected]
Максимальная длина: 300 символов, почти 15 контактов
Отправить местоположение
var to="put_your_mobile_number_here";
var address="ABC company \n Sixth floor , office 38";
var lat="25.197197";
var lng="55.2721877";
const response = await api.sendLocationMessage(to,address,lat,lng);
console.log(response)
- адрес : текст под местоположением.
Поддерживает две линии. Чтобы использовать две строки, используйте символ \n.
Максимальная длина: 300 символов.
- лат : Широта
- долгота : долгота
Отправить открытку
var to="put_your_mobile_number_here";
var vcard=`BEGIN:VCARD
VERSION:3.0
N:lastname;firstname
FN:firstname lastname
TEL;TYPE=CELL;waid=14000000001:14000000002
NICKNAME:nickname
BDAY:01.01.1987
X-GENDER:M
NOTE:note
ADR;TYPE=home
ADR;TYPE=work
END:VCARD`;
const response = await api.sendVcardMessage(to,vcard);
console.log(response)
- vcard : Текстовое значение vcard 3.0
Максимальная длина: 4096 символов
Получить сообщения
var page=1;
var limit=100;
var status="all";
var sort="asc";
var id="";
var referenceId="";
var from="";
var to="";
var ack="";
const response = await api.getMessages(page,limit,status,sort,id,referenceId,from,to,ack);
console.log(response)
- page : номер страницы пагинации
- limit : количество сообщений на запрос . максимальное значение: 100.
- статус : статус сообщений [отправлено, очередь, неотправлено]
- отправлено: получать отправленные сообщения.
- очередь : получить сообщения очереди .
- unsent: получить неотправленные сообщения.
- неверный: получить недопустимые сообщения.
- all: получить все сообщения.
- Сорт :
- asc: сообщения отсортированы по идентификатору от меньшего к большему.
- desc : сообщения отсортированы по идентификатору от большего к меньшему .
- id : фильтровать сообщения по идентификатору сообщения.
- referenceId : фильтрация сообщений по вашему пользовательскому идентификатору ссылки.
- from : фильтровать сообщения по номеру отправителя WhatsApp, например, [email protected].
- to : фильтровать сообщения по номеру получателя, например, [email protected] или [email protected].
- ack : фильтрация сообщений по статусу подтверждения сообщения [ожидание, сервер, устройство, прочитано, воспроизведено].
Получить статистику сообщений
const response = await api.getMessageStatistics();
console.log(response)
Получить статус экземпляра
const response = await api.getInstanceStatus();
console.log(response)
Получить QR-изображение экземпляра
const response = await api.getInstanceQr();
console.log(response)
Получить QR-код экземпляра
const response = await api.getInstanceQrCode();
console.log(response)
Получить информацию об экземпляре
Получите информацию о подключенном телефоне: номер, имя, изображение и т. д.
const response = await api.getInstanceMe();
console.log(response)
Получить настройки экземпляра
const response = await api.getInstanceSettings();
console.log(response)
sendDelay : Задержка в секундах между отправкой сообщения, по умолчанию 1 секунда
webhook_url: Http или https URL для получения уведомлений.
webhook_message_ack : включение/выключение подтверждения (сообщение доставлено и просмотрено) в веб-перехватчиках.
webhook_message_received : включение/выключение уведомлений в вебхуках при получении сообщения.
webhook_message_create : включить/выключить уведомления в вебхуках при создании сообщения.
webhook_message_download_media : вкл/выкл для получения полученных документов/медиафайлов.
Выход из экземпляра
Выйдите из WhatsApp Web, чтобы получить новый QR-код.
const response = await api.sendInstanceLogout();
console.log(response)
Перезапуск экземпляра
Перезапустите свой экземпляр.
const response = await api.sendInstanceRestart();
console.log(response)
Обновление настроек экземпляра
var sendDelay=1;
var webhook_url="";
var webhook_message_received=false;
var webhook_message_create=false;
var webhook_message_ack=false;
var webhook_message_download_media=false;
const response = await api.sendInstanceSettings(sendDelay,webhook_url,webhook_message_received,webhook_message_create,webhook_message_ack,webhook_message_download_media);
console.log(response)
- sendDelay : Задержка в секундах между отправкой сообщения.
- webhook_url : Http или https URL для получения уведомлений.
- webhook_message_received : истинные/ложные уведомления в веб-перехватчиках при получении сообщения.
- webhook_message_create : истинные/ложные уведомления в веб-перехватчиках при создании сообщения.
- webhook_message_ack : true/false ack (сообщение доставлено и просмотрено) уведомления в веб-перехватчиках.
Получить список чатов
const response = await api.getChats();
console.log(response)
получить последнее сообщение из чата
- chatId : идентификатор чата для контакта или группы, например [email protected] или [email protected]
- limit : количество сообщений на запрос .
максимальное значение: 1000.
var chatId="[email protected]";
var limit=100;
const response = await api.getChatsMessages(chatId,limit);
console.log(response)
Получить список контактов
const response = await api.getContacts();
console.log(response)
Получить контактную информацию
chatId : идентификатор чата для контакта, например [email protected]
var chatId="[email protected]";
const response = await api.getContact(chatId);
console.log(response)
Получает все заблокированные контакты
const response = await api.getBlockedContacts();
console.log(response)
заблокировать контакт из WhatsApp
chatId : идентификатор чата для контакта, например [email protected]
var chatId="[email protected]";
const response = await api.blockContact(chatId);
console.log(response)
Разблокировать контакт из WhatsApp
chatId : идентификатор чата для контакта, например [email protected]
var chatId="[email protected]";
const response = await api.unblockContact(chatId);
console.log(response)
Проверьте, является ли номер пользователем WhatsApp
chatId : идентификатор чата для контакта, например [email protected]
var chatId="[email protected]";
const response = await api.checkContact(chatId);
console.log(response)
Получать сообщения WhatsApp
вы можете получать сообщения WhatsApp с помощью веб-хуков, вы можете увидеть эту статью .
Окончательно
Вы можете посетить проект на github
WhatsApp API Nodejs-sdk, текущая версия: 1.0.1 на NPM