> For the complete documentation index, see [llms.txt](https://knowledgebase.offer18.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledgebase.offer18.com/ru/set/api-seti/api-sozdaniya-offera.md).

# API создания оффера

```
POST https://api.offer18.com/api/m/offers
```

:link: [<mark style="color:blue;">**Нажмите, чтобы протестировать API создания оффера**</mark>](https://offer18.readme.io/reference/offers-api)

### Общие параметры

| **Query**  | **Тип** | **Описание**         |
| ---------- | ------- | -------------------- |
| mid        | Integer | ID сетевого аккаунта |
| api-key    | String  | Ключ API сети        |
| secret-key | String  | Секретный ключ сети  |

**Действие**

<table data-header-hidden><thead><tr><th width="207.16379474883627"></th><th width="194.99924751175493"></th><th></th></tr></thead><tbody><tr><td><strong>Query</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>action</td><td>String</td><td><strong>Допустимые значения:</strong><br>create / update / delete</td></tr><tr><td>offer_id</td><td>Integer</td><td>Требуется при обновлении и удалении оффера</td></tr></tbody></table>

***

### **Поля**&#x20;

<table data-header-hidden data-full-width="false"><thead><tr><th width="329.1820791993198"> </th><th width="124"> </th><th width="293.1921073532865"> </th></tr></thead><tbody><tr><td><strong>Тело</strong></td><td><strong>Тип</strong></td><td><strong>Описание</strong></td></tr><tr><td>offer_name</td><td>String</td><td>Название кампании</td></tr><tr><td>advertiser_id</td><td>Integer</td><td>ID рекламодателя </td></tr><tr><td>offer_url</td><td>URL</td><td>URL кампании</td></tr><tr><td>external_offer_id</td><td>String</td><td>Внешний ID кампании (если есть)</td></tr><tr><td>app_id</td><td>String</td><td>ID приложения (если есть)</td></tr><tr><td>logo</td><td>URL</td><td>URL логотипа кампании</td></tr><tr><td>category</td><td>String</td><td>Категория кампании</td></tr><tr><td>preview_url</td><td>URL</td><td>URL предпросмотра кампании</td></tr><tr><td>currency</td><td>String</td><td><p>Валюта оффера</p><p><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#currency"><mark style="color:blue;">Просмотреть валюты</mark></a></p></td></tr><tr><td>price_advertiser</td><td>Decimal</td><td>Цена, заданная рекламодателем для кампании</td></tr><tr><td>price_affiliate</td><td>Decimal</td><td>Цена, выплачиваемая партнёру за кампанию</td></tr><tr><td>model_advertiser</td><td>String</td><td>Модель рекламодателя кампании<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#models"><mark style="color:blue;">Просмотреть модели</mark></a></td></tr><tr><td>model_affiliate</td><td>String</td><td>Модель рекламодателя кампании<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#models"><mark style="color:blue;">Просмотреть модели</mark> </a></td></tr><tr><td>hide_affiliate_payout</td><td>Integer</td><td>Допустимые значения <br><strong>1:</strong> Чтобы скрыть выплату партнёру</td></tr><tr><td>start_datetime</td><td>Timestamp UTC</td><td>Дата / время начала<br>(YYYY-MM-DD HH:MM:SS) </td></tr><tr><td>end_datetime</td><td>Timestamp UTC</td><td>Дата / время окончания<br>(YYYY-MM-DD HH:MM:SS )</td></tr><tr><td>visibility</td><td>String</td><td><strong>Допустимые значения:</strong><br>public, permission, private</td></tr><tr><td>status</td><td>String</td><td><strong>Допустимые значения:</strong> approve, pending</td></tr><tr><td>deep_links</td><td>Integer</td><td>Допустимые значения<br><strong>1:</strong> Чтобы включить deeplinks в офферах</td></tr><tr><td>offer_terms</td><td>String</td><td>Условия кампании</td></tr><tr><td>offer_kpi</td><td>String</td><td>KPI-условия кампании</td></tr><tr><td>private_note</td><td>String</td><td>Личные заметки в кампании</td></tr><tr><td>imps_url</td><td>URL</td><td>URL показа</td></tr><tr><td>landing_page_id_1</td><td>Integer</td><td>Если пользователь хочет обновить существующую целевую страницу</td></tr><tr><td>landing_page_name_1</td><td>String</td><td>Название первой целевой страницы </td></tr><tr><td>landing_page_url_1</td><td>URL</td><td>URL первой целевой страницы кампании</td></tr><tr><td>landing_page_id_2</td><td>Integer</td><td>Если пользователь хочет обновить существующую целевую страницу</td></tr><tr><td>landing_page_name_2</td><td>String</td><td>Название второй целевой страницы</td></tr><tr><td>landing_page_url_2</td><td>URL</td><td>URL второй целевой страницы кампании</td></tr><tr><td>creatives</td><td>URL</td><td>URL креативов кампании</td></tr><tr><td>fallback</td><td>boolean</td><td>Допустимые значения:<br><strong>1:</strong> Чтобы включить fallback</td></tr><tr><td>fallback_offer_id</td><td>Integer</td><td>ID оффера fallback'а</td></tr><tr><td>fallback_url</td><td>URL</td><td>URL fallback'а</td></tr><tr><td>fraud_conv_speed</td><td>Integer</td><td>Время в секундах</td></tr><tr><td>proxy_block</td><td>Integer</td><td>Допустимые значения:<br><strong>1:</strong> Чтобы блокировать прокси</td></tr><tr><td>blank_ref_block</td><td>Integer</td><td>Допустимые значения:<br><strong>1:</strong> Чтобы блокировать пустой реферер</td></tr><tr><td>hide_referral</td><td>Integer</td><td>Допустимые значения:<br><strong>1:</strong> Чтобы скрыть реферальную ссылку</td></tr><tr><td>assign_affiliates</td><td>Integer</td><td>Назначить партнёров этой кампании<br>(значения, разделённые запятыми)</td></tr><tr><td>capping_rule_id</td><td>Integer</td><td>Если пользователь хочет обновить существующее правило лимита</td></tr><tr><td>capping[0][capping_rule_name]</td><td>String</td><td>Название правила лимита </td></tr><tr><td>capping[0][capping_rule_type]</td><td>String</td><td>Тип правила лимита <br>1. <strong>advertiser_capping</strong><br>2. <strong>affiliate_capping</strong></td></tr><tr><td>capping[0][capping_timezone]</td><td>Отметка времени</td><td>Часовой пояс лимита</td></tr><tr><td>capping[0][capping_events]</td><td>String</td><td>События лимита</td></tr><tr><td>capping[0][capping_type]</td><td>String</td><td>Тип лимита<br>1. <strong>gross_conversions</strong><br>2. <strong>approved_conversions</strong><br>3. <strong>gross_revenue</strong><br>4. <strong>approved_revenue</strong><br>5. <strong>gross_payout</strong><br>6. <strong>approved_payout</strong><br>7. <strong>gross_clicks</strong><br>8. <strong>approved_clicks</strong></td></tr><tr><td>capping[0][capping_period]</td><td>String</td><td>Период лимита<br>1. <strong>daily</strong><br>2. <strong>weekly</strong><br>3. <strong>monthly</strong><br>4. <strong>hourly</strong></td></tr><tr><td>capping[0][capping_value]</td><td>Integer</td><td>Значение лимита</td></tr><tr><td>capping[0][overcap_action]</td><td>String</td><td>Действие при превышении лимита<br>1. <strong>stop</strong><br>2. <strong>fallback</strong><br>3. <strong>fallback_conversion_accept</strong><br>4. <strong>conversion_accept</strong><br>5. <strong>conversion_reject</strong><br>6. <strong>conversion_pending</strong></td></tr><tr><td>capping[0][capping_notification_email]</td><td>Строка</td><td>Email уведомления о лимите</td></tr><tr><td>capping[0][capping_affiliate_visibility]</td><td>Integer</td><td><strong>1:</strong> Чтобы показать правило лимита партнёру</td></tr><tr><td>capping[0][capping_affiliate_id]</td><td>Строка</td><td>ID партнёров (через запятую)</td></tr><tr><td>targeting_rule_id</td><td>Integer</td><td>Если пользователь хочет обновить существующее правило таргетинга</td></tr><tr><td>target_country</td><td>String</td><td>Разрешить определённую страну <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#countries"><mark style="color:blue;">Просмотреть страны</mark></a></td></tr><tr><td>block_country</td><td>String</td><td>Блокировать определённую страну <br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#countries"><mark style="color:blue;">Просмотреть страны</mark></a></td></tr><tr><td>target_os</td><td>String</td><td>Разрешить определённую операционную систему<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#operating-systems"><mark style="color:blue;">Просмотреть ОС</mark></a></td></tr><tr><td>block_os</td><td>String</td><td>Блокировать определённую операционную систему<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#operating-systems"><mark style="color:blue;">Просмотреть ОС</mark></a></td></tr><tr><td>target_device</td><td>String</td><td>Разрешить определённые устройства<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#devices"> <mark style="color:blue;">Просмотреть устройства</mark></a></td></tr><tr><td>block_device</td><td>String</td><td>Блокировать определённые устройства<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span><a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#devices"> <mark style="color:blue;">Просмотреть устройства</mark></a></td></tr><tr><td>target_browser</td><td>String</td><td>Разрешить определённый браузер<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#browsers"><mark style="color:blue;">Просмотреть браузеры</mark></a></td></tr><tr><td>block_browser</td><td>String</td><td>Блокировать определённый браузер<br><span data-gb-custom-inline data-tag="emoji" data-code="1f517">🔗</span> <a href="/pages/c5cd60bf393cfe040df1d311d8c64cb375cfe4b3#browsers"><mark style="color:blue;">Просмотреть браузеры</mark></a></td></tr><tr><td>target_isp</td><td>String</td><td>Разрешить определённый ISP</td></tr><tr><td>block_isp</td><td>String</td><td>Блокировать определённый ISP</td></tr><tr><td>events[0][event_name]</td><td>String</td><td>Название события </td></tr><tr><td>events[0][event_token]</td><td>String</td><td>Токен события</td></tr><tr><td>capping_conversion_period</td><td>String</td><td><mark style="color:orange;"><strong>Устаревшее</strong></mark></td></tr><tr><td>capping_budget</td><td>Integer</td><td><mark style="color:orange;"><strong>Устаревшее</strong></mark></td></tr><tr><td>capping_conversion</td><td>Integer</td><td><mark style="color:orange;"><strong>Устаревшее</strong></mark></td></tr><tr><td>capping_budget_period</td><td>String</td><td><mark style="color:orange;"><strong>Устаревшее</strong></mark></td></tr></tbody></table>

**Правила лимита (инструкции)**&#x20;

{% hint style="info" %}

1. Если вы хотите задать несколько правил лимита, вы можете сделать это, присвоив правила разным номерам\
   **Пример 1:** \
   &#x20; capping\[**1**]\[capping\_rule\_name] \n  capping\[**1**]\[capping\_rule\_type]\
   **Пример 2:**\
   &#x20; capping\[**2**]\[capping\_rule\_name] \n  capping\[**2**]\[capping\_rule\_type]
2. Если вы хотите обновить существующее правило лимита, вы должны отправить **capping\_rule\_id** в API-запрос вместе с новыми данными в **0**номер (ноль)\
   **Пример:**\
   &#x20; capping\[**0**]\[capping\_rule\_name] \n  capping\[**0**]\[capping\_rule\_type]
   {% endhint %}

**События (инструкции)**&#x20;

{% hint style="info" %}

1. Если вы хотите создать несколько событий, вы можете сделать это, присвоив события разным номерам\
   **Пример 1:** \
   &#x20; events\[1]\[event\_name] \n  events\[1]\[event\_token]\
   **Пример 2:**\
   &#x20; events\[2]\[event\_name] \n  events\[2]\[event\_token]
   {% endhint %}

***

### Пример API-запроса

**Создание оффера**

<figure><img src="/files/d599d8e4f52f12a4020b986ab79afb9976ee5273" alt=""><figcaption></figcaption></figure>

**Ответ API**

```
{
    "status": "200",
    "response": "offer_created_successfully",
    "offer_id": 000012    
}
```

**Обновление оффера**

<figure><img src="/files/3f55be04346919aaf963a73dad876f9877f86882" alt=""><figcaption></figcaption></figure>

**Ответ API**

```
{
    "status": "200",
    "response": "offer_updated_successfully",
    "offer_id": "000001"
}
```

***

{% hint style="info" %}
**Для безопасного взаимодействия всегда вызывайте API на стороне сервера.**
{% endhint %}
