تحليل نص الرسالة كما سيُرسل تمامًا
احسب الترميز والطول بعد الترميز وعدد أجزاء الرسالة النصية القصيرة للنص الذي تنوي إرساله. لا ترسل نقطة النهاية هذه رسالة نصية قصيرة، ولا تحجز مسارًا، ولا تُرجع عرض سعر للتسليم. قدّم النص النهائي كاملًا، بما في ذلك أي تذييل أو رابط أو عبارة لإلغاء الاشتراك يضيفها سير عمل الإرسال لديك.
الطلب
أجرِ المصادقة باستخدام حساب واجهة برمجة التطبيقات المفعّل لديك وعنوان 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
}
}| الحقل | المعنى |
|---|---|
| charset | 0 للترميز GSM-7 أو 2 للترميز UTF-16. |
| encoding | GSM-7 أو UTF-16. |
| parts, count | اسمان لعدد أجزاء الرسالة النصية القصيرة المحسوب. تكون قيمة كليهما صفرًا عندما يكون النص فارغًا. |
| units, chars | اسمان لوحدات الترميز. ولا يساوي عددها بالضرورة عدد المحارف المرئية. |
| single_limit | الحد الأقصى لوحدات الترميز في رسالة من جزء واحد باستخدام الترميز المحدد. |
| multipart_limit | الحد الأقصى لوحدات الترميز المستخدم لكل جزء بعد احتساب الحيز الإضافي اللازم لربط الأجزاء. |
الترميز وحدود الأجزاء
| الترميز | رسالة من جزء واحد | جزء من رسالة متعددة الأجزاء |
|---|---|---|
| GSM-7 | 160 وحدة سباعية البتات | 153 وحدة سباعية البتات |
| UTF-16 | 70 وحدة ترميز | 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؛ إذ تُرجع نقطة النهاية هذه الرمز كسلسلة نصية. السلسلة النصية الفارغة صالحة وتُرجع صفرًا من الوحدات وصفرًا من الأجزاء.
استخدام النتيجة قبل الإرسال
لا تتضمن الحاسبة التي خضعت للمراجعة أي إرسال للرسائل أو استدعاء لمشغّل الاتصالات أو خصم من الحساب. ونتيجتها تحليل للنص المقدَّم، وليست ضمانًا للتسليم أو فاتورة نهائية. قد يخضع الإرسال لتعريفات حسب الوجهة ورسوم مشغّل الاتصالات ومتطلبات الحملات وتعديلات إضافية على النص. أعد الحساب بعد تغيير الرسالة، ثم استخدم سير عمل الإرسال المعتمد والتسعير الحالي للحساب.