> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/api/ru/api-razmesheniya-reklamy/ad-plac-request.md).

# Запрос

API размещения рекламы можно вызвать либо с **клиентской** стороны или с **серверной** стороны.

При использовании **клиентской** реализации на стороне, браузер может выполнить **предварительный** запрос. Если вы хотите избежать этого, в заголовке запроса используйте `Content-Type: text/plain`. Это гарантирует, что браузер классифицирует запрос как «простой» и, следовательно, пропустит предварительный запрос.

Также, при вызове API на **клиентской** стороне, **IP-адреса на самом деле не требуются** так как обнаружить IP с помощью фронтенда и JavaScript может быть сложно. Вместо этого наше API определяет IP по соединению в момент отправки запроса.

При использовании **серверной** реализации на стороне, чтобы обеспечить корректное таргетирование, **нужно явно передавать корректный IP-адрес пользователя**. В противном случае реклама будет таргетироваться по местоположению сервера, и позже это может привести к тому, что показы будут аннулированы из-за несоответствия IP.

Независимо от того, используется клиент или сервер, если IP передан, он будет иметь приоритет над тем, который мы определим.

Чтобы выполнить запрос к API размещения рекламы, нужно передать два объекта: **user** и **zones**. Запрос выполняется в формате JSON с использованием HTTP POST.

## user

| Параметр            | Обязательно?  | Описание                                                                                                                                                                                                                                     |
| ------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                  | Нет           | ID пользователя                                                                                                                                                                                                                              |
| ip                  | Рекомендуется | IP-адрес пользователя.                                                                                                                                                                                                                       |
| ua                  | Да            | User Agent: строка, содержащая браузер/приложение пользователя и его устройство/ОС.                                                                                                                                                          |
| language            | Нет           | Устанавливает язык запроса с использованием [стандартного двухсимвольного кода ISO](https://www.andiamo.co.uk/resources/iso-language-codes/) плюс необязательный двухсимвольный код региона. Например `en-us` для американского английского. |
| referer             | Нет           | Адрес сайта, на котором будет показана реклама.                                                                                                                                                                                              |
| el                  | Нет           | Email пользователя, закодированный в Base64.                                                                                                                                                                                                 |
| screen\_resolution  | Нет           | Разрешение экрана устройства, используемого пользователем                                                                                                                                                                                    |
| window\_orientation | Нет           | Это должно быть "portrait", если сайт имеет мобильную верстку, и "landscape", если это десктопная версия.                                                                                                                                    |
| gdpr                | Нет           | Рекомендуемые расширения, связанные с конфиденциальностью (объект).                                                                                                                                                                          |

### user.gdpr

| Параметр | Описание                                                                                                                                     |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| gdpr     | Это должно быть **0** если вызывающая сторона считает, что пользователь не подпадает под GDPR, и **1** если пользователь подпадает под GDPR. |
| consent  | Это строка согласия, требуемая стандартами IAB.                                                                                              |

## zones

| Параметр          | Обязательно? | Описание                                                                                                                                                                                                                                                |
| ----------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                | Да           | ID рекламной зоны                                                                                                                                                                                                                                       |
| sub               | Нет          | Sub ID рекламной зоны                                                                                                                                                                                                                                   |
| keywords          | Нет          | Любые [keywords](/advertisers/campaigns/creating-a-campaign/create-campaign-step3.md#keywords) связанные с трафиком, которые могут соответствовать определённому типу рекламы. Если ключевых слов нет, для сопоставления будет использоваться URL сайта |
| custom\_targeting | Нет          | Пользовательские значения зоны (объект)                                                                                                                                                                                                                 |

### zones.custom\_targeting

| Параметр | Описание                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------ |
| ex\_av   | Это должно быть **0** если не определено, **1** если возраст подтверждён и **2** если возраст не подтверждён |

## Пример

Можно запросить множество рекламных зон одним запросом. У каждой зоны будет свой ID, как вы можете видеть в примере ниже.

```json
{
  "user": {
    "id": "abdef8u9",
    "ip": "10.42.0.1",
    "ua": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
    "language": "en-US",
    "referer": "https://blabla.com",
    "gdpr": {
      "gdpr": 1,
      "consent": "CPAoZRHPArq3hBcADBENBJCgAAAAAAAAAAqIHKQAAOUgAAAA"
    }
  },
  "zones": [
    {
      "id": 4031007,
      "sub": 111,
      "keywords": "humour, general"
    },
    {
      "id": 4031015,
      "sub": 222
    },
    {
      "id": 4031019,
      "sub": 222
    }
  ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/api/ru/api-razmesheniya-reklamy/ad-plac-request.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
