Клиенттеріңізге кездесу туралы қарапайым ескерту жіберіп, SMS шотыңыздың белгісіз себептермен екі есе өсіп кеткенін байқаған кезіңіз болды ма? Бұл құбылыс тікелей SMS хабарламаларын кодтаумен (encodage sms message) байланысты. Бұл жиі ескерілмейтін, бірақ сіздің байланыс бюджетіңізге айтарлықтай әсер ететін техникалық аспект.

SMS хабарламасын кодтау дегеніміз не?

Нақты SMS кодтау анықтамасын (sms éfiniton encodage) алу үшін, мобильді желілердің барлық таңбаларды бірдей оқымайтынын түсіну керек. Кодтау — бұл хабарламаңыздағы әріптерді, сандарды және белгілерді телекоммуникация операторлары тарата алатын екілік деректерге (0 және 1) түрлендіретін техникалық процесс.

Тарихи тұрғыдан алғанда, ұялы желі өте жеңіл хабарламаларды тасымалдауға арналған. Бүгінгі таңда SMS жіберуді реттейтін екі негізгі стандарт бар:

  • GSM-7 : Әр таңба үшін 7 битті пайдаланатын стандартты кодтау. Ол бір SMS-те 160 таңбаға дейін жазуға мүмкіндік береді.
  • UCS-2 (Unicode) : Әр таңба үшін 16 битті пайдаланатын байытылған кодтау. Ол латын емес әліпбилер, күрделі арнайы таңбалар мен эмодзилер үшін қажет. Ол бір SMS өлшемін тек 70 таңбамен шектейді.

GSM-7 vs UCS-2 : Арнайы таңбалар мен эмодзилердің тұзағы

Шағын бизнес иелері (сұлулық салондары, медициналық клиникалар, автомектептер) үшін қиындықтар осы жерден басталады. GSM-7 кестесінен тыс бір ғана таңба бүкіл хабарламаңызды Unicode режиміне ауысуға мәжбүр етеді.

Француз тілінде жиі кездесетін «ç», «ê» немесе «ë» сияқты арнайы таңбалар мен екпін белгілері бар SMS кодтауы (encodage sms caracteres speciaux accents), сондай-ақ ucs2 кодтауымен SMS арқылы эмодзи жіберу (envoyer des emojis par sms encodage ucs2) бір хабарламадағы таңбалар шегін бірден 160-тан 70-ке дейін азайтады. Осылайша, эмодзидің SMS кодтауына әсері (impact emoji encodage sms) бірден білінеді: хабарламаңыз бірнеше бөлікке (сегменттерге) бөлінеді, бұл дәстүрлі провайдерлердің көпшілігінде жіберу құнын еселеп арттырады.

Бұл айырмашылықты көрнекі түрде түсіну үшін келесі салыстыру кестесін қараңыз:

Кодтау стандартыТаңба санының шегі (1 SMS)Рұқсат етілген таңбаларӘдеттегі тарифтеуге әсері
GSM-7160 таңбаНегізгі латын әліпбиі, сандар, бос орындар және кейбір жиі қолданылатын екпін белгілері (é, à, è, ù)Стандартты тарифтеу (1 кредит)
UCS-2 (Unicode)70 таңбаБарлық әліпбилер (араб, кирилл, қытай), эмодзилер, күрделі екпін белгілері (ç, ê, ï)Екі немесе үш еселенген тарифтеу (бірнеше сегмент)

Unicode кодтауының SMS бағасына әсері

Unicode кодтауының SMS бағасына әсері (impact de l'encodage unicode sur le prix du sms) — бұл Twilio немесе Plivo сияқты классикалық SMS шлюздерінің басты қаржылық тұзағы. Бұл платформалар SMS «сегменті» үшін ақы алады. Бір сегмент GSM-7 кодтауында 160 таңбаға сәйкес келеді, бірақ бір ғана Unicode таңбасы анықталса, ол бірден 70 таңбаға дейін төмендейді.

Мысалы, сіз автосервисті басқарасыз және мынадай кездесу туралы ескерту жібересіз делік:

"Bonjour ! Votre véhicule est prêt. Merci de passer le récupérer avant 18h au garage. À bientôt !"

Бұл хабарламада 107 таңба бар. Егер сіз оны осы күйінде жіберсеңіз, ол стандартты GSM-7 кодтауын пайдаланады (кейбір шлюздерде бас әріппен жазылған «À» таңбасы қиындық тудыруы мүмкін, бірақ қалғандары стандартты). Бұл сізге 1 SMS сегменті ретінде есептеледі.

Егер сіз хабарламаны тартымды ету үшін соңына қарапайым көлік эмодзиін қоссаңыз, хабарлама UCS-2 режиміне ауысады. Енді сіздің 108 таңбаңыз Unicode-тың 70 таңбалық қатаң шегінен асып кетеді. Нәтижесінде хабарламаңыз 2 сегментке бөлінеді. Дәстүрлі операторда сіз тек бір эмодзи үшін бұл хабарламаға екі есе көп ақы төлейсіз.

Мұндай жағымсыз тосынсыйлардан аулақ болу үшін көптеген кәсіпорындар балама нұсқаларды іздейді. MySMSGate көмегімен хабарлама жіберу үшін өзіңіздің Android смартфоныңызды қоса аласыз. Біз жіберілген SMS-тің ұзындығына немесе кодталуына қарамастан, оған 0,02 $ көлемінде бірыңғай және тұрақты тариф қолданамыз. Жасырын сегменттік тарифтеу жоқ. Үнемді нұсқалар туралы көбірек білу үшін біздің шағын бизнеске арналған ең арзан SMS шлюзі туралы нұсқаулығымызды оқыңыз.

Әзірлеушілерге : SMS API арқылы жіберу үшін қандай кодтауды таңдаған жөн ?

Егер сіз өз қолданбаңызға немесе басқару бағдарламалық құралына SMS хабарландыруларын біріктірсеңіз, мынадай техникалық сұрақ туындайды: SMS API арқылы жіберу үшін қандай кодтауды таңдаған жөн ?

Қазіргі заманғы API-лердің барлығы дерлік, соның ішінде MySMSGate API-і де UTF-8 форматында кодталған JSON сұрауларын қабылдайды. Дегенмен, SMS шлюзі бұл UTF-8 ағынын мобильді желіге түрлендіруі керек. Максималды үйлесімділікті қамтамасыз ету және бұзылған таңбаларды (белгісіз сұрақ белгілері немесе қара шаршылар) болдырмау үшін, SMS шлюзінің UTF-8 кодтауын дұрыс теңшеу (configurer encodage utf8 sms gateway) өте маңызды.

Күрделі бөлу процестеріне алаңдамай, MySMSGate API арқылы дұрыс кодталған хабарламаны жіберудің Python тіліндегі қарапайым мысалы:

import requests

url = "https://mysmsgate.net/api/v1/send"
headers = {
    "Authorization": "Bearer VOTRE_CLE_API",
    "Content-Type": "application/json"
}
payload = {
    "to": "+33612345678",
    "message": "Votre rendez-vous est confirmé pour demain à 14h ! ",
    "sim_slot": 1
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

Біздің API түрлендіруді мөлдір түрде жүзеге асырады. Сонымен қатар, жүйемізде жеткізілім сәтсіз болған жағдайда автоматты түрде ақшаны қайтару механизмі қарастырылған, бұл сіздің тек нақты жұмыс істейтін қызмет үшін төлеуіңізді қамтамасыз етеді. Өз серверіңізге толық интеграциялау үшін Android телефонынан API арқылы SMS жіберу туралы нұсқаулығымызды оқыңыз.

SMS-тің екі есе кодталуынан қалай аулақ болуға болады ?

SMS-тің екі есе кодталуынан қалай аулақ болуға болатынын (comment eviter sms double encodage) білу үшін, кодыңыздың HTTP кітапханасы өңдеп қойған таңбалар жолына кодтау функциясын (мысалы, urlencode немесе utf8_encode) қайталап қолданбайтынына көз жеткізіңіз. Екі есе кодталған деректерді жіберу клиенттеріңізге түсініксіз таңбалар жиынтығынан тұратын оқылмайтын хабарламалардың баруына әкеледі.

SMS/MMS бейне кодтау пресетінің ерекшелігі

Мобильді телекоммуникация саласында кейде SMS/MMS бейне кодтау пресеті (preset encodage sms/mms video) деген терминді кездестіруге болады. Мәтінді кодтаудан (GSM-7 немесе UCS-2) айырмашылығы, бұл пресет MMS арқылы жіберілетін мультимедиалық файлдарды (бейнелер, анимациялық суреттер) қысу және форматтауға қатысты.

Мобильді желілер MMS үшін өте қатаң өлшем шектеулерін қояды (операторға байланысты жиі 300 Кб немесе 600 Кб-тан аз). Бейне кодтау пресеті бейненің ажыратымдылығы мен биттік жылдамдығын айтарлықтай төмендетуге мүмкіндік береді, осылайша ол оператор шлюзінен қабылданбай өткізіледі. Егер сіздің мақсатыңыз тек мәтіндік хабарландырулар немесе операциялық ескертулер жіберу болса, бұл күрделі параметрлер туралы алаңдамасаңыз да болады.

SMS кодтау туралы жиі қойылатын сұрақтар

Мұнда кәсіби SMS жіберу кезінде кодтауды және арнайы таңбаларды басқаруға қатысты ең жиі қойылатын сұрақтарға жауаптар берілген.

Неліктен қарапайым екпін белгісі SMS бағасын екі есе өсіруі мүмкін ?

«ç» (седильді с), «ê» (циркумфлексті е) немесе «à» (грависті а) сияқты кейбір таңбалар стандартты GSM-7 әліпбиіне кірмейді. Осы таңбалардың бірін пайдаланған бойда, жіберу бағдарламалық құралы бүкіл хабарламаны Unicode (UCS-2) режиміне ауыстырады. Осылайша, бір SMS-ке шаққандағы шектеу 160-тан 70 таңбаға доін төмендейді. Егер мәтініңіз 70 таңбадан асса, ол екі сегментке бөлініп, дәстүрлі операторларда жіберу құнын еселейді.

Жібермес бұрын SMS кодтауын қалай тексеруге болады ?

Желіде SMS сегменттерін тексеретін құралдар бар (көбінесе «SMS Length Calculator» деп аталады). Олар мәтінді қоюға және көрінбейтін таңбаның немесе эмодзидің Unicode-қа ауысуға мәжбүрлейтінін, сондай-ақ провайдеріңіз қанша сегмент үшін ақы алатынын бірден көруге мүмкіндік береді.

MySMSGate Unicode-пен байланысты артық шығындарды қалай болдырмайды ?

Әр сегмент үшін жеке ақы алатын классикалық API-лерден (Twilio, Plivo) айырмашылығы, MySMSGate хабарламаның ұзындығына, арнайы таңбалар немесе эмодзилердің қолданылуына қарамастан, жіберілген хабарлама үшін 0,02 $ тұрақты тариф қолданады. Хабарламаларыңыз біздің платформаға қосылған жеке Android смартфоныңыз арқылы тікелей өтеді, бұл негізсіз сегменттеу шығындарын жояды.