واجهة برمجة التطبيقات HTTP - إجراء 'إرسال رسالة'
يمكن استخدام أمر واجهة برمجة التطبيقات HTTP هذا لإرسال رسالة SMS عبر بوابة الرسائل القصيرة. يمكن استخدام الأمر لإرسال رسائل نصية أو أنواع أخرى من الرسائل مثل الرسائل الثنائية، وشعارات المشغل، ونغمات الرنين، ودفع WAP، إلخ... عند استخدام هذا الأمر، يجب استخدام اسم مستخدم وكلمة مرور واجهة برمجة التطبيقات HTTP، ويجب تحديد رقم هاتف المستلم ونص الرسالة.
الوصف
لإرسال رسالة SMS، استخدم تنسيق URL التالي:
https://127.0.0.1:9508/api?action=sendmessage&username=UUUUU&password=PPPPP&
recipient=NNNNN&messagetype=MMMMM&messagedata=DDDDD
127.0.0.1 هو عنوان IP محلي، لذا يرجى استبداله بعنوان IP أو اسم المضيف للكمبيوتر الذي يحتوي على بوابة Ozeki SMS Gateway المثبتة. (ملاحظة: 127.0.0.1 هو عنوان loopback محلي يمكن استخدامه عند الاتصال ببوابة الرسائل القصيرة من نفس الكمبيوتر.) 9508 هو المنفذ الافتراضي لواجهة برمجة التطبيقات HTTP لبوابة Ozeki SMS. يمكن عرض وتعديل رقم المنفذ هذا في واجهة المستخدم لبوابة Ozeki 10 SMS Gateway، بالنقر على زر Advanced في شريط الأدوات.
يجب استبدال "UUUUU" و "PPPPP" باسم المستخدم وكلمة المرور الخاصة بـ المستخدم الذي قمت بإنشائه في بوابة الرسائل القصيرة.
استبدل "NNNNN" برقم الهاتف الذي ترغب في إرسال الرسالة إليه. يمكنك استخدام تنسيق رقم الهاتف المحلي أو تنسيق رقم الهاتف الدولي (تبدأ أرقام الهواتف الدولية دائمًا بعلامة '+'). إذا تم استخدام تنسيق رقم الهاتف الدولي، لاحظ أنه يجب استبدال '+' بـ '%2B' بسبب قواعد ترميز URL.
يرجى استبدال "MMMMM" بنوع الرسالة. يجب استخدام نوع الرسالة "SMS:TEXT" للرسائل النصية.
تحتوي بيانات الرسالة على الرسالة التي ترغب في إرسالها. ضع بيانات الرسالة بدلاً من "DDDDD". يجب أن تستخدم بيانات الرسالة أحرف UTF-8 ويجب أن تكون مشفرة URL.
يمكن أيضًا إضافة معلمات أخرى إلى الطلب.
للحصول على قائمة كاملة بالمعلمات المتاحة، يرجى الاطلاع على جدول 'معلمات الطلب' أدناه:
مثال على طلب URL
https://127.0.0.1:9508/api?action=sendmessage&username=admin&password=abc123&
recipient=06203105366&messagetype=SMS:TEXT&messagedata=Hello+World
مثال على الرد
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: 246 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE smsapi PUBLIC "-//OZEKI//DTD XML 1.0//EN" "http://www.ozekisms.com/DTD/smsapi.xml"> <response> <action>sendmessage</action> <data> <acceptreport> <statuscode>0</statuscode> <statusmessage>تم قبول الرسالة للتسليم</statusmessage> <messageid>ERFAV23D</messageid> <recipient>06203105366</recipient> </acceptreport> </data> </response>معلمات طلب HTTP
المعلمة | الوصف | القيم الممكنة | مثال | إجباري/اختياري* |
action | يحدد أمر واجهة برمجة تطبيقات HTTP | sendmessage | action=sendmessage | إجباري |
username | يحدد اسم المستخدم. تُستخدم معلمات اسم المستخدم وكلمة المرور لمصادقة المستخدم. عند إرسال رسالة، سيتم إرسالها باسم المستخدم المصادق عليه. يجب أن تكون القيمة مشفرة بالرابط. | قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | username=admin | إجباري |
password | يحدد كلمة المرور. تُستخدم معلمات اسم المستخدم وكلمة المرور لمصادقة المستخدم. عند إرسال رسالة، سيتم إرسالها باسم المستخدم المصادق عليه. يجب أن تكون القيمة مشفرة بالرابط. | قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | password=abc123 | إجباري |
originator | يحدد عنوان المرسل. ستظهر هذه المعلومات على الهاتف المحمول الذي يستقبل الرسالة. هذا هو عنوان المرسل. يمكن أن يكون رقم هاتف أو رمز قصير أو عنوان مرسل أبجدي رقمي. يمكن تنسيق رقم الهاتف بالتنسيق المحلي (مثل 06201234567) أو بالتنسيق الدولي (مثل +36201234567). إذا كنت تستخدم عنوان مرسل أبجدي رقمي (مثل ozeki)، فيجب ترميز الأحرف بـ UTF8 ويجب أن تكون القيمة مشفرة بالرابط. | قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | originator=%2B36201112222 | اختياري |
recipient | يحدد رقم هاتف المستلم.
سيتم إرسال الرسالة إلى هذا الرقم. يمكن تحديد رقم الهاتف
بالتنسيق المحلي (مثل 06201234567)، أو بالتنسيق الدولي
(مثل +36201234567). يمكن فصل أكثر من عنوان مستلم بنقطتين (مثل: +36201234567,+36202222222) أو بفاصلة منقوطة. يجب أن تكون القيمة مشفرة بالرابط. |
قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | recipient=%2B36201234567 | إجباري |
messagetype | يحدد نوع الرسالة.
نوع بيانات رسالة SMS بناءً على
مواصفات نوع الرسالة المحمولة.
بالنسبة للرسائل النصية، ستكون بيانات الرسالة نصًا عاديًا، وبالنسبة لأنواع الرسائل الأخرى
ستكون مستند XML.
|
SMS:TEXT SMS:WAPPUSH ... يمكن العثور على القيم الممكنة في مواصفات نوع الرسالة المحمولة |
messagetype=SMS:TEXT | اختياري |
messagedata | يحدد نص أو بيانات رسالة SMS. يجب ترميز القيمة بـ UTF8 ويجب أن تكون مشفرة بالرابط. | قيمة نصية، الحد الأقصى للطول هو 32768 حرفًا | messagedata=Hello+World | إجباري |
_charset_ | يحدد مجموعة الأحرف للبيانات المشفرة (إذا لم يتم تحديدها، سيتم افتراض utf-8).
يجب أن تقوم المتصفحات الأحدث بتعيين قيمة _charset_ تلقائيًا. إذا كان
متصفحك لا يدعم هذه الميزة، يمكنك تعيينها يدويًا إلى: |
utf-8 windows-1250 iso-8859-1 iso-8859-2 ... (قيم مجموعات الأحرف المدعومة) |
_charset_=iso-8859-2 | اختياري |
serviceprovider | يحدد اسم موصل مودم GSM أو موفر خدمة IP SMS
الذي سيتم استخدامه لإرسال الرسالة.
المزيد من المعلومات حول اختيار موصل موفر الخدمة متاحة في
دليل توجيه رسائل SMS عبر HTTP.
يجب أن تتطابق القيمة مع السلسلة المحددة في نموذج التهيئة لموصل موفر الخدمة. |
قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | serviceprovider=Vodafone | اختياري |
sendondate | يحدد التاريخ والوقت الذي يجب إرسال الرسالة فيه.
يجب أن تستخدم القيمة تنسيق التاريخ التالي: YYYY-MM-DD hh:mm:ss. يجب أن تكون القيمة مشفرة بالرابط |
قيمة تاريخ بتنسيق YYYY-MM-DD hh:mm:ss | sendondate=2018-12-12+10%3A07%3A05 | اختياري |
responseformat | بعد أن يقوم البوابة بإرسال رسالة SMS، ستعود البوابة بصفحة ويب تشير إلى أن الرسالة قد تم إرسالها بنجاح. يتم تنسيق محتوى صفحة الويب وفقًا لمعلمة responseformat. يمكنك الحصول على استجابة نصية HTML لتسهيل قراءتها من قبل البشر أو يمكنك الحصول على تنسيق XML لتسهيل معالجة الاستجابة بواسطة البرامج. |
xml (افتراضي) html urlencoded |
responseformat=xml | اختياري |
continueurl | بعد أن يقوم البوابة بإرسال رسالة SMS، ستعود البوابة بصفحة ويب تشير إلى أن الرسالة قد تم إرسالها بنجاح. يتم
تنسيق محتوى صفحة الويب وفقًا لمعلمة responseformat. إذا تم تعيين معلمة responseformat على html، يمكن أن تحتوي صفحة الويب
على رابط "متابعة". إذا قمت بتحديد عنوان URL في هذه المعلمة،
سيتم عرض رابط المتابعة وسيشير إلى العنوان المحدد.
يجب أن تكون قيمة العنوان URL مشفرة بالرابط.
يمكن أن يحتوي عنوان URL الذي تحدده على كلمات رئيسية سيتم استبدالها بمعلومات الحالة المتعلقة بالرسالة المرسلة. المزيد من المعلومات حول الكلمات الرئيسية الممكنة متاحة في دليل "كلمات رئيسية لعنوان URL للإرسال". |
قيمة نصية، الحد الأقصى للطول هو 1024 حرفًا | continueurl=192.168.1.23 أو continueurl=http%3A%2F%2Fwww.ozekisms. com%2Findex.php%3Fowpn%3D159 ملاحظة: المثال الثاني يحتوي على عنوان URL مشفر. |
اختياري |
redirecturl | بعد أن يقوم البوابة بإرسال رسالة SMS، ستعود البوابة افتراضيًا بصفحة ويب تشير إلى أن الرسالة قد تم إرسالها بنجاح. يمكنك اختياريًا
أن تطلب من البوابة إعادة توجيه المتصفح تلقائيًا إلى عنوان URL تحدده. إذا قمت بتحديد عنوان URL في
معلمة redirect، فسيحتوي رد HTTP المرسل
بواسطة بوابة SMS على عنوان URL إعادة توجيه في رأس HTTP. هذا
سيعلم متصفح الويب باتباع الرابط الذي حددته. يجب أن تكون
قيمة العنوان URL
مشفرة بالرابط.
يمكن أن يحتوي عنوان URL الذي تحدده على كلمات رئيسية سيتم استبدالها بمعلومات الحالة المتعلقة بالرسالة المرسلة. المزيد من المعلومات حول الكلمات الرئيسية الممكنة متاحة في دليل "كلمات رئيسية لعنوان URL للإرسال". |
قيمة نصية، الحد الأقصى للطول هو 1024 حرفًا | redirecturl=192.168.1.23 أو redirecturl=http%3A%2F%2F192.168.1.23 %2Findex.php%3Fowpn%3D159 ملاحظة: المثال الثاني يحتوي على عنوان URL مشفر. |
اختياري |
reporturl | يمكنك إعداد صفحة ويب لمعالجة معلومات حول أحداث "تم التسليم
إلى الشبكة" و "تم التسليم إلى الجهاز". إذا
حددت عنوان URL في معلمة reporturl، سيتم استدعاء صفحة الويب الخاصة بك
عند حدوث هذه الأحداث. يجب أن تكون قيمة العنوان URL الذي تحدده في
معلمة reporturl
مشفرة بالرابط.
يمكن أن يحتوي عنوان URL الذي تحدده على كلمات رئيسية سيتم استبدالها بمعلومات الحالة المتعلقة بالرسالة المرسلة. مثال جيد على كيفية استخدام خيار عنوان URL للتقرير متاح في كيفية إرسال رسالة SMS مجدولة واستخدام وظيفة reporturl. |
قيمة نصية، الحد الأقصى للطول هو 1024 حرفًا | reporturl=http%3A%2F%2Fwww.ozekisms. com%2Fproc.php%3Freporttype%3D%24reporttype %26messageid%3D%24messageid ملاحظة: هذه هي النسخة المشفرة بالرابط من العنوان URL التالي. قبل أن يتم استدعاء هذا العنوان URL بواسطة بوابة SMS، سيتم استبدال المعلمات $reporttype و $messageid بالقيم المناسبة: http://192.168.1.23/proc.php?reporttype=$reporttype& messageid=$messageid سيتم استدعاؤه كالتالي: http://192.168.1.23/proc.php?reporttype=deliveredtonetwork& messageid=ERFAV23D قائمة الكلمات الرئيسية التي يمكنك استخدامها في reporturl هي: $reporttype $messageid $statuscode $statusmessage $fromstation $fromconnection $fromaddress $tostation $toconnection $toaddress $text $createdate $submitdate $receiveddate |
اختياري |
messagecount | يحدد العدد الدقيق للرسائل التي ترغب في إرسالها. إذا تم تعيينه، يلزم الفهرسة لمعلمات 'recipient' و 'messagetype' و 'messagedata'. يمكن العثور على البرنامج التعليمي المفصل لـ 'messagecount' هنا. | رقم (القيمة الافتراضية: 1) |
messagecount=6 | اختياري |
maxresponse | يحدد هذا الرقم الحد الأقصى للرسائل التي ستتلقى تعليقات عنها. إذا تجاوزت هذا الرقم، سيتم إرسال رسائلك، ولكن لن تتلقى تعليقات عنها. افتراضيًا، تم تعيين هذه المعلمة إلى 500 رسالة. | رقم | maxresponse=1000 | اختياري |
vp | يحدد فترة الصلاحية لرسالتك.
يجب أن تستخدم القيمة تنسيق التاريخ التالي: YYYY.MM.DD hh:mm:ss. يجب أن تكون القيمة مشفرة بالرابط. اقرأ هذا البرنامج التعليمي لمزيد من المعلومات. |
قيمة تاريخ بتنسيق YYYY.MM.DD hh:mm:ss | vp=2019.01.28.+10%3A07%3A05 | اختياري |
* إجباري = معلمة إجبارية، اختياري = معلمة اختيارية
معايير الاستجابة
(تنسيق استجابة xml)
المعيار | الوصف | القيم الممكنة | مثال |
acceptreport | يحتوي على الاستجابة لطلب إرسال لعنوان مستلم واحد. إذا تم تحديد عدة مستلمين، سيتم تضمين تقرير القبول في الاستجابة لكل مستلم. ترتيب تقارير القبول سيتطابق مع ترتيب عناوين المستلمين. | <acceptreport> <statuscode>0</statuscode> <statusmessage>تم قبول الرسالة للتسليم</statusmessage> <messageid>ERFAV23D</messageid> <recipient>06203105366</recipient> </acceptreport> |
|
acceptreport.statuscode | يحتوي على قيمة عددية للإشارة إلى النجاح أو الفشل. إذا كانت القيمة 0، فهذا يعني أن الرسالة تم قبولها للتسليم. إذا كانت القيمة أكبر من 0، فهذا يعني وجود خطأ ولم يتم قبول الرسالة للتسليم. | قيمة عددية، أكبر من أو تساوي 0. أقل من 32768. | <statuscode>0</statuscode> |
acceptreport.statusmessage | يحتوي على تمثيل نصي لرمز الحالة. إذا تم قبول الرسالة، ستكون القيمة "تم قبول الرسالة للتسليم". إذا لم يتم قبول الرسالة للتسليم، يمكنك العثور على رسالة الخطأ في هذا الحقل. | قيمة نصية، الحد الأقصى للطول هو 1024 حرفًا | <statusmessage>تم قبول الرسالة للتسليم</statusmessage> |
acceptreport.messageid | يحتوي على مرجع للرسالة يمكن استخدامه لتتبع الرسالة في بوابة الرسائل القصيرة. يتم استخدام هذا المرجع أيضًا لتحديد التقارير التي تم تسليمها إلى الشبكة أو إلى الجهاز أو للاستعلام عن معلومات حول الرسالة. | قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | <messageid>ERFAV23D</messageid> |
acceptreport.recipient | يحتوي على عنوان المستلم. | قيمة نصية، الحد الأقصى للطول هو 16 حرفًا | <recipient>06203105366</recipient> |
ملخص
تناول هذا المقال إجراء HTTP API 'sendmessage'. باستخدام هذا الإجراء، يمكنك إرسال رسائل SMS نصية والعديد من أنواع الرسائل الأخرى إلى أي مستلمين عبر بوابة Ozeki للرسائل القصيرة. لقد رأيت أمثلة على الاستجابات وبعض طلبات HTTP الإضافية مع الوصف والقيم الممكنة والأمثلة.
إذا كنت ترغب في معرفة المزيد عن حالة تسليم رسائلك، لا تتردد في زيارة صفحة حالات تسليم SMS. إذا كنت ترغب في الحصول على قالب URL، قم بزيارة الصفحة المخصصة لذلك.
إذا كنت ترغب في استخدام هذا الحل في مواقف حقيقية، قم بتنزيل بوابة Ozeki للرسائل القصيرة وابدأ استخدامها الآن!
More information
- إنشاء حساب مستخدم لواجهة برمجة تطبيقات HTTP للرسائل القصيرة
- التوافق
- إرسال واستقبال الرسائل القصيرة عبر واجهة برمجة تطبيقات HTTP
- مثال إرسال رسالة قصيرة عبر واجهة برمجة تطبيقات HTTP
- مثال استقبال رسالة قصيرة عبر واجهة برمجة تطبيقات HTTP
- مشفّر URL لواجهة برمجة تطبيقات HTTP للرسائل القصيرة
- أفضل 10 واجهات برمجة تطبيقات لرسائل SMS للمبرمجين
- كيفية إرسال الرسائل القصيرة عبر HTTPS
- وظائف الرسائل القصيرة المجدولة المجمعة