Автоматтандырылған жүйелерді құру немесе тұтынушыларға хабарландырулар жіберу кезінде көптеген бизнес иелері мен әзірлеушілер ай сайынғы SMS шоттары күтілгеннен екі есе жоғары екенін көріп таң қалады. Бұл толық нұсқаулықта SMS жіберу үшін арнайы таңбаларға қанша таңба қажет екенін көрсететін кесте берілген, бұл жасырын кодтау ауысулары хабарлама шығындарын қалай айтарлықтай арттыратынын түсінуге көмектеседі.
Неліктен арнайы таңбалар SMS ұзындығы мен құнын өзгертеді
Телекоммуникация стандарттарында мәтіндік хабарламалар жазылған сөздердің нақты санымен емес, "сегменттермен" есептеледі. Стандартты SMS сегменті бір хабарламаға 160 таңбаға дейін мүмкіндік беретін GSM-7 таңбалар жиынтығы арқылы кодталады. Дегенмен, осы стандартты жиынтықтан тыс бір ғана таңбаны — мысалы, эмодзиді, кириллица әрпін немесе тіпті Microsoft Word бағдарламасынан көшірілген сәнді "ақылды тырнақшаны" қосқан сәтте-ақ хабарламаның толық кодтауы UCS-2 (Unicode) форматына ауысады.
UCS-2 кодтауында арнайы таңбалар мен эмодзилер болса да, SMS хабарламалары 160 таңбамен шектеледі деген қате түсінік жиі кездеседі. Іс жүзінде, GSM стандартына жатпайтын бір ғана таңба анықталса, бір сегменттегі таңбалардың максималды шегі бірден 160 таңбадан 70 таңбаға дейін төмендейді. Егер хабарламаңыздың ұзындығы 71 таңба болып, ішінде бір эмодзи болса, ол Twilio немесе Plivo сияқты дәстүрлі API провайдерлері арқылы екі бөлек SMS сегментіне бөлініп, екі есе тарифтеледі.
Операциялық шығындарды төмен деңгейде ұстап тұру үшін әдетте қандай арнайы таңбалар хабарламаларға әсер ететінін түсіну өте маңызды, әсіресе емхана, сұлулық салоны немесе жөндеу шеберханасы сияқты тұтынушыларға қабылдау уақытын еске салатын жергілікті қызмет көрсету бизнесін басқарсаңыз.
GSM-7 және UCS-2 кодтауларының айырмашылығы
GSM-7 — арнайы SMS үшін жасалған 7 биттік таңбаларды кодтау стандарты. Онда латын таңбаларының көпшілігі, сандар және негізгі тыныс белгілері бар. UCS-2 — кез келген тілдегі кез келген таңбаны, соның ішінде эмодзилерді де көрсете алатын 16 биттік кодтау стандарты, бірақ ол бір таңбаға екі есе көп деректі қажет етеді. Осы деректердің артық шығыны себепті байланыс операторларының желілері UCS-2 іске қосылғанда сегмент сыйымдылығын 70 таңбаға дейін қысқартады.
SMS арнайы таңбаларының толық сәйкестік кестесі
Төменде SMS жіберу үшін арнайы таңбаларға қанша таңба қажет екенін көрсететін кесте берілген. Бұл кестеде стандартты GSM-7 таңбалары, GSM-7 кеңейтілген таңбалары (олар 160 таңбалық шектеу ішінде 2 таңба орнын алады) және қатаң 70 таңбалық шектеуді талап ететін UCS-2 таңбалары көрсетілген.
| Таңба санаты | Таңбалар мысалы | Таңбаға шаққандағы бит саны | Таңбаның SMS-тегі салмағы | Сегменттің максималды шегі |
|---|---|---|---|---|
| GSM-7 Basic | A-Z, a-z, 0-9, бос орындар, қарапайым тыныс белгілері (., !, ?, @, $, т.б.) | 7 бит | 1 таңба | 160 таңба |
| GSM-7 Extended | ^, {, }, [, ], ~, |, \, € | 14 бит | 2 таңба | 160 таңба (әрбір кеңейтілген таңба 2 таңба болып есептеледі) |
| UCS-2 (Unicode) | á, í, ó, ñ, ’ (ақылды тырнақша), emojis (😀), кириллица, араб әліпбиі | 16 bits | Бүкіл хабарламаны Unicode форматына ауыстырады | 70 таңба |
Кестеде көрсетілгендей, жүйелі жақша "{" немесе кері қиғаш сызық "\" сияқты кеңейтілген GSM-7 таңбасын пайдалану Unicode-ты мәжбүрлемейді, бірақ 160 таңбалық шектеуіңізде екі таңба болып есептеледі. Дегенмен, испан тіліндегі sms y caracteres especiales конфигурацияларында жиі қолданылатын "á" сияқты GSM-ден тыс таңбаны немесе қисық апострофты "’" пайдалану хабарлама сегментінің шегін бірден 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 баламасын іздейді немесе ең арзан SMS API нұсқаулығын қарастырады.
SMS-тегі арнайы таңбалардан қалай аулақ болуға болады?
Егер хабарламаларыңызды 160 таңба шегінде сақтап, күтпеген шығындарды болдырмағыңыз келсе, SMS мәтіндерін белсенді түрде тазалауыңыз керек. Төменде SMS-тегі арнайы таңбалардан қалай аулақ болуға болатыны туралы тиімді стратегиялар берілген:
- Көшіріліп қойылған мәтінді тазалаңыз: Көптеген CRM үлгілерінде "ақылды" тыныс белгілері болады. Мысалы, мәтін редакторынан көшірілген апостроф (’) немесе үтір хабарламаның дұрыс жеткізілуіне кедергі келтіруі немесе Unicode-ты іске қосуы мүмкін. Тәжірибелік мысал ретінде, кейбір ішкі кәсіпорын жүйелері кеңесшілерге келесідей қысқаша ескерту жасайды: "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-ге жатпайтын таңбаларды бағдарламалық түрде ауыстырыңыз: Егер жүйеңіз SMS-ті динамикалық түрде жасаса, "á" таңбасын "a"-ға, "é" таңбасын "e"-ге және "“" таңбасын """-қа ауыстыратын транслитерация функциясын енгізіңіз.
- Платформаға тән шектеулермен жұмыс істеңіз: Егер сіз кәсіпорын деңгейіндегі low-code платформаларында әзірлеме жасасаңыз, олардың кодтауды қалай өңдейтінін ескеріңіз, мысалы, special characters in gsm outsystems интеграцияларын басқару кезінде JSON сериялауы барысында мәтіндік айнымалылар стандартты тыныс белгілерін автоматты түрде Unicode баламаларына түрлендіруі мүмкін.
SMS мәтінін тазалауға арналған Python кодының үзіндісі
Төменде SMS танымайтын немесе қымбат UCS-2 кодтауын мәжбүрлейтін арнайы таңбаларды жоюға арналған қарапайым Python функциясы берілген:
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 шлюзі мен SMS API арасында таңдау жасау өте маңызды болады.
MySMSGate бұл мәселені толығымен шешеді. Хабарламаларыңызды сегменттерге көбейтілген қатаң бағалары бар қымбат оператор желілері арқылы бағыттаудың орнына, MySMSGate жеке Android телефоныңыз бен SIM-картаңызды SMS шлюзіне айналдырады.
MySMSGate шығындарды үнемдейтін бизнес үшін жағдайды қалай өзгертетіні төменде көрсетілген:
- Тұрақты тариф: Біз хабарламаның ұзындығына, таңбалардың кодталуына немесе сегменттеріне қарамастан, жіберілген хабарлама үшін тұрақты $0.02 аламыз. Эмодзи немесе екпінді таңба шотыңызды екі есеге арттырады деп уайымдаудың қажеті жоқ.
- Өз нөміріңізді пайдаланыңыз: Хабарламалар тікелей Android телефоныңыздың SIM-картасынан жіберіледі. Тұрақты тұтынушыларыңыз таныс жергілікті ұялы телефон нөмірін көреді, бұл жауап беру және хабарламаны ашу көрсеткішін арттырады.
- Күрделі тіркеулер жоқ: Twilio сияқты дәстүрлі API-лерге тән күрделі 10DLC тіркеулерінен, оператор мақұлдауларынан және ай сайынғы бренд төлемдерінен аулақ болыңыз.
- Dual SIM және бірнеше құрылғыны қолдау: Бірнеше телефон мен SIM-картаны бір бақылау панелінен басқарыңыз, әрбір тұтынушымен сөйлесу үшін нақты қай желіден жіберу керектігін таңдаңыз.
Жиі қойылатын сұрақтар
SMS таңбаларын кодтау, арнайы таңбалар және хабарлама шектеулері туралы жиі қойылатын сұрақтармен танысыңыз.
Қандай арнайы таңбалар SMS шегін 70 таңбаға дейін азайтады?
Стандартты GSM-7 таңбалар жиынтығына кірмейтін кез келген таңба UCS-2 кодтауын мәжбүрлеп, шектеуді 70 таңбаға дейін азайтады. Оған эмодзилер, латын емес әліпбилер (кириллица, араб, грек, иврит) және кейбір екпінді әріптер немесе стильдендірілген тыныс белгілері (мысалы, қисық ақылды тырнақшалар) жатады.
SMS-тегі бос орындар таңба болып есептеледі ме?
Иә, GSM-7 және UCS-2 кодтау стандарттарында да әрбір бос орын бір таңба болып есептеледі.
Неліктен мен тек бір хабарлама жібергенімде, менің SMS платформам бірнеше хабарлама үшін ақы алады?
Егер сіздің хабарламаңыз 160 таңбадан (GSM-7-де) немесе 70 таңбадан (UCS-2-де) асып кетсе, оператор хабарламаны бірнеше сегментке бөледі. Дәстүрлі API-лер әр сегмент үшін ақы алады, яғни бір ұзын хабарламаның құны базалық тарифтен оңай 2 немесе 3 есе қымбат болуы мүмкін.
SMS хабарламамда арнайы таңбалар бар-жоғын қалай тексеруге болады?
API провайдеріне жібермес бұрын мәтініңіздің UCS-2 Unicode кодтауын іске қосатын-қоспайтынын анықтау үшін онлайн SMS сегмент калькуляторларын пайдалануға немесе серверіңізде (backend) қарапайым тазалау скриптін іске қосуға болады.
Comments (0)
Be the first to comment!