IOSOR База знань

Конкатенація UCS-2 непомітно спалює prepaid-сегменти SMS

Один емодзі чи символ Unicode перемикає GSM-7 на UCS-2 і дробить «одне повідомлення» на тарифіковані сегменти — фінанси мають бачити кількість сегментів, а не лічильник у редакторі.

Продукт надіслав одне SMS. Prepaid-гаманець списав три unit. Це не збій ledger — це конкатенація після тихої зміни encoding. GSM-7 тримає скромний латинський набір; усе поза ним (емодзі, багато писемностей, «розумні» лапки з документа) вмикає UCS-2, зменшує бюджет на сегмент і ріже тіло. Фінанси, що досі звітують «повідомленнями», гаманець не звірять.

IOSOR веде white-label prepaid SMS на одному ledger. Каталог live — шлях готовий; in setup — заявка, не «дешевше кодування». Біля USD 1 000+ місячного usage кількість сегментів і encoding — матеріал commercial review. Підписки «щоб акаунт жив» немає — поповнюєте prepaid і бачите units.

Чому фінанси бачать сегменти, а не «одне повідомлення»

Редактор, який показує «1 message», відповідає на продуктове питання. Гаманець відповідає на грошове: скільки тарифікованих сегментів пішло з рахунку. Цифри розходяться, щойно змінюється encoding або довжина перетинає межу. Читайте разом з облік сегментів SMS — pricing пояснює unit, ця сторінка — тихий burn у живому трафіку.

Якщо фінанси не вивантажують напрямок, encoding, довжину, кількість сегментів і unit rate, рядок — квитанція, не контроль. Див. контроль prepaid-витрат, перш ніж обіцяти SMS-бюджет із «кількості повідомлень».

GSM-7 проти UCS-2: кодування змінюється без попередження

GSM-7 ефективний і крихкий. UCS-2 чесний і дорожчий. Перемикання зазвичай невидиме в QA, якщо автори тестують лише англійську латиницю:

  • Один емодзі в кінці перекодовує все тіло.
  • Нерозривний дефіс, галочка або символ поза GSM-набором роблять те саме.
  • Змінні шаблону, «короткі» англійською, в іншій локалі роздуваються і тягнуть encoding за собою.

Не називайте UCS-2 «надбавкою за міжнародність» — це encoding, яким тіло пішло. Показуйте його поруч із character count у редакторі та API-оцінці, не лише після debit.

Конкатенація з’їдає ліміт, якого немає в прев’ю

Encoding Ліміт однієї частини Ліміт multipart Що забирає заголовок
GSM-7 160 символів 153 Заголовок конкатенації
UCS-2 70 символів 67 Той самий заголовок, менший бюджет

Перетин ліміту не заокруглюється чемно. Тіло ріжеться; кожна частина несе overhead; гаманець тарифікує кожну. UCS-2 на 71 символ — уже два сегменти. Якщо UI каже «одне повідомлення», продукт і фінанси читають різні прилади.

Змінні шаблону й абетки, що ламають один сегмент

Спалення сегментів ховається там, куди підтримка дивиться останньою:

  1. Змінна на три символи в мові автора і на тридцять — у отримувача.
  2. Юридичний футер із документа з фігурними лапками.
  3. Fallback, який додає емодзі «для тепла» на повтор після неуспішного DLR.
  4. Багатомовний шаблон, який QA прогнали лише на клавіатурі автора.

Оцінюйте до відправлення тими самими правилами, за якими спише гаманець. Попереджайте, коли правка перетинає межу. Тестуйте локалі отримувача.

Червоні прапорці

  • Редактор або API віддають «messages», а не сегменти
  • Encoding сховано до кінця місяця
  • Емодзі в OTP-шаблонах без попередження про сегменти
  • Рядки ledger без encoding + кількості сегментів
  • Масові відправлення як плоска оцінка, звірка потім
  • Каталог in setup обіцяно так, ніби математика encoding уже діє

Почніть з IOSOR

Налаштуйте валідацію кодування та перевірку кількості сегментів у консолі IOSOR перед запуском розсилки. Встановіть перевірочний гейт для API-запитів, щоб виявляти автоматичний перехід у UCS-2 до моменту списання балансу. Перевіряйте DLR-події та параметри вебхуків, аби переконатися, що спецсимволи або локалізовані змінні не подвоюють витрати.

Підсумок IOSOR

Ця стаття доводить, що візуальний лічильник символів у редакторі не відображає реальні витрати на відправку.

Чи був матеріал корисним?

Пов’язані гіди