WhatsApp API Nodejs-SDK

مقدمة

في هذا البرنامج التعليمي ، سوف نتعلم كيفية استخدام 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)
})(); 

ملاحظة: أنت بحاجة إلى استبدال example_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 أو chatID لجهة اتصال أو مجموعة ، على سبيل المثال [email protected] أو [email protected]
  • النص الأساسي : نص الرسالة أو سلسلة UTF-8 أو UTF-16 مع رموز تعبيرية.
  • الأولوية: هذه المعلمة اختيارية ،

يمكنك استخدامه لإنشاء قائمة انتظار احترافية للرسائل ، ويتم إرسال الرسائل ذات الأولوية الأقل قيمة أولاً.

مثال على الاستخدام:

الأولوية = 0: للأولوية العالية مثل رسائل OTP.

الأولوية = 5: تستخدم مع الرسائل العامة.

الأولوية = 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)
  • التسمية التوضيحية : Image Caption، UTF-8 أو UTF-16 string with emoji.
  • الصورة : صورة ارتباط HTTP أو ملف بترميز base64

الامتدادات المدعومة (jpg ، jpeg ، gif ، png ، svg ، webp ، bmp).

الحد الأقصى لحجم الملف: 16 ميجا بايت.

أقصى طول Base64 : 2،000،000

  • nocache : خطأ افتراضي

خطأ: استخدم ملفًا تم تحميله مسبقًا بدلاً من تحميله مع كل طلب

صحيح: تحميله كل طلب

إرسال ملف

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 …. etc).

الحد الأقصى لحجم الملف: 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)
  • الصوت : صوت ارتباط 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 أو ملف base64 ogg في برنامج ترميز التأليف

الحد الأقصى لحجم الملف: 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)
  • جهة الاتصال: مثال على معرّف جهة الاتصال أو مجموعة معرّفات جهات الاتصال:

مثال

[email protected]

أو

14000000001 @ c.us، 14000000002 @ c.us، 14000000003 @ c.us

الحد الأقصى للطول: 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 حرف.

  • خط العرض: خط العرض
  • lng : خط الطول

إرسال Vcard

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)
  • الصفحة : ترقيم الصفحات رقم الصفحة
  • الحد : عدد الرسائل لكل طلب. أقصى قيمة: 100.
  • الحالة : حالة الرسائل [مرسلة ، قائمة انتظار ، غير مرسلة]
    • مرسلة: تلقي الرسائل المرسلة.
    • قائمة الانتظار: احصل على رسائل قائمة الانتظار.
    • لم يتم إرسالها: احصل على رسائل لم يتم إرسالها.
    • غير صالح: احصل على رسائل غير صالحة.
    • الكل: احصل على كل الرسائل.
  • نوع :
    • تصاعدي: الرسائل مرتبة حسب المعرف من الأصغر إلى الأكبر.
    • وصف: الرسائل التي تم فرزها حسب المعرف من الأكبر إلى الأصغر.
  • المعرف : تصفية الرسائل حسب معرف الرسالة.
  • ReferenceId : تصفية الرسائل حسب المعرف المرجعي المخصص الخاص بك.
  • من : تصفية الرسائل حسب رقم مرسل WhatsApp على سبيل المثال [email protected].
  • إلى : تصفية الرسائل حسب رقم المستلم ، على سبيل المثال [email protected] أو [email protected].
  • ack : تصفية الرسائل حسب حالة 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: تشغيل / إيقاف تشغيل ack (تسليم الرسالة وعرضها) الإخطارات في webhooks.

webhook_message_received: تشغيل / إيقاف الإخطارات في webhooks عند استلام الرسالة.

webhook_message_create: تشغيل / إيقاف تشغيل الإشعارات في webhooks عند إنشاء الرسالة.

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 : صحيح / خطأ ack (تسليم الرسالة وعرض الرسالة) الإخطارات في webhooks.

احصل على قائمة الدردشات

const response = await api.getChats();
console.log(response)

الحصول على آخر رسالة من محادثة الدردشة

أقصى قيمة: 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)

احصل على معلومات الاتصال

معرف الدردشة: معرف الدردشة للاتصال على سبيل المثال [email protected]

var chatId="[email protected]"; 
const response = await api.getContact(chatId);
console.log(response)

يحصل على جميع جهات الاتصال المحظورة

const response = await api.getBlockedContacts();
console.log(response)

حظر جهة اتصال من WhatsApp

معرف الدردشة: معرف الدردشة للاتصال على سبيل المثال [email protected]

var chatId="[email protected]"; 
const response = await api.blockContact(chatId);
console.log(response)

قم بإلغاء حظر جهة الاتصال من WhatsApp

معرف الدردشة: معرف الدردشة للاتصال على سبيل المثال [email protected]

var chatId="[email protected]"; 
const response = await api.unblockContact(chatId);
console.log(response)

تحقق مما إذا كان الرقم هو مستخدم WhatsApp

معرف الدردشة: معرف الدردشة للاتصال على سبيل المثال [email protected]

var chatId="[email protected]"; 
const response = await api.checkContact(chatId);
console.log(response)

تلقي رسائل WhatsApp

يمكنك تلقي رسائل WhatsApp باستخدام webhooks ، يمكنك الاطلاع على هذه المقالة .

أخيراً

يمكنك زيارة المشروع على github

WhatsApp API Nodejs-sdk الإصدار الحالي: 1.0.1 على NPM