كيفية جدولة رسالة SMS في لغة R
أبسط طريقة لإرسال رسائل SMS مجدولة من لغة R هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK لطلبك.
كود R لإرسال رسالة SMS مجدولة إلى الهاتف المحمول
يوضح مثال كود R لرسائل SMS أدناه كيف يمكنك إرسال رسالة SMS مجدولة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في لغة R. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.Rlibrary(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$new( username = "http_user", password = "qwe123", api_url = "http://127.0.0.1:9509/api" ) msg <- Ozeki.Libs.Rest::Message$new() msg$to_address <- "+36201111111" msg$text <- "Hello world!" msg$time_to_send <- "2021-07-13T14:00:00" api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$send(msg) print(result$to_string())
كيفية استخدام مثال R لرسائل SMS:
يمكن استخدام مثال R لرسائل SMS هذا في أي تطبيق R. لاستخدامه، يجب عليك تنزيل مكتبة Ozeki.Libs.Rest. بعد تنزيل المكتبة، تحتاج إلى إضافة مرجع إليها في كود المصدر الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة. يمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendScheduledSms.R
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendScheduledSms.R.zip (391B)
ما الموجود في ملف SendScheduledSms.R.zip؟
في ملف SendScheduledSms.R.zip ستجد ملف SendScheduledSms.R، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسالة SMS من لغة R (إرشادات بسيطة)
لإرسال رسالة SMS من لغة R:
- تثبيت مستخدم HTTP API
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- إعداد Visual Studio
- تنزيل ثم استخراج ملف SendScheduledSms.R.zip
- تشغيل تطبيق Ozeki SMS Gateway
- تشغيل كود R SendScheduledSms.R باستخدام موجه الأوامر
- التحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS من لغة R، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود R الخاص بك.
رابط HTTP API لاستخدامه في إرسال رسائل SMS من لغة R
لإرسال رسائل SMS من لغة R، سيتعين على R إصدار طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا تم تثبيت Ozeki SMS Gateway على نفس الكمبيوتر الذي يعمل عليه تطبيق R لرسائل SMS، يمكن أن يكون هذا العنوان 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدامها في إرسال رسائل SMS من لغة R
لمصادقة عميل R لرسائل SMS، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في لغة R يمكنك استخدام الكود التالي لإجراء هذا التشفير:
username_password <- paste(username, ":", password, sep="") username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste("Basic", username_password_encoded, sep=" "))
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، ستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال رسائل SMS من لغة R
لإرسال رسائل SMS، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال رسالة SMS من R
لإرسال الرسالة القصيرة، سيقوم تطبيق R الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتكون من جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم، النص والوقت الذي نريد إرسال الرسالة فيه.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 329 Content-Type: application/json Accept: application/json Accept-Encoding: deflate, gzip Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: libcurl/7.64.1 r-curl/4.3.2 httr/1.4.2 { "messages": [ { "message_id": "5540aa51-c82d-4813-bbbe-d15919bb8b50", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-07-13T12:46:23", "valid_until": "2021-07-20T12:46:23", "time_to_send": "2021-07-13T15:00:00", "is_submit_report_requested": true, "is_delivery_report_requested": true, "is_view_report_requested": true } ] }
استجابة HTTP المستلمة من مثال R لرسائل SMS
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 13 Jul 2021 14:44:12 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "5540aa51-c82d-4813-bbbe-d15919bb8b50", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-13 12:46:23", "valid_until": "2021-07-20 12:46:23", "time_to_send": "2021-07-13 15:00:00", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال رسائل SMS من R باستخدام واجهة برمجة تطبيقات R لرسائل SMS (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل ملف SendScheduledSms.R.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendScheduledSms.R.zip يتم وضعها على سطح مكتب Windows. سترى أيضًا أننا نفتح موجه الأوامر لإرسال الرسالة القصيرة.
مثال R لرسائل SMS: SendScheduledSms.R
كود المثال أدناه هو جزء من ملف SendScheduledSms.R.
كيفية التحقق من قبول HTTP user لرسالة SMS
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يوضح لك الفيديو التالي ما الذي تبحث عنه.
ملخص
كان الهدف من المقالة أعلاه شرح خطوات جدولة الرسائل القصيرة في R بمساعدة بوابة Ozeki للرسائل القصيرة. مع هذا الحل، أصبح تأجيل الرسائل ممكنًا، مما يتيح لك الفرصة للوصول إلى العملاء في الوقت المثالي، عندما لا يكونون مشغولين ويلاحظون رسالتك. بهذه الطريقة، يمكن تحسين الأداء وصورة الصديقة للعميل. تعمل بوابة Ozeki للرسائل القصيرة في بيئة تتحكم بها، لذا فإن قائمة الاتصال والبيانات في أيدٍ أمينة.
تابع القراءة على صفحة البرامج التعليمية لـ Ozeki، حيث يمكنك العثور على المزيد من المعلومات حول مواضيع مثل حذفها في R.
الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل القصيرة والبدء في العمل!
More information
- إرسال SMS بـ R باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- إرسال عدة رسائل SMS بـ R باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- جدولة SMS بـ R باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- استقبال SMS بـ R باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- حذف SMS بـ R باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة SMS لـ R من Github