डेवलपर

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 स्थिति भी पढ़ें; यह एंडपॉइंट कोड को स्ट्रिंग के रूप में लौटाता है। खाली स्ट्रिंग मान्य है और उसके लिए शून्य इकाइयाँ और शून्य खंड लौटते हैं।

भेजने से पहले परिणाम का उपयोग करें

समीक्षा किए गए गणना उपकरण में संदेश भेजने, दूरसंचार प्रदाता को कॉल करने या खाते से राशि काटने की कोई कार्रवाई नहीं है। इसका परिणाम जमा किए गए पाठ का विश्लेषण है, डिलीवरी की गारंटी या अंतिम बिल नहीं। संदेश भेजने पर गंतव्य की दरें, दूरसंचार प्रदाता के शुल्क, अभियान संबंधी आवश्यकताएँ और पाठ में अतिरिक्त बदलाव लागू हो सकते हैं। संदेश बदलने के बाद फिर से गणना करें, फिर स्वीकृत संदेश भेजने के कार्यप्रवाह और खाते की मौजूदा दरों का उपयोग करें।