مقدمة
في هذا البرنامج التعليمي ، سوف نتعلم كيفية استخدام 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
- 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)
- التسمية التوضيحية : 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)
- جهة الاتصال: مثال على معرّف جهة الاتصال أو مجموعة معرّفات جهات الاتصال:
مثال
أو
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)
الحصول على آخر رسالة من محادثة الدردشة
- chatId : chatID لجهة اتصال أو مجموعة على سبيل المثال [email protected] أو [email protected]
- الحد : عدد الرسائل لكل طلب.
أقصى قيمة: 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