كيفية تكوين حقل وقت التسليم المجدول في SMPP
ما هو حقل وقت التسليم المجدول؟
حقل وقت التسليم المجدول في بروتوكول SMPP (بروتوكول الرسائل القصيرة من نظير إلى نظير) هو معامل اختياري في وحدة submit_sm
PDU
الذي يسمح بوضع الرسالة في قائمة الانتظار للتسليم في تاريخ ووقت محددين في المستقبل. هذا الحقل مهم لـ:
- تأخير تسليم الرسائل إلى ساعات غير الذروة
- جدولة الحملات الحساسة للوقت (مثل رسائل عيد الميلاد)
- تنسيق الرسائل عبر المناطق الزمنية
تنسيق الحقل وهيكله
يحدد مواصفات SMPP الإصدار 3.4 هذا الحقل كـ سلسلة C-Octet
(منتهية بقيمة فارغة) بتنسيق تاريخ ووقت محدد:
YYMMDDhhmmssnnp
حيث:
المكون | الوصف | النطاق |
---|---|---|
YY | آخر رقمين من السنة | 00-99 |
MM | الشهر | 01-12 |
DD | اليوم | 01-31 |
hh | الساعة (تنسيق 24 ساعة) | 00-23 |
mm | الدقيقة | 00-59 |
ss | الثانية | 00-59 |
nn | أجزاء من الثانية (اختياري) | 00-99 |
p | إزاحة المنطقة الزمنية (مثل +، -) | +/- متبوعًا بـ 4 أرقام (HHMM) |
-
NULL
(تسليم فوري)-
000000000000000
(تسليم فوري، أنظمة قديمة)
أمثلة على سلاسل الوقت
سلسلة الوقت | التفسير |
---|---|
231015143000000+ |
15 أكتوبر 2023 14:30:00 UTC+0 |
231015143000000-0800 |
15 أكتوبر 2023 14:30:00 UTC-08:00 |
000000000000000 |
تسليم فوري (قديم) |
NULL |
تسليم فوري (مستحسن) |
حالات الاستخدام
1. رسائل عيد الميلاد
جدولة رسالة لتسليمها تمامًا عند منتصف الليل في عيد ميلاد المستلم:
scheduled_delivery_time: "231016000000000+" // 16 أكتوبر 2023 00:00:00 UTC+0
2. التسليم خارج أوقات الذروة
تجنب ازدحام الشبكة بإرسال الرسائل الجماعية ليلاً:
scheduled_delivery_time: "231015020000000+" // 15 أكتوبر 2023 02:00:00 UTC+0
3. التنسيق بين المناطق الزمنية
تسليم الرسائل الساعة 9 صباحًا بالتوقيت المحلي للمستلمين في نيويورك (UTC-5):
scheduled_delivery_time: "231015090000000-0500" // 15 أكتوبر 2023 09:00:00 UTC-05:00
أمثلة على وحدات SMPP PDU
المثال 1: تسليم فوري (NULL)
0000001D // طول الأمر (29 بايت) 00000004 // معرف الأمر (SubmitSM) 00000001 // رقم التسلسل 00 // مصدر TON 00 // مصدر NPI 736F7572636500 // عنوان المصدر ("source") 00 // وجهة TON 00 // وجهة NPI 36353433323100 // عنوان الوجهة ("654321") 00 // فئة ESM 00 // معرف البروتوكول 00 // علم الأولوية 00 // وقت التسليم المجدول (NULL: فوري) 00 // فترة الصلاحية 00 // التسليم المسجل 00 // استبدال إذا موجود 00 // ترميز البيانات (DCS=0x00) 00 // معرف الرسالة الافتراضي 07 // طول الرسالة (7 وحدات) C8329BFD06DDDF72 // الحمولة ("Hello!")
المثال 2: تسليم مستقبلي (15 أكتوبر 2023 14:30 UTC)
0000002A // طول الأمر (42 بايت) 00000004 // معرف الأمر (SubmitSM) 00000002 // رقم التسلسل 00 // مصدر TON 00 // مصدر NPI 736F7572636500 // عنوان المصدر ("source") 00 // وجهة TON 00 // وجهة NPI 36353433323100 // عنوان الوجهة ("654321") 00 // فئة ESM 00 // معرف البروتوكول 00 // علم الأولوية 3233313031353134333030303030302B00 // "231015143000000+" (16 بايت + فارغة) 00 // فترة الصلاحية 00 // التسليم المسجل 00 // استبدال إذا موجود 00 // ترميز البيانات (DCS=0x00) 00 // معرف الرسالة الافتراضي 07 // طول الرسالة (7 وحدات) C8329BFD06DDDF72 // الحمولة ("Hello!")
التفاعل مع الحقول الأخرى
- validity_period: يحدد المدة التي سيحاول فيها SMSC التسليم. يبدأ العد من الوقت المجدول.
- priority_flag: قد تتجاوز الرسائل ذات الأولوية العالية قوائم الانتظار المجدولة في بعض SMSCs.
الأخطاء الشائعة
- استخدام التوقيت المحلي دون تحديد إزاحة المنطقة الزمنية.
- تنسيق سلسلة التاريخ بشكل غير صحيح (مثل شهر غير صالح "13").
- افتراض أن جميع SMSCs تدعم التسليم المجدول (تحقق مع المزود).
- تعيين وقت في الماضي، مما يؤدي إلى تسليم فوري.
بعض SMSCs تتجاهل أجزاء الثانية (
nn
) أو تقيد المدة التي يمكن فيها جدولة الرسائل مسبقًا (مثل 7 أيام كحد أقصى).
الختام
يتيح حقل وقت التسليم المجدول تحكمًا دقيقًا في موعد تسليم رسائل SMS. يتطلب الاستخدام الصحيح تنسيقًا دقيقًا لسلاسل الوقت والتنسيق مع إمكانيات SMSC. دائمًا اختبر الرسائل المجدولة مع مزودك وراجع مواصفات SMPP الإصدار 3.4 للحالات الخاصة (مثل السنوات الكبيسة، انتقالات المنطقة الزمنية).
More information
- كيفية تكوين حقل نوع خدمة SMPP
- كيفية تكوين حقول أرقام هواتف SMPP
- كيفية تكوين حقل فئة ESM في SMPP
- كيفية تكوين حقل PID في SMPP
- كيفية تكوين حقل الأولوية في SMPP
- كيفية تكوين حقل الوقت المجدول في SMPP
- كيفية تكوين حقل فترة الصلاحية في SMPP
- كيفية تكوين حقل التسليم المسجل في SMPP
- كيفية تكوين حقل استبدال إذا كان موجودًا في SMPP
- كيفية تكوين حقل sm_default_msg_id
- كيفية تكوين حقل DCS في SMPP
- كيفية حساب حقل طول SM في SMPP
- كيفية إدخال البيانات في حقل SMPP SM