IOSOR База знаний
Unit class шаблона на debit rows
Каждая prepaid debit row должна нести именованный unit class — template, session, segment или verify — чтобы finance стыковал spend без folklore-таблиц.
Settled debit без unit class — деньги без product-истории. Finance не отличает template send от session unit, SMS segment или verify attempt — recon превращается в Slack-археологию. Эта страница — контракт метки на ledger: каждая production debit row несёт тот же unit class, что product замапил в каталоге — не эссе про session-window pricing.
Связанные: Ворота review шаблона и unit class, debit и delivery status в одном ledger, Fraud burn rows на prepaid ledger.
IOSOR — white-label prepaid.
Unit class — поле ledger, не заметка в чате
Product может сказать «OTP template» в треде; finance нужен filterable field: unit class, template ID (если применимо), amount, correlation ID, UTC timestamp. Pin в чате — не ledger of record. Soft USD 1 000/мес считает «мы знаем, какой это был class» долгом volume; USD 20 доказывает: blank class не settles.
Именованные классы, которые finance фильтрует
| Unit class | Типичный send | Ожидание finance |
|---|---|---|
| Template unit | Approved outbound template | Per-send template debit + template ID |
| Session unit | User-initiated window | Debit session-class, не folklore template |
| SMS segment | Templated или plain SMS | Segment × list; class всё равно named |
| Verify attempt | OTP / code check | Attempt или verify row — не «misc messaging» |
Стыковка правды каталога с каждым debit
Каталог держит template ID, review state и unit class. Debit row должна стыковать эти поля за то же UTC-окно. Version bump снова входит в Approved; bumped ID не наследует вчерашний class silently. Retire останавливает production debit под старым ID. Нет join-колонок — утренние recon tickets.
Пустой или mismatched class — fail closed
Нет unit class → нет production settle. Class на debit ≠ class в каталоге → fail closed или hold release с честным status — никогда silent rewrite в другой class. Unknown template ID → нет settle. Общий словарь статусов гасит hero-коды: product и finance открывают одну лексику. Soft USD 1 000/мес делает class mismatch exportable; USD 20 доказывает коридор, где blank class не дебетует.
Чеклист покупателя: unit class на debit rows
- Каждый settled production debit несёт named unit class?
- Template send включает template ID + template unit (или mapped segment) для join?
- Session и verify классы раздельны — не схлопнуты в «messaging»?
- Unit class каталога совпадает с debit row за то же UTC-окно?
- Blank / mismatched class блокирует settle с честным status?
- Soft volume language blocked, пока маркировка class в draft?
Начните с IOSOR
Настройте строгую валидацию атрибута unit class для всех списаний по шаблонам в консоли IOSOR перед выпуском в продакшен. Включите автоматическую блокировку шлюза при отсутствии ID шаблона или расхождении класса дебета с каталогом. Сверьте выгрузку вебхуков списания за текущее UTC-окно, чтобы убедиться в разделении сессионных юнитов и SMS-сегментов.
Итог IOSOR
Наличие названия шаблона в чате поддержки не является финансовым реестром. Данная статья доказала, что каждый дебет должен содержать явный класс юнита, ID шаблона, correlation ID и временную метку UTC, жестко связанные со статусом в каталоге.
Был ли материал полезен?
Связанные гайды
- Управление массовой повторной подачей шаблонов при восстановлении
Освойте методы систематической верификации шаблонов после обновления политик операторов в системе IOSOR для обеспечения стабильной доставки сообщений.
- Проверка медиа-заголовков перед отправкой шаблонов
Узнайте, как правильно подготовить изображения и документы для шаблонов в IOSOR. Избегайте отклонений, следуя нашим правилам проверки медиа-активов.
- Синхронизация одобренных шаблонов сообщений в мультиарендных средах
Узнайте, как эффективно распространять шаблоны сообщений в white-label CPaaS, сохраняя строгую изоляцию данных и обеспечивая соответствие требованиям для каждого субаккаунта.