Під час інтеграції з HTTP REST API для надсилання SMS та інших повідомлень важливо враховувати коди стану HTTP, які повертає сервер.
Коди відповідей HTTP складаються з трьох цифр і поділяються на кілька категорій. Коректна обробка цих кодів дозволяє розробникам швидко діагностувати помилки, запобігати збоям та покращувати стабільність інтеграції.
Усі HTTP-коди поділяються на кілька класів:
Коди успішних запитів (2xx)
Ці коди вказують на те, що запит успішно оброблено сервером.
Код | Назва | Опис |
---|---|---|
200 OK | Успішний запит | Повідомлення прийняте сервером та оброблено. |
201 Created | Створено | Повідомлення успішно створено (наприклад, додано до черги на відправку). |
202 Accepted | Прийнято | Запит прийнято, але обробка ще не завершена (асинхронна обробка повідомлень). |
204 No Content | Без вмісту | Запит виконаний, але відповіді немає даних (наприклад, видалення запису). |
Код 200 OK найчастіше зустрічається в API для SMS і означає, що сервер успішно обробив запит і надіслав відповідь.
Коди помилок клієнта (4xx)
Помилки клієнта вказують на проблеми із запитом, такі як неправильний формат даних, відсутність авторизації або використання недоступного ресурсу.
Код | Назва | Опис |
---|---|---|
400 Bad Request | Неправильний запит | Сервер не зміг обробити запит через синтаксичну помилку. |
401 Unauthorized | Немає авторизації | Запит вимагає авторизації, але облікові дані відсутні або неправильні. |
403 Forbidden | Доступ заборонено | Облікові дані є вірними, але доступ до ресурсу заборонено. |
404 Not Found | Не знайдено | Запитуваного ресурсу не існує (наприклад, неіснуючий номер SMS). |
405 Method Not Allowed | Метод не підтримується | Метод HTTP (GET, POST, PUT, DELETE) не дозволяється для цього ресурсу. |
429 Too Many Requests | Забагато запитів | Перевищено обмеження кількості запитів API. |
Найпоширеніший код 401 Unauthorized означає, що під час виклику API не було передано коректні облікові дані. У цьому випадку необхідно перевірити API-ключ або токен автентифікації. Код 429 Too Many Requests говорить про те, що клієнт надсилає надто багато запитів за короткий проміжок часу, і слід зменшити частоту дзвінків.
Коди помилок сервера (5xx)
Помилки сервера вказують на проблеми на стороні провайдера API.
Код | Назва | Опис |
---|---|---|
500 Internal Server Error | Внутрішня помилка сервера | Загальна помилка сервера, що потребує аналізу логів. |
502 Bad Gateway | Помилковий шлюз | Проблема на рівні проксі-сервера або шлюзу API. |
503 Service Unavailable | Сервіс недоступний | Сервер перевантажено або тимчасово вимкнено на обслуговування. |
504 Gateway Timeout | Сплив час очікування | Запит не був оброблений через тайм-аут на рівні шлюзу. |
Помилка 500 Internal Server Error є найбільш загальною і може бути викликана різними проблемами, включаючи збої в базі даних або внутрішніх сервісах.
Перевірити коди помилок 4xx перед повторним надсиланням.
Якщо сервер повертає 400 Bad Request, це означає, що запит містить помилку.
Налаштувати повторні спроби при помилках 5xx.
Помилки 500, 502, 503 можуть бути тимчасовими, тому рекомендується реалізувати механізм автоматичного повторного відправлення із затримкою.
Слідкувати за обмеженнями частоти запитів.
Якщо сервер повертає 429 Too Many Requests, необхідно знизити частоту викликів API та використовувати стратегію Rate Limiting.
Використовувати логування HTTP-кодів.
Запис усіх HTTP-відповідей до журналу дозволяє швидше виявляти помилки інтеграції та знаходити проблеми з доставкою повідомлень.
HTTP коди стану відіграють ключову роль при інтеграції з API для відправки SMS. Вони дозволяють швидко визначати причини помилок, розуміти, чи успішно оброблений запит, і реагувати на можливі проблеми зі з'єднанням, автентифікацією або серверним навантаженням.
Для стабільної роботи API-інтеграції рекомендується уважно стежити за кодами відповідей, коректно обробляти помилки та реалізовувати механізми повторних спроб при тимчасових збоях.
У разі виникнення питань щодо обробки HTTP-кодів в API зверніться до технічної підтримки.