WhatsApp API Nodejs-SDK

Contents hide

Введение

В этом руководстве мы узнаем, как использовать 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

Отправить изображение

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], [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