# Коды состояния http протокола в oRTB

В протоколе oRTB (Open Real-Time Bidding), который базируется на HTTP, используются стандартные коды состояния HTTP для информирования участников системы о результатах запросов.&#x20;

Все коды состояния разбиваются на стандартные категории:

* 1xx (информационные)
* 2xx (успешные)
* 3xx (редиректы)
* 4xx (ошибки клиента)
* 5xx (ошибки сервера)

OpenRTB не определяет собственные уникальные коды состояния HTTP, а использует базовые стандартные, определенные в спецификациях HTTP. Вся дополняющая информация (например, причина отклонения заявки) может возвращаться уже на уровне тела ответа, а не через нестандартные HTTP статусы.\
Примечание: Если встретился нестандартный код ответа HTTP, скорее всего, это реализация конкретного сервера, а не часть официальной спецификации протокола OpenRTB.&#x20;

Вот таблица с кодами состояния HTTP-протокола в контексте OpenRTB (oRTB) — она покажет, какие коды встречаются, что они означают и как их интерпретировать в процессе программатик-запросов (bid request → bid response)

| 200 OK                    | Успешный ответ      | Bidder успешно обработал запрос и отправил bid response.                              | Всё в порядке, аукцион отработал корректно.                                    |
| ------------------------- | ------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| 204 No Content            | Нет содержимого     | Bidder не делает ставку — no-bid, но запрос корректный.                               | Это нормальная часть логики, без ошибки.                                       |
| 400 Bad Request           | Ошибка клиента      | Некорректный bid request: JSON-ошибка, отсутствует обязательное поле, нарушен формат. | Проверить request на соответствие OpenRTB-спецификации.                        |
| 403 Forbidden             | Ошибка клиента      | Bidder отклоняет запрос: недопустимый IP, ключ, неавторизованный DSP и т.д.           | Проверить права доступа, фильтры или whitelist.                                |
| 404 Not Found             | Ошибка клиента      | Неверный endpoint или URL (bidder отсутствует или неправильный путь).                 | Проверить конфигурацию URL-адреса.                                             |
| 405 Method Not Allowed    | Ошибка клиента      | Запрос отправлен методом, который не поддерживается (например, GET вместо POST).      | Использовать правильный метод — чаще всего POST.                               |
| 408 Request Timeout       | Ошибка клиента/сети | Bidder не ответил вовремя (таймаут на стороне клиента).                               | Убедиться, что bidder успевает обрабатывать запросы.                           |
| 429 Too Many Requests     | Ошибка клиента      | Bidder или сервер перегружен — превышен лимит количества запросов.                    | Настроить rate limiting, уменьшить частоту запросов.                           |
| 500 Internal Server Error | Ошибка сервера      | Ошибка на стороне bidder’а — сбой в обработке запроса.                                | Контактировать техническую поддержку партнёра.                                 |
| 502 Bad Gateway           | Ошибка сервера      | Проблемы с прокси или между SSP и DSP (bidder не отвечает корректно).                 | Проверить промежуточные узлы или связаться с DSP.                              |
| 503 Service Unavailable   | Ошибка сервера      | Bidder временно недоступен (например, на техобслуживании).                            | Повторить запрос позже.                                                        |
| 504 Gateway Timeout       | Ошибка сервера      | Bidder не ответил вовремя, и прокси (SSP) завершил соединение по таймауту.            | Аналогично 408 — увеличить таймаут или оптимизировать время ответа у партнёра. |
