संदेश के हूबहू पाठ का विश्लेषण करें
आप जो पाठ भेजना चाहते हैं, उसकी एन्कोडिंग, एन्कोड की गई लंबाई और 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
}
}| फ़ील्ड | अर्थ |
|---|---|
| charset | 0 का मान GSM-7 के लिए या 2 का मान UTF-16 के लिए। |
| encoding | GSM-7 या UTF-16। |
| parts, count | SMS खंडों की गणना की गई संख्या के दो नाम। खाली पाठ के लिए दोनों का मान शून्य होता है। |
| 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 होने पर API कोड 403 लौटता है। JSON के status.code और status.msg के साथ HTTP स्थिति भी पढ़ें; यह एंडपॉइंट कोड को स्ट्रिंग के रूप में लौटाता है। खाली स्ट्रिंग मान्य है और उसके लिए शून्य इकाइयाँ और शून्य खंड लौटते हैं।
भेजने से पहले परिणाम का उपयोग करें
समीक्षा किए गए गणना उपकरण में संदेश भेजने, दूरसंचार प्रदाता को कॉल करने या खाते से राशि काटने की कोई कार्रवाई नहीं है। इसका परिणाम जमा किए गए पाठ का विश्लेषण है, डिलीवरी की गारंटी या अंतिम बिल नहीं। संदेश भेजने पर गंतव्य की दरें, दूरसंचार प्रदाता के शुल्क, अभियान संबंधी आवश्यकताएँ और पाठ में अतिरिक्त बदलाव लागू हो सकते हैं। संदेश बदलने के बाद फिर से गणना करें, फिर स्वीकृत संदेश भेजने के कार्यप्रवाह और खाते की मौजूदा दरों का उपयोग करें।