المطوّرون

POST/v3/smslength

حساب ترميز الرسائل النصية القصيرة وعدد أجزائها

حلّل النص النهائي للرسالة دون إرساله أو تقدير رسوم التسليم.

في هذه الصفحة
  1. تحليل نص الرسالة كما سيُرسل تمامًا
  2. الطلب
  3. الاستجابة
  4. الترميز وحدود الأجزاء
  5. الأخطاء والنص الفارغ
  6. استخدام النتيجة قبل الإرسال

تحليل نص الرسالة كما سيُرسل تمامًا

احسب الترميز والطول بعد الترميز وعدد أجزاء الرسالة النصية القصيرة للنص الذي تنوي إرساله. لا ترسل نقطة النهاية هذه رسالة نصية قصيرة، ولا تحجز مسارًا، ولا تُرجع عرض سعر للتسليم. قدّم النص النهائي كاملًا، بما في ذلك أي تذييل أو رابط أو عبارة لإلغاء الاشتراك يضيفها سير عمل الإرسال لديك.

الطلب

أجرِ المصادقة باستخدام حساب واجهة برمجة التطبيقات المفعّل لديك وعنوان IP المصدر المسموح به لهذا الحساب. احتفظ ببيانات الاعتماد في مخزن للأسرار على جانب الخادم. أرسل سلسلة نصية بترميز UTF-8 في الحقل text؛ يستخدم المثال متغيرات البيئة.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'text=Your message here' \
  https://api.multitel.net/v3/smslength

تُدعم المدخلات المرمّزة بصيغة النماذج. ويُقبل أيضًا كائن JSON مثل {"text":"Your message here"} عندما لا تُقدَّم أي حقول نموذج أو استعلام. يُفضَّل استخدام POST حتى لا يظهر نص الرسالة في عنوان URL. إذا وُجدت مدخلات نموذج واستعلام معًا، تُستخدم مدخلات النموذج. لا تخلط بين صيغ الطلبات.

الاستجابة

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
حقول نتيجة الحاسبة
الحقلالمعنى
charset0 للترميز GSM-7 أو 2 للترميز UTF-16.
encodingGSM-7 أو UTF-16.
parts, countاسمان لعدد أجزاء الرسالة النصية القصيرة المحسوب. تكون قيمة كليهما صفرًا عندما يكون النص فارغًا.
units, charsاسمان لوحدات الترميز. ولا يساوي عددها بالضرورة عدد المحارف المرئية.
single_limitالحد الأقصى لوحدات الترميز في رسالة من جزء واحد باستخدام الترميز المحدد.
multipart_limitالحد الأقصى لوحدات الترميز المستخدم لكل جزء بعد احتساب الحيز الإضافي اللازم لربط الأجزاء.

الترميز وحدود الأجزاء

الحدود التي تستخدمها الحاسبة
الترميزرسالة من جزء واحدجزء من رسالة متعددة الأجزاء
GSM-7160 وحدة سباعية البتات153 وحدة سباعية البتات
UTF-1670 وحدة ترميز67 وحدة ترميز

تستهلك محارف مجموعة التوسعة في GSM-7، مثل ^ والأقواس المعقوفة والأقواس المربعة والشرطة المائلة العكسية والخط العمودي وعلامة المدة ورمز اليورو، وحدتين سباعيتي البتات. يؤدي وجود محرف خارج GSM-7 إلى احتساب الرسالة كاملة وفق ترميز UTF-16. ويستخدم الرمز التعبيري الواقع خارج المستوى الأساسي متعدد اللغات وحدتين من UTF-16؛ وقد يتضمن تسلسل رموز تعبيرية مرئي عدة نقاط ترميز.

على سبيل المثال، يتسع جزء واحد لـ 160 حرفًا عاديًا بترميز GSM-7، بينما يتطلب 161 حرفًا جزأين. ويستخدم ثمانون محرفًا من ^ عددًا قدره 160 وحدة ويتسع لها جزء واحد؛ بينما يستخدم واحد وثمانون محرفًا 162 وحدة ويتطلب جزأين. ويستخدم خمسة وثلاثون رمزًا تعبيريًا بسيطًا خارج المستوى الأساسي متعدد اللغات 70 وحدة من UTF-16 ويتسع لها جزء واحد؛ بينما يستخدم ستة وثلاثون رمزًا 72 وحدة ويتطلب جزأين. وقد تغيّر علامات الدمج والرموز التعبيرية الموصولة هذه الأعداد.

الأخطاء والنص الفارغ

يؤدي غياب الحقل text، أو تقديم مصفوفة أو كائن بدلًا من قيمة مفردة، أو استخدام ترميز UTF-8 غير صالح، إلى إرجاع رمز واجهة برمجة التطبيقات 403. اقرأ في JSON الحقلين status.code وstatus.msg، بالإضافة إلى حالة HTTP؛ إذ تُرجع نقطة النهاية هذه الرمز كسلسلة نصية. السلسلة النصية الفارغة صالحة وتُرجع صفرًا من الوحدات وصفرًا من الأجزاء.

استخدام النتيجة قبل الإرسال

لا تتضمن الحاسبة التي خضعت للمراجعة أي إرسال للرسائل أو استدعاء لمشغّل الاتصالات أو خصم من الحساب. ونتيجتها تحليل للنص المقدَّم، وليست ضمانًا للتسليم أو فاتورة نهائية. قد يخضع الإرسال لتعريفات حسب الوجهة ورسوم مشغّل الاتصالات ومتطلبات الحملات وتعديلات إضافية على النص. أعد الحساب بعد تغيير الرسالة، ثم استخدم سير عمل الإرسال المعتمد والتسعير الحالي للحساب.