IOSOR База знань
Тестування повторів webhook та ідемпотентності під час запуску
Перевірка графіків повторних спроб webhook та ключів ідемпотентності в IOSOR під час відключень вебхуків субарендарів та обробки DLR.
Тестування повторів webhook та ідемпотентності під час запуску.
Аналіз стійкості webhook під час пілотного запуску
Під час запуску платформи IOSOR збої на стороні субарендарів можуть блокувати сповіщення. Валідація затримок повторів та ідемпотентності гарантує, що статуси SMS (DLR) та повідомлення OTP не будуть втрачені або протарифіковані двічі. Якщо сервер повертає HTTP 500, система буферизує події та застосовує затримки.
Тестування передбачає імітацію збоїв приймача під час активного трафіку. Генерація відповідей HTTP 503 дозволяє перевірити збереження подій без втрати даних та порушення білінгу.
Графіки затримок backoff та маршрутизація DLR
При виникненні подій, як-от зміна стану SMS або отримання команди STOP, IOSOR виконує надсилання на вказаний webhook URI. Якщо підтвердження HTTP 2xx відсутнє, запускається експоненціальний backoff з інтервалами від 15 секунд до кількох годин.
Черги пріоритетів обробляють оновлення DLR під час аварійних вікон. Якщо вичерпано всі спроби, стан змінюється на failed-webhook. Це гарантує стабільність для OTP навіть під час тимчасових збоїв аналітичних вебхуків.
Застосування ключів ідемпотентності для захисту балансу
Повторні запити через мережеві збої створюють ризик подвійних списань. Щоб уникнути повторного відправлення, кожен API-запит має містити унікальний ключ ідемпотентності.
Під час повтору IOSOR звіряє ключ з індексом реєстру. Збіг ключа повертає кешовану відповідь без повторного виконання. Перевірка підтверджує захист від дубльованого відправлення SMS та зайвого замовлення номерів.
Контроль балансу та лімітів рахунку
Фінансова безпека забезпечується миттєвим резервуванням коштів. Виділення номерів через JIT ставить холд під щомісячну абонплату (MRC) та трафік. Номери у форматі E.164 прив'язуються до рахунку напряму.
Обліковий запис має підтримувати мінімальний залишок USD 20 prepaid floor. Падіння нижче цього рівня блокує нові замовлення та відправку. Різкі стрибки обсягів активують розширену перевірку soft review near USD 1,000/month.
Сценарії діагностики та розв'язання інцидентів
Тестування відмов дає змогу оптимізувати параметри черги та таймаути до масштабування.
Ознайомтеся з корисними матеріалами з запуску:
- Пілотний тиждень запуску: запас ходу після першої відправки
- Тиждень інцидентів запуску: червоний бал означає стоп, а не маркетинг
- ідемпотентність, retry і гроші
Почніть з IOSOR
Симулюйте тимчасову недоступність вашого endpoint у консолі IOSOR, повернувши помилку 500 під час тестової відправки DLR. Перевірте у журналах подій, як саме симулятор застосовує інтервали експоненційної затримки (backoff) від 15 секунд. Наостанок надішліть повторний запит із тим самим ключем ідемпотентності, щоб переконатися у відсутності дубльованих списань у реєстрі.
Підсумок IOSOR
Цей тест довів, що коректне налаштування розкладу повторних спроб та використання ключів ідемпотентності повністю захищають систему від втрати критичних DLR-сповіщень і повторного списування коштів під час збоїв на кінцевих точках tenant-клієнта.
Обов'язково передавайте унікальний ключ ідемпотентності для кожного API-запиту та контролюйте глибину черги вебхуків у консолі. Не випускайте трафік у продакшн без попередньої симуляції мережевих таймаутів та перевірки логів доставки.
Чи був матеріал корисним?
Пов’язані гіди
- Перевірка статусу реєстрації Sender ID перед запуском трафіку
Інструкція з автоматичної перевірки активності та реєстрації буквених Sender ID у цільових країнах перед стартом відправки SMS в IOSOR.
- Перевірка швидкості JIT-виділення номерів перед масштабуванням
Тестування швидкості автоматичного виділення DIDs та SLA перед запуском високого навантаження. Перевірка холдування балансу, E.164 та вебхуків в IOSOR.
- Тестування сповіщень про автопоповнення та попереджень про ліміт балансу під час запуску
Перевірка автоматичних webhook-сповіщень про низький баланс та спрацьовування автопоповнення гаманців суб-клієнтів перед запуском трафіку в IOSOR.