IOSOR База знань
Обробка статус-кодів HTTP 402 та 429 у логіці повторів API
Дізнайтеся, як розрізняти нестачу коштів та ліміти трафіку в API платформи передплаченого CPaaS для побудови надійних алгоритмів повторних запитів.
Обробка статус-кодів HTTP 402 та 429 у логіці повторів API.
Архітектура HTTP статусів у передплаченій CPaaS
Створюючи програмні інтеграції для комунікацій, ваші сервіси спираються на передбачувані відповіді сервера. На відміну від постоплати, біла передплачена CPaaS функціонує на основі реального балансу гаманця та миттєвого списання. Будь-який запит на генерацію OTP, надсилання SMS чи реєстрацію webhook перевіряє стан рахунку в реальному часі. Чітке розуміння природи помилок дозволяє уникнути зависання воркерів та зберегти цілісність черг.
Анатомія помилки HTTP 402 Payment Required
Статус 402 сигналізує про те, що транзакція зупинена через брак коштів на балансі для покриття витрат чи MRC. Наприклад, виділення номерів працює за схемою JIT + prepaid hold + assign для номерів із миттєвим резервуванням. Якщо ваш баланс досягає мінімального рівня у USD 20 передплати, шлюз відхиляє будь-які вихідні пакети даних із кодом 402. Повторення таких запитів без поповнення є помилковим та марнує ресурси процесора. Обробник повинен спрямовувати такі події у фінансові сповіщення.
Анатомія помилки HTTP 429 Too Many Requests
Натомість статус 429 інформує про перевищення лімітів інтенсивності запитів, наприклад, при надмірній кількості перевірок Verify OK. На відміну від фінансової заборони 402, помилка 429 є тимчасовим операційним обмеженням. Заголовки відповіді зазвичай містять вказівку Retry-After, яка визначає паузу перед наступною спробою. Використання експоненційного згладжування для 429 захищає пропускну здатність каналів зв'язку від перевантажень.
Проєктування гнучких правил повтору та захисних механізмів
Надійний код вимагає чіткого розгалуження логіки за кодами відповідей сервера. Для 429 налаштуйте цикл повторів із випадковою затримкою. Для 402 зупиніть відправку трафіку за допомогою захисного реле, дочекайтеся підтвердження через webhook про надходження коштів і лише тоді відновлюйте роботу. У міру того як обсяги наближаються до м'якого моніторингу біля USD 1,000/month, розділення цих станів уберігає систему від збоїв обробки DLR та форматів E.164.
Інтеграція перевірки гаманця та лімітування швидкості
Для максимальної ефективності поєднуйте перевірку балансу з розумним плануванням черг. Перед масовими кампаніями завжди опитуйте стан рахунку. Для поглибленого вивчення цих архітектурних рішень ознайомтеся з матеріалами ліміти API від пілота до production, ідемпотентність, retry і гроші та Abuse spike: зупинка без fake success, щоб захистити фінанси від аномалій трафіку.
Почніть з IOSOR
Розведіть клієнта: HTTP 402 означає, що prepaid-hold не пройшов або гаманець не може закрити — стоп наміру, покажіть поповнення, не повторюйте. HTTP 429 означає, що вікно швидкості повне — шануйте Retry-After і надішліть той самий Idempotency-Key. Один обробник, який ретраїть обидва коди, карбує другу бурю debit.
Підсумок IOSOR
402 — грошовий стоп; 429 — пауза темпу. Це не той самий повтор.
Робіть: стійте на 402, доки новий hold не зможе закритися; на 429 робіть backoff з початковим ключем, щоб prepaid побачив один намір.
Не робіть: вважати 402 м’яким 429 або лупити будь-який код до 200, поки ledger ще вирішує.
Чи був матеріал корисним?
Пов’язані гіди
- Симуляція затримок DLR та помилок у локальному тестуванні
Як налаштувати локальне макетування асинхронних звітів про доставку, затримок DLR та обробку збоїв мережі перед релізом.
- Балансування пакетних запитів та пропускної здатності API
Оптимізація стратегій паралелізму API для масової розсилання сповіщень із дотриманням лімітів у вашій white-label CPaaS консолі.
- Розмежування API-ключів для мультитенанантної безпеки платформи
Захистіть субакаунти white-label CPaaS через ізоляцію токенів, запобігання витоку трафіку між клієнтами та суворий облік балансу.