واجهة برمجة التطبيقات 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