ডেভেলপার

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"} গ্রহণ করা হয় যখন কোনো ফর্ম বা কোয়েরি ফিল্ড দেওয়া হয় না। বার্তার পাঠ্য যাতে URL-এ না থাকে, সে জন্য POST ব্যবহার করাই ভালো। ফর্ম ও কোয়েরি উভয় ইনপুট থাকলে ফর্মটি ব্যবহার করা হয়। অনুরোধের ফরম্যাট মিশিয়ে ব্যবহার করবেন না।

উত্তর

{
  "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গণনা করা SMS সেগমেন্টের সংখ্যার দুটি নাম। ফাঁকা পাঠ্যের ক্ষেত্রে উভয়ের মান শূন্য।
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 একক ব্যবহার করে এবং দুটি সেগমেন্ট লাগে। পঁয়ত্রিশটি সরল নন-BMP ইমোজি 70 UTF-16 একক ব্যবহার করে এবং একটি সেগমেন্টে ধরে; ছত্রিশটি 72 একক ব্যবহার করে এবং দুটি সেগমেন্ট লাগে। সমন্বয়কারী চিহ্ন ও সংযুক্ত ইমোজি এই গণনাগুলো বদলে দিতে পারে।

ত্রুটি ও ফাঁকা পাঠ্য

text ফিল্ড অনুপস্থিত থাকলে, স্কেলার মানের বদলে অ্যারে/অবজেক্ট দিলে অথবা অবৈধ UTF-8 দিলে API কোড 403 ফেরত আসে। JSON-এর status.code ও status.msg এবং HTTP স্ট্যাটাস পড়ুন; এই এন্ডপয়েন্ট কোডটি স্ট্রিং হিসেবে ফেরত দেয়। ফাঁকা স্ট্রিং বৈধ এবং এর জন্য শূন্য একক ও শূন্য সেগমেন্ট ফেরত আসে।

পাঠানোর আগে ফলাফল ব্যবহার করুন

পর্যালোচিত ক্যালকুলেটরে বার্তা পাঠানো, ক্যারিয়ারের সেবা কল করা বা অ্যাকাউন্ট থেকে অর্থ কেটে নেওয়ার কোনো কার্যক্রম নেই। এর ফলাফল জমা দেওয়া পাঠ্যের বিশ্লেষণ; এটি ডেলিভারির নিশ্চয়তা বা চূড়ান্ত বিল নয়। বার্তা পাঠানোর ক্ষেত্রে গন্তব্যভিত্তিক মূল্যহার, ক্যারিয়ার ফি, ক্যাম্পেইনের শর্ত এবং পাঠ্যের অতিরিক্ত রূপান্তর প্রযোজ্য হতে পারে। বার্তা পরিবর্তন করার পর আবার গণনা করুন, তারপর অনুমোদিত বার্তা পাঠানোর কর্মপ্রবাহ ও অ্যাকাউন্টের বর্তমান মূল্যহার ব্যবহার করুন।