# Коды состояния 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 — увеличить таймаут или оптимизировать время ответа у партнёра. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umg.team/main/specifikacii/kody-sostoyaniya-http-protokola-v-ortb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
