ऑटोमेटेड सिस्टम बनाते समय या ग्राहकों को नोटिफिकेशन भेजते समय, कई बिजनेस मालिकों और डेवलपर्स को यह देखकर झटका लगता है कि उनका मासिक SMS बिल उम्मीद से दोगुना अधिक है। यह विस्तृत गाइड आपको एक तालिका (table) प्रदान करती है जिसमें यह दर्शाया गया है कि SMS भेजने के लिए स्पेशल कैरेक्टर्स को कितने कैरेक्टर्स (chars) की आवश्यकता होती है, जिससे आपको यह समझने में मदद मिलेगी कि कैसे छिपे हुए एन्कोडिंग बदलाव आपके मैसेजिंग खर्चों को अत्यधिक बढ़ा सकते हैं।
स्पेशल कैरेक्टर्स SMS की लंबाई और लागत को क्यों बदलते हैं
टेलीकॉम मानकों में, टेक्स्ट मैसेज का बिल आपके द्वारा लिखे गए शब्दों की वास्तविक संख्या के आधार पर नहीं, बल्कि "सेगमेंट" के आधार पर तय किया जाता है। एक मानक SMS सेगमेंट को GSM-7 कैरेक्टर सेट का उपयोग करके एन्कोड किया जाता है, जो प्रति मैसेज 160 कैरेक्टर तक की अनुमति देता है। हालांकि, जैसे ही आप इस मानक सेट के बाहर का एक भी कैरेक्टर शामिल करते हैं—जैसे कि कोई इमोजी, सिरिलिक (Cyrillic) अक्षर, या माइक्रोसॉफ्ट वर्ड (Microsoft Word) से कॉपी किया गया कोई फैंसी "स्मार्ट कोट"—पूरे मैसेज की एन्कोडिंग UCS-2 (यूनिकोड) में बदल जाती है
UCS-2 एन्कोडिंग के तहत, SMS मैसेज 160 कैरेक्टर्स तक सीमित होते हैं, भले ही उनमें स्पेशल कैरेक्टर्स और इमोजी शामिल हों, यह एक आम गलतफहमी है। वास्तव में, जैसे ही एक भी गैर-GSM कैरेक्टर का पता चलता है, प्रति सेगमेंट अधिकतम कैरेक्टर सीमा तुरंत 160 से घटकर केवल 70 कैरेक्टर रह जाती है। यदि आपका मैसेज 71 कैरेक्टर लंबा है और उसमें एक इमोजी शामिल है, तो इसे Twilio या Plivo जैसे पारंपरिक API प्रदाताओं द्वारा दो अलग-अलग SMS सेगमेंट में विभाजित कर दिया जाएगा और उसी के अनुसार बिल लिया जाएगा।
अपनी परिचालन लागत को कम रखने के लिए यह समझना महत्वपूर्ण है कि आमतौर पर कौन से स्पेशल कैरेक्टर्स मैसेज को प्रभावित करते हैं, खासकर यदि आप क्लिनिक, सैलून या रिपेयर शॉप जैसा कोई स्थानीय सेवा व्यवसाय चला रहे हैं और अपने ग्राहकों को अपॉइंटमेंट रिमाइंडर भेज रहे हैं।
GSM-7 बनाम UCS-2 एन्कोडिंग की व्याख्या
GSM-7 एक 7-बिट कैरेक्टर एन्कोडिंग मानक है जिसे विशेष रूप से SMS के लिए डिज़ाइन किया गया है। इसमें अधिकांश लैटिन अक्षर, संख्याएं और बुनियादी विराम चिह्न शामिल हैं। UCS-2 एक 16-बिट एन्कोडिंग मानक है जो इमोजी सहित किसी भी भाषा के लगभग किसी भी कैरेक्टर को प्रदर्शित कर सकता है, लेकिन इसके लिए प्रति कैरेक्टर दोगुने डेटा की आवश्यकता होती है। इसी डेटा ओवरहेड के कारण जब UCS-2 ट्रिगर होता है, तो कैरियर नेटवर्क सेगमेंट की क्षमता को घटाकर 70 कैरेक्टर कर देते हैं।
अल्टीमेट SMS स्पेशल कैरेक्टर मैपिंग तालिका
नीचे एक तालिका दी गई है जिसमें यह दर्शाया गया है कि SMS भेजने के लिए स्पेशल कैरेक्टर्स को कितने कैरेक्टर्स (chars) की आवश्यकता होती है। यह तालिका मानक GSM-7 कैरेक्टर्स, GSM-7 Extended कैरेक्टर्स (जिन्हें 160 की सीमा के भीतर 2 कैरेक्टर स्पेस की आवश्यकता होती है), और UCS-2 कैरेक्टर्स को रेखांकित करती है जो सख्त 70-कैरेक्टर की सीमा को लागू करते हैं।
| कैरेक्टर श्रेणी | उदाहरण कैरेक्टर्स | प्रति कैरेक्टर बिट्स | SMS में कैरेक्टर का महत्व | अधिकतम सेगमेंट सीमा |
|---|---|---|---|---|
| GSM-7 बेसिक | A-Z, a-z, 0-9, स्पेस, सामान्य विराम चिह्न (., !, ?, @, $, आदि) | 7 bits | 1 कैरेक्टर | 160 कैरेक्टर्स |
| GSM-7 एक्सटेंडेड | ^, {, }, [, ], ~, |, \, € | 14 bits | 2 कैरेक्टर्स | 160 कैरेक्टर्स (प्रत्येक एक्सटेंडेड कैरेक्टर को 2 गिना जाता है) |
| UCS-2 (यूनिकोड) | á, í, ó, ñ, ’ (स्मार्ट कोट), इमोजी (😀), सिरिलिक, अरबी | 16 bits | पूरे मैसेज को यूनिकोड में बदल देता है | 70 कैरेक्टर्स |
जैसा कि तालिका में दिखाया गया है, कर्ली ब्रैकेट "{" या बैकस्लैश "\" जैसे एक्सटेंडेड GSM-7 कैरेक्टर का उपयोग करने से यूनिकोड लागू नहीं होता है, लेकिन यह आपकी 160-कैरेक्टर की सीमा के मुकाबले दो कैरेक्टर के रूप में गिना जाता है। हालांकि, एक गैर-GSM कैरेक्टर जैसे कि "á" (अक्सर स्पेनिश sms y caracteres especiales कॉन्फ़िगरेशन में उपयोग किया जाता है) या कर्ली एपोस्ट्रोफी "’" का उपयोग करने से आपके मैसेज सेगमेंट की सीमा तुरंत घटकर 70 कैरेक्टर रह जाएगी।
स्पेशल कैरेक्टर्स आपके SMS की लागत को कैसे प्रभावित करते हैं
यह समझने के लिए कि los caracteres especiales que impacto tienen en el coste de los sms (SMS की लागत पर स्पेशल कैरेक्टर्स का क्या प्रभाव पड़ता है), आइए एक व्यावहारिक उदाहरण देखें। मान लीजिए कि आप एक डेंटल क्लिनिक चलाते हैं और निम्नलिखित अपॉइंटमेंट रिमाइंडर भेजते हैं:
"Hi John, your appointment is scheduled for tomorrow at 3:00 PM. Please reply to confirm or call us if you need to reschedule! Él"
यह मैसेज 123 कैरेक्टर लंबा है। यदि आप एक्सेंटेड "É" के बजाय मानक "E" का उपयोग करते हैं, तो मैसेज GSM-7 में भेजा जाता है। यह 160-कैरेक्टर की सीमा के भीतर आसानी से आ जाता है, जिससे आपको ठीक 1 SMS सेगमेंट की लागत आती है।
हालांकि, एक्सेंटेड "É" के कारण, मैसेज को UCS-2 में भेजने के लिए मजबूर होना पड़ता है। अब सेगमेंट की सीमा 70 कैरेक्टर है। आपका 123-कैरेक्टर का मैसेज दो सेगमेंट में विभाजित हो जाता है (सेगमेंटेशन हेडर के कारण पहला सेगमेंट 67 कैरेक्टर का और दूसरा 56 कैरेक्टर का होता है)। पारंपरिक API गेटवे आपसे 1 के बजाय 2 SMS मैसेज का शुल्क लेंगे।
यदि आप पारंपरिक प्रदाताओं का उपयोग कर रहे हैं, तो यह सेगमेंटेशन आपके मासिक बिल को दोगुना या तिगुना कर सकता है। यही कारण है कि कई व्यवसाय मनमाने सेगमेंट-आधारित अतिरिक्त शुल्कों से बचने के लिए Twilio alternative की तलाश करते हैं या cheapest SMS API guide की मदद लेते हैं।
मैं SMS में स्पेशल कैरेक्टर्स से कैसे बचूँ?
यदि आप अपने मैसेजेस को 160-कैरेक्टर की सीमा के भीतर रखना चाहते हैं और अप्रत्याशित लागतों से बचना चाहते हैं, तो आपको अपने SMS पेलोड को सक्रिय रूप से साफ़ (sanitize) करना होगा। यहाँ कुछ व्यावहारिक रणनीतियाँ दी गई हैं कि मैं SMS में स्पेशल कैरेक्टर्स से कैसे बचूँ:
- कॉपी-पेस्ट किए गए टेक्स्ट को साफ़ (Sanitize) करें: कई CRM टेम्पलेट्स में "स्मार्ट" विराम चिह्न होते हैं। उदाहरण के लिए, रिच टेक्स्ट एडिटर से कॉपी किया गया एपोस्ट्रोफी (’) या कॉमा साफ डिलीवरी को रोक सकता है या यूनिकोड को ट्रिगर कर सकता है। एक वास्तविक उदाहरण के रूप में, कुछ आंतरिक एंटरप्राइज़ सिस्टम सलाहकारों को एक संक्षिप्त चेतावनी जारी करते हैं: "outbound sms special characters please be aware that any outbound sms sent must be 250 characters or fewer. if your message has been copied & pasted from a saved template and contains a comma (,) or apostrophe ('), please remove the special character and then re-enter it before sending". स्मार्ट कोट्स को मानक सीधे कोट्स (') से बदलने से GSM-7 अनुपालन सुनिश्चित होता है।
- प्रोग्रामेटिक रूप से गैर-GSM कैरेक्टर्स को बदलें: यदि आपका सिस्टम गतिशील रूप से (dynamically) SMS जेनरेट करता है, तो "á" को "a", "é" को "e", और "“" को """ जैसे कैरेक्टर्स में बदलने के लिए एक लिप्यंतरण (transliteration) फ़ंक्शन लागू करें।
- प्लेटफ़ॉर्म-विशिष्ट सीमाओं को संभालें: यदि आप एंटरप्राइज़ लो-कोड प्लेटफ़ॉर्म पर विकास कर रहे हैं, तो इस बात का ध्यान रखें कि वे एन्कोडिंग को कैसे संभालते हैं, जैसे कि special characters in gsm outsystems इंटीग्रेशन को प्रबंधित करना, जहाँ टेक्स्ट वेरिएबल्स JSON सीरियलाइज़ेशन के दौरान मानक विराम चिह्नों को स्वचालित रूप से यूनिकोड समकक्षों में बदल सकते हैं।
SMS टेक्स्ट को साफ करने के लिए Python कोड स्निपेट
यहाँ एक सरल Python फ़ंक्शन दिया गया है जो उन स्पेशल कैरेक्टर्स को हटा देता है जिन्हें SMS पहचान नहीं पाता या जो महंगी UCS-2 एन्कोडिंग को लागू कर सकते हैं:
import unicodedata
def sanitize_for_gsm7(text):
# Map common smart punctuation to GSM-7 equivalents
replacements = {
'\u2018': "'", '\u2019': "'", # Smart single quotes
'\u201c': '"', '\u201d': '"', # Smart double quotes
'\u2013': '-', '\u2014': '-', # En and em dashes
'\u20ac': 'EUR' # Replace Euro sign if needed
}
for unicode_char, gsm_char in replacements.items():
text = text.replace(unicode_char, gsm_char)
# Normalize accents (e.g., é to e)
normalized = unicodedata.normalize('NFD', text)
gsm7_text = "".join([c for c in normalized if not unicodedata.combining(c)])
return gsm7_text
message = "Hello! Your appointment is confirmed for tomorrow é."
print(sanitize_for_gsm7(message))
# Output: "Hello! Your appointment is confirmed for tomorrow e."
MySMSGate के साथ एन्कोडिंग की चिंता को समाप्त करें
स्थानीय सेवा व्यवसायों, स्कूलों और क्लिनिकों के लिए, कैरेक्टर एन्कोडिंग, सेगमेंट सीमाओं और जटिल बिलिंग संरचनाओं के बारे में चिंता करना एक अनावश्यक सिरदर्द है। यहीं पर एक पारंपरिक SMS gateway vs SMS API के बीच चयन करना महत्वपूर्ण हो जाता है।
MySMSGate इस समस्या को पूरी तरह से हल करता है। सख्त सेगमेंट-गुणित मूल्य निर्धारण वाले महंगे कैरियर नेटवर्क के माध्यम से आपके मैसेजेस को रूट करने के बजाय, MySMSGate आपके अपने Android फोन और SIM कार्ड को एक SMS गेटवे में बदल देता है।
यहाँ बताया गया है कि कैसे MySMSGate लागत के प्रति जागरूक व्यवसायों के लिए गेम बदल देता है:
- फ्लैट रेट प्राइसिंग: हम भेजे गए प्रति मैसेज के लिए $0.02 का फ्लैट शुल्क लेते हैं, चाहे उसकी लंबाई, कैरेक्टर एन्कोडिंग या सेगमेंट कुछ भी हो। आपको इस बात की चिंता करने की ज़रूरत नहीं है कि कोई इमोजी या एक्सेंटेड कैरेक्टर आपके बिल को दोगुना कर देगा।
- अपने खुद के नंबर का उपयोग करें: मैसेज सीधे आपके Android फोन के SIM कार्ड से भेजे जाते हैं। आपके ग्राहकों को एक स्थानीय, पहचानने योग्य मोबाइल नंबर दिखाई देता है, जिससे प्रतिक्रिया और ओपन रेट बढ़ते हैं।
- कोई जटिल पंजीकरण नहीं: Twilio जैसे पारंपरिक APIs से जुड़े जटिल 10DLC पंजीकरणों, कैरियर स्वीकृतियों और मासिक ब्रांड शुल्कों से बचें।
- डुअल SIM और मल्टी-डिवाइस सपोर्ट: एक ही डैशबोर्ड से कई फोन और SIM कार्ड प्रबंधित करें, और प्रत्येक ग्राहक बातचीत के लिए यह चुनें कि किस लाइन से मैसेज भेजना है।
अक्सर पूछे जाने वाले प्रश्न (FAQs)
SMS कैरेक्टर एन्कोडिंग, स्पेशल कैरेक्टर्स और मैसेजिंग सीमाओं से संबंधित इन सामान्य प्रश्नों की समीक्षा करें।
कौन से स्पेशल कैरेक्टर्स SMS सीमा को घटाकर 70 कैरेक्टर कर देते हैं?
मानक GSM-7 कैरेक्टर सेट में शामिल नहीं कोई भी कैरेक्टर UCS-2 एन्कोडिंग को बाध्य करेगा, जिससे सीमा घटकर 70 कैरेक्टर रह जाएगी। इसमें इमोजी, गैर-लैटिन वर्णमाला (सिरिलिक, अरबी, ग्रीक, हिब्रू), और कुछ एक्सेंटेड अक्षर या स्टाइलिश विराम चिह्न (जैसे कर्ली स्मार्ट कोट) शामिल हैं।
क्या SMS में स्पेस भी कैरेक्टर के रूप में गिने जाते हैं?
हाँ, GSM-7 और UCS-2 दोनों एन्कोडिंग मानकों में प्रत्येक स्पेस को एक सिंगल कैरेक्टर के रूप में गिना जाता है।
मेरा SMS प्लेटफ़ॉर्म मुझसे कई मैसेजेस के लिए शुल्क क्यों लेता है जबकि मैंने केवल एक ही भेजा था?
यदि आपका मैसेज 160 कैरेक्टर (GSM-7 में) या 70 कैरेक्टर (UCS-2 में) से अधिक हो गया, तो कैरियर ने मैसेज को कई सेगमेंट में विभाजित कर दिया। पारंपरिक APIs आपसे प्रति सेगमेंट शुल्क लेते हैं, जिसका अर्थ है कि एक ही लंबा मैसेज आपको मूल दर से आसानी से 2 गुना या 3 गुना महंगा पड़ सकता है।
मैं कैसे जांच सकता हूं कि मेरे SMS मैसेज में स्पेशल कैरेक्टर्स हैं या नहीं?
आप अपने API प्रदाता को भेजने से पहले यह पता लगाने के लिए कि आपका टेक्स्ट UCS-2 यूनिकोड एन्कोडिंग को ट्रिगर करता है या नहीं, ऑनलाइन SMS सेगमेंट कैलकुलेटर का उपयोग कर सकते हैं या अपने बैकएंड में एक सरल सैनिटाइजेशन स्क्रिप्ट चला सकते हैं।
Comments (0)
Be the first to comment!