ڈیولپرز

POST/v3/smslength

SMS کی انکوڈنگ اور حصوں کی تعداد کا حساب لگائیں

پیغام کے حتمی متن کو بھیجے بغیر اور ترسیل کے اخراجات کا تخمینہ لگائے بغیر اس کا تجزیہ کریں۔

اس صفحے پر
  1. پیغام کے عین اسی متن کا تجزیہ کریں
  2. درخواست
  3. جواب
  4. انکوڈنگ اور حصوں کی حدود
  5. خرابیاں اور خالی متن
  6. بھیجنے سے پہلے نتیجہ استعمال کریں

پیغام کے عین اسی متن کا تجزیہ کریں

آپ جو متن بھیجنا چاہتے ہیں، اس کی انکوڈنگ، انکوڈ شدہ لمبائی اور SMS کے حصوں کی تعداد کا حساب لگائیں۔ یہ اینڈ پوائنٹ نہ SMS بھیجتا ہے، نہ روٹ محفوظ کرتا ہے اور نہ ہی ترسیل کی قیمت کا کوٹیشن دیتا ہے۔ مکمل حتمی متن جمع کرائیں، بشمول ہر اس فوٹر، لنک یا مزید پیغامات وصول نہ کرنے کی عبارت کے جو آپ کا پیغام بھیجنے کا طریقۂ کار شامل کرتا ہے۔

درخواست

اپنے فعال API اکاؤنٹ اور اس کے لیے اجازت یافتہ ماخذ 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, countSMS کے حصوں کی حساب کردہ تعداد کے دو نام۔ خالی متن کے لیے دونوں کی قدر صفر ہوتی ہے۔
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 نامعتبر ہو تو API کوڈ 403 واپس ملتا ہے۔ JSON میں status.code اور status.msg کے ساتھ HTTP کی حیثیت بھی پڑھیں؛ یہ اینڈ پوائنٹ کوڈ کو اسٹرنگ کی صورت میں واپس کرتا ہے۔ خالی اسٹرنگ درست ہے اور اس کے لیے صفر اکائیاں اور صفر حصے واپس ملتے ہیں۔

بھیجنے سے پہلے نتیجہ استعمال کریں

جس کیلکولیٹر کا جائزہ لیا گیا ہے، اس میں پیغام بھیجنے، کیریئر کو کال کرنے یا اکاؤنٹ سے رقم کاٹنے کا کوئی عمل شامل نہیں ہے۔ اس کا نتیجہ جمع کرائے گئے متن کا تجزیہ ہے، ترسیل کی ضمانت یا حتمی بل نہیں۔ پیغام بھیجنے پر منزل کے نرخ، کیریئر کی فیسیں، مہم کے تقاضے اور متن میں اضافی تبدیلیاں لاگو ہو سکتی ہیں۔ پیغام میں تبدیلی کے بعد دوبارہ حساب لگائیں، پھر پیغام بھیجنے کا منظور شدہ طریقۂ کار اور اکاؤنٹ کے موجودہ نرخ استعمال کریں۔