IOSOR База знань

Шлюз review шаблону та unit class

Закрийте review і назвіть unit class до prepaid debit на volume — лише Approved плюс іменований unit, інакше production send немає.

На volume шаблон без review gate і іменованого unit class — як prepaid-гаманець тане за «успішних» send, які ніхто не може оцінити. Покупець доводить: review = Approved і unit class mapped до production debit, а не після month file у finance. Ця сторінка — шлюз; sibling — catalog-before-Live.

Пов’язані: Каталог шаблонів перед Live каналу, Рядки fraud burn на prepaid ledger, debit і delivery status в одному ledger, Спільна мова статусів для product і finance, Velocity caps перед production OTP.

Review state — жорсткий шлюз, не ярлик

Draft, In review, Approved, Rejected і Retired — money states. У production send їде лише Approved. Rejected і Draft fails closed з чесним статусом — без silent fallback burn в інший клас. Спочатку володіння каталогом: Каталог шаблонів перед Live каналу.

Unit class до того, як debit стане в ledger

Unit class Типовий use Очікування debit
SMS segment Templated SMS / UCS-2 Segments × list
Template unit Rich outbound template За approved template send
Session unit User-initiated window Правила session window
Verify attempt OTP / code check Attempt або verify row

Fail closed, якщо review або class відсутні

Немає review state → немає send. Немає unit class → немає send. Невідомий template ID → немає send. Status words спільні, без hero-кодів: Спільна мова статусів для product і finance.

Product, finance і ops ділять одне proof

Product: легітимний Approved-шаблон проходить під mapped unit class? Finance: на кожному debit row є template ID + unit class за UTC-вікно? Ops: export reject і class mismatch без археології в Slack? Один proof pack краще за три треди. Чесність burn, коли reject ховає spend: Рядки fraud burn на prepaid ledger.

Чекліст покупця: review gate і unit class

  1. Production send вимагає Approved — Draft/In review blocked?
  2. Rejected і Retired fails closed з чесним статусом?
  3. Кожен catalog ID mapped рівно на один unit class?
  4. Debit row показує template ID + unit class для join finance?
  5. Override іменований, time-bounded, закритий новим smoke?
  6. Soft volume language blocked, доки unit class порожній?

Будь-яке «ні» тримає review gate у draft.

Почніть з IOSOR

Перевірте в консолі IOSOR, чи всі ваші шаблони відправки мають чіткий статус Approved та прив'язаний клас юніта перед запуском у продакшн. Налаштуйте правила шлюзу (gate), щоб запити зі статусами Draft, In review або Rejected блокувалися за принципом fail-closed із поверненням точного коду помилки. Переконайтеся, що ваші вебхуки отримують ідентифікатор класу юніта разом із DLR для коректного обліку кожної операції.

Підсумок IOSOR

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

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

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