كيفية إرسال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات SMPP على مستوى البروتوكول

تعتبر واجهة برمجة تطبيقات الرسائل القصيرة من نظير إلى نظير (SMPP) بروتوكولًا واسع الانتشار لتبادل رسائل SMS بين كيانات الرسائل القصيرة مثل ESMEs (كيانات الرسائل القصيرة الخارجية) و SMSCs (مراكز خدمة الرسائل القصيرة). بالنسبة لمستخدمي منصة بوابة Ozeki للرسائل القصيرة، فإن فهم تفاعلات بروتوكول SMPP على مستوى البروتوكول أمر بالغ الأهمية لتحسين الأداء، تصحيح الأخطاء، والتكاملات المخصصة. يشرح هذا الدليل وحدات بيانات البروتوكول (PDUs) المطلوبة لإقامة، الحفاظ، واستخدام اتصال واجهة برمجة تطبيقات SMPP لإرسال رسائل SMS.

إقامة اتصال بواجهة برمجة تطبيقات SMPP

لإرسال رسائل SMS عبر واجهة برمجة تطبيقات SMPP، يجب أولاً ربط عميلك بخادم بوابة Ozeki للرسائل القصيرة. هناك ثلاثة أنواع من الربط: bind_transmitter، bind_receiver، و bind_transceiver. يحدد كل منها اتجاه تدفق الرسائل.

وحدات بيانات البروتوكول الرئيسية لإعداد الاتصال

وحدة بيانات البروتوكول الاتجاه الغرض المعايير الرئيسية
bind_transmitter ESME → SMSC يبدأ اتصالًا لإرسال الرسائل القصيرة
  • system_id: اسم مستخدم العميل
  • password: بيانات اعتماد المصادقة
  • system_type: معرف لـ ESME
bind_receiver ESME → SMSC يعد اتصالًا لاستقبال الرسائل القصيرة نفس bind_transmitter
bind_transceiver ESME → SMSC يمكن من إرسال الرسائل في كلا الاتجاهين نفس bind_transmitter

عند نجاح الربط، يستجيب بوابة Ozeki بوحدة بيانات بروتوكول bind_resp تحتوي على إقرار system_id. إذا فشلت المصادقة، فإنه يعيد رمز خطأ مثل ESME_RINVPASWD.

الحفاظ على اتصال واجهة برمجة تطبيقات SMPP

تتطلب اتصالات SMPP إشارات حية دورية لمنع انتهاء المهلة. استخدم وحدة بيانات البروتوكول enquire_link:

وحدة بيانات البروتوكول الاتجاه الغرض
enquire_link ESME ↔ SMSC يتحقق مما إذا كان الاتصال نشطًا
enquire_link_resp ESME ↔ SMSC يؤكد أن الاتصال حي

أفضل ممارسة: أرسل enquire_link كل 30-60 ثانية. بوابة Ozeki للرسائل القصيرة تقطع الاتصالات الخاملة بعد 5 دقائق افتراضيًا.

إرسال رسالة SMS عبر واجهة برمجة تطبيقات SMPP

تستخدم وحدة بيانات البروتوكول submit_sm لإرسال رسالة SMS واحدة. يتضمن هيكلها عناوين المصدر/الوجهة ومحتوى الرسالة:

المعيار الوصف مثال
service_type نوع الخدمة (اختياري) “” (فارغ)
source_addr عنوان مرسل SMS “12345”
destination_addr رقم هاتف المستلم “+1234567890”
short_message حمولة الرسالة (UTF-8 أو GSM-7) “مرحبًا بالعالم”

مثال على سير عمل submit_sm

  1. يرسل ESME submit_sm إلى بوابة Ozeki للرسائل القصيرة.
  2. يستجيب البوابة بـ submit_sm_resp يحتوي على message_id.
  3. يرسل البوابة deliver_sm لتقارير التسليم (إذا تم تمكينها).
  4. يرد ESME بـ deliver_sm_resp.

معالجة استجابات وأخطاء واجهة برمجة تطبيقات SMPP

تستخدم بوابة Ozeki للرسائل القصيرة وحدات بيانات البروتوكول التالية للاستجابة:

وحدة بيانات البروتوكول الغرض الحقول الحرجة
submit_sm_resp يؤكد استلام submit_sm message_id، command_status
generic_nack يشير إلى وحدة بيانات بروتوكول مشوهة/غير صالحة command_status (مثل ESME_RINVMSGLEN)

الختام

إتقان وحدات بيانات بروتوكول SMPP مثل bind_transmitter، enquire_link، و submit_sm يضمن إرسال رسائل SMS موثوقة عبر بوابة Ozeki للرسائل القصيرة. من خلال تنفيذ معالجة قوية للأخطاء وإجراءات الحفاظ على الاتصال، يمكن للمطورين بناء حلول رسائل قصيرة قابلة للتوسع مع حد أدنى من التوقف.

More information