Маркетинг и продвижение (promotion)
Методы маркетинга и продвижения позволяют:
- Получать информацию о кампаниях продвижения
- Создавать и управлять кампаниями
- Управлять финансами кампаний
- Выгружать статистику кампаний продвижения
- Работать с календарём акций
Данные синхронизируются с базой раз в 3 минуты. Статусы кампаний меняются раз в минуту. Ставки кампаний меняются раз в 30 секунд.
Методы маркетинга и продвижения позволяют:
- Получать информацию о кампаниях продвижения
- Создавать и управлять кампаниями
- Управлять финансами кампаний
- Выгружать статистику кампаний продвижения
- Работать с календарём акций
Данные синхронизируются с базой раз в 3 минуты. Статусы кампаний меняются раз в минуту. Ставки кампаний меняются раз в 30 секунд.
Методы получения:
Списки кампаний{{ /adv/v1/promotion/count }}
Метод возвращает списки всех рекламных кампаний продавца с их ID. Кампании сгруппированы по типу и статусу, у каждой указана дата последнего изменения.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 4 запроса | 15 мин | 1 запрос |
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
{- "adverts": [
- {
- "type": 9,
- "status": 8,
- "count": 3,
- "advert_list": [
- {
- "advertId": 6485174,
- "changeTime": "2023-05-10T12:12:52.676254+03:00"
}, - {
- "advertId": 6500443,
- "changeTime": "2023-05-10T17:08:46.370656+03:00"
}, - {
- "advertId": 7936341,
- "changeTime": "2023-07-12T15:51:08.367478+03:00"
}
]
}
], - "all": 3
}Информация о кампаниях{{ /api/advert/v2/adverts }}
Метод возвращает информацию о рекламных кампаниях с единой или ручной ставкой по их статусам, типам оплаты и ID.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| ids | string Example: ids=12345,23456,34567,45678,56789 ID кампаний, максимум 50 |
| statuses | string Example: statuses=-1,4,8 Статусы кампаний:
|
| payment_type | string Enum: cpm cpc Тип оплаты:
|
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "adverts": [
- {
- "bid_type": "manual",
- "currency": "RUB",
- "id": 567456457,
- "nm_settings": [
- {
- "bids_kopecks": {
- "recommendations": 0,
- "search": 0
}, - "nm_id": 123456789,
- "subject": {
- "id": 52,
- "name": "кошельки"
}
}, - {
- "bids_kopecks": {
- "recommendations": 11200,
- "search": 11200
}, - "nm_id": 987654321,
- "subject": {
- "id": 54,
- "name": "ювелирные кольца"
}
}
], - "restrictions": {
- "can_change_nms": true
}, - "settings": {
- "name": "Кампания от 01.02.2024",
- "payment_type": "cpm",
- "placements": {
- "recommendations": false,
- "search": true
}
}, - "status": 7,
- "timestamps": {
- "created": "2024-02-01T09:57:38.500606+03:00",
- "deleted": "2024-02-05T14:29:32.633968+03:00",
- "started": "2024-02-05T12:38:10.212086+03:00",
- "updated": "2024-02-05T14:29:32.633968+03:00"
}
}, - {
- "bid_type": "manual",
- "currency": "RUB",
- "id": 28150154,
- "nm_settings": [
- {
- "bids_kopecks": {
- "recommendations": 0,
- "search": 1100
}, - "nm_id": 5764746785,
- "subject": {
- "id": 69,
- "name": "платья"
}
}
], - "restrictions": {
- "can_change_nms": false
}, - "settings": {
- "name": "Кампания от 28.08.2025 ",
- "payment_type": "cpc",
- "placements": {
- "recommendations": false,
- "search": true
}
}, - "status": 11,
- "timestamps": {
- "created": "2025-08-28T09:50:57.611559+03:00",
- "deleted": "2100-01-01T00:00:00+03:00",
- "started": null,
- "updated": "2025-09-10T10:14:58.475499+03:00"
}
}
]
}Метод создания кампаний с единой или ручной ставкой, а также получения:
Минимальные ставки для карточек товаров{{ /api/advert/v1/bids/min }}
Метод возвращает минимальные ставки для карточек товаров в разменных единицах — 0,01 от базовой валюты профиля продавца — по типу оплаты и местам размещения.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 20 запросов | 3 сек | 5 запросов |
| Сервисный | 1 мин | 20 запросов | 3 сек | 5 запросов |
| Базовый с секретом | 1 мин | 20 запросов | 3 сек | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| advert_id required | integer <int64> ID кампании |
| nm_ids required | Array of integers <int64> [ 1 .. 100 ] characters [ items <int64 > ] Список артикулов WB |
| payment_type required | string Enum: cpm cpc Тип оплаты:
- |
| placement_types required | Array of strings Items Enum: combined search recommendation Места размещения:
|
Responses
Request samples
- Payload
{- "advert_id": 98765432,
- "nm_ids": [
- 12345678,
- 87654321
], - "payment_type": "cpm",
- "placement_types": [
- "combined",
- "search",
- "recommendation"
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "bids": [
- {
- "bids": [
- {
- "currency": "RUB",
- "type": "combined",
- "value": 155
}, - {
- "currency": "RUB",
- "type": "search",
- "value": 250
}, - {
- "currency": "RUB",
- "type": "recommendation",
- "value": 250
}
], - "nm_id": 12345678
}, - {
- "bids": [
- {
- "currency": "RUB",
- "type": "combined",
- "value": 155
}, - {
- "currency": "RUB",
- "type": "search",
- "value": 250
}, - {
- "currency": "RUB",
- "type": "recommendation",
- "value": 250
}
], - "nm_id": 87654321
}
]
}Создать кампанию{{ /adv/v2/seacat/save-ad }}
Метод создаёт кампанию:
- с ручной ставкой для продвижения товаров в поиске и/или рекомендациях
- с единой ставкой для продвижения товаров одновременно в поиске и рекомендациях
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Сервисный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый с секретом | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/json
| name required | string Название кампании |
| nms | Array of integers Карточки товаров для кампании. Доступные карточки товаров можно получить с помощью метода Карточки товаров для кампаний. Максимум 50 товаров ( |
| bid_type | string Default: manual Enum: manual unified Тип ставки:
|
| payment_type | string Default: cpm Enum: cpm cpc Тип оплаты:
|
| placement_types | Array of strings Default: search Items Enum: search recommendations Места размещения:
Укажите только для кампании с ручной ставкой |
Responses
Request samples
- Payload
{- "name": "Телефоны",
- "nms": [
- 146168367,
- 200425104
], - "bid_type": "manual",
- "placement_types": [
- "search",
- "recommendations"
]
}Response samples
- 200
- 400
- 401
- 403
- 429
1234567Предметы для кампаний{{ /adv/v1/supplier/subjects }}
Метод возвращает список предметов, которые можно добавить в рекламную кампанию.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 12 сек | 1 запрос | 12 сек | 5 запросов |
| Сервисный | 12 сек | 1 запрос | 12 сек | 5 запросов |
| Базовый с секретом | 12 сек | 1 запрос | 12 сек | 5 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
query Parameters
| payment_type | string Default: cpm Тип оплаты:
|
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "name": "3D очки",
- "id": 2560,
- "count": 1899
}
]Карточки товаров для кампаний{{ /adv/v2/supplier/nms }}
Метод возвращает список карточек товаров, которые можно добавить в рекламную кампанию. Для получения карточек необходимы ID предметов, также доступных для добавления в кампанию.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Сервисный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый с секретом | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/json
ID предметов, для которых нужно получить карточки товаров
Responses
Request samples
- Payload
[- 123,
- 456,
- 765,
- 321
]Response samples
- 200
- 400
- 401
- 403
- 429
[- {
- "title": "Плед",
- "nm": 146168367,
- "subjectId": 765
}
]С помощью методов управления кампаниями вы можете:
- Удалить кампанию
- Переименовать кампанию
- Запустить кампанию
- Поставить кампанию на паузу
- Завершить кампанию
- Получить список рекомендуемых ставок
- Получить конфигурационные значения продвижения
- Изменить ставки в кампаниях
- Изменить список карточек товаров в кампаниях
- Изменить места размещения в кампаниях с ручной ставкой
Удаление кампании{{ /adv/v0/delete }}
Метод удаляет кампании в статусе 4 — готова к запуску.
После удаления кампания некоторое время будет находиться в статусе -1 — кампания в процессе удаления. Полное удаление кампании занимает от 3 до 10 минут.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer ID кампании |
Responses
Response samples
- 400
- 401
- 403
- 429
Некорректный ID кампании
{- "error": "Некорректный ID кампании"
}Переименование кампании{{ /adv/v0/rename }}
Метод меняет название кампании. Это можно сделать в любой момент существования кампании.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/json
| advertId required | integer ID кампании, в которой меняется название |
| name required | string Новое название (максимум 100 символов) |
Responses
Request samples
- Payload
{- "advertId": 2233344,
- "name": "newname"
}Response samples
- 400
- 401
- 403
- 422
- 429
Некорректный ID РК
Запуск кампании{{ /adv/v0/start }}
Метод запускает кампании в статусах 4 — готово к запуску — или 11 — пауза.
Чтобы запустить кампанию, проверьте ее бюджет. Если бюджета недостаточно, пополните его.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer Example: id=1234 ID кампании |
Responses
Response samples
- 400
- 401
- 403
- 422
- 429
Некорректный ID кампании
{- "error": "Invalid Advert: invalid advert"
}Пауза кампании{{ /adv/v0/pause }}
Метод ставит кампании в статусе 9 — активна — на паузу.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer Example: id=1234 ID кампании |
Responses
Response samples
- 400
- 401
- 403
- 422
- 429
Некорректный ID кампании
{- "error": "Invalid Advert: invalid advert"
}Завершение кампании{{ /adv/v0/stop }}
Метод завершает кампании в статусах:
9— активна11— пауза
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer Example: id=1234 ID кампании |
Responses
Response samples
- 400
- 401
- 403
- 422
- 429
Некорректный ID кампании
{- "error": "Invalid Advert: invalid advert"
}Изменение мест размещения в кампаниях с ручной ставкой{{ /adv/v0/auction/placements }}
Метод меняет места размещения в кампаниях с ручной ставкой и моделью оплаты за показы — cpm.
Для кампаний в статусах 4, 9 и 11.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Сервисный | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 50 items Места размещения в кампаниях |
Responses
Request samples
- Payload
{- "placements": [
- {
- "advert_id": 12345,
- "placements": {
- "search": true,
- "recommendations": true
}
}
]
}Response samples
- 400
- 401
- 403
- 429
{- "detail": "can not deserialize response body",
- "origin": "camp-api-public-cache",
- "request_id": "9a929a81ea9dc1601fcc4be81f32c1cb",
- "status": 400,
- "title": "invalid payload"
}Изменение ставок в кампаниях{{ /api/advert/v1/bids }}
Метод меняет ставки карточек товаров по артикулам WB в кампаниях:
- с единой ставкой
- с ручной ставкой
- с моделью оплаты
cpc— за клики
Для кампаний в статусах 4, 9 и 11.
В запросе укажите место размещения в параметре placement:
combined— в поиске и рекомендациях для кампаний с единой ставкойsearchилиrecommendations— в поиске или рекомендациях для кампаний с ручной ставкой
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 5 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 50 items Ставки в кампаниях |
Responses
Request samples
- Payload
{- "bids": [
- {
- "advert_id": 12345,
- "nm_bids": [
- {
- "nm_id": 13335157,
- "bid_kopecks": 250,
- "placement": "recommendations"
}
]
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "bids": [
- {
- "advert_id": 12345,
- "nm_bids": [
- {
- "nm_id": 13335157,
- "bid_kopecks": 250,
- "placement": "recommendations"
}
]
}
], - "currency": "RUB"
}Изменение списка карточек товаров в кампаниях{{ /adv/v0/auction/nms }}
Метод добавляет и удаляет карточки товаров в кампаниях.
Для кампаний в статусах 4, 9 и 11.
Для добавляемых товаров устанавливается текущая минимальная ставка.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Сервисный | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 1 запрос |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 20 items Карточки товаров в кампаниях |
Responses
Request samples
- Payload
{- "nms": [
- {
- "advert_id": 12345,
- "nms": {
- "add": [
- 11111111,
- 44444444
], - "delete": [
- 55555555
]
}
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "nms": [
- {
- "advert_id": 12345,
- "nms": {
- "added": [
- 11111111,
- 44444444
], - "deleted": [
- 55555555
]
}
}
]
}Рекомендуемые ставки для карточек товаров и поисковых кластеров{{ /api/advert/v0/bids/recommendations }}
Метод возвращает рекомендуемые ставки для карточек товаров и поисковых кластеров кампании.
Можно использовать для кампаний с типами оплаты cpm — за показы и cpc — за клики.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Сервисный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый с секретом | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Базовый | 1 ч | 20 запросов | 3 мин | 1 запрос |
Authorizations:
query Parameters
| nmId required | integer <int64> Example: nmId=123456789 Артикул WB |
| advertId required | integer <int64> Example: advertId=987654321 ID кампании |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "advertId": 987654321,
- "base": {
- "competitiveBid": {
- "bidKopecks": 39500
}, - "leadersBid": {
- "bidKopecks": 66900
}, - "top2": {
- "bidKopecks": 0
}
}, - "nmId": 123456789,
- "normQueries": [
- {
- "normQuery": "футболка",
- "reachMax": {
- "bidKopecks": 50500,
- "bidKopecksMin": 49500
}, - "reachMedium": {
- "bidKopecks": 32000
}, - "reachMin": {
- "bidKopecks": 32000
}
}
], - "paymentType": "cpm"
}Конфигурационные значения продвижения{{ /api/advert/v1/config }}
Метод возвращает валюту, код валюты профиля продавца и допустимые шаги ставок для метода POST /api/advert/v1/normquery/bids
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 1 запрос | 1 мин | 10 запросов |
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
{- "cpcStep": 500,
- "cpmStep": 100000,
- "currency": "UZS",
- "currencyCode": 860,
- "minDailyLimit": 100000,
- "minTopUp": 10000
}Получить настройки дневных лимитов кампаний{{ /api/advert/v0/daily-limits }}
Метод возвращает текущие настройки дневных лимитов кампаний CPC — максимальных сумм, которые кампании могут потратить на продвижение в течение суток.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Сервисный | 1 мин | 5 запросов | 12 сек | 5 запросов |
Authorizations:
query Parameters
| advertIds required | string Example: advertIds=12346567,987654321 ID кампаний, максимум 100. Укажите значения через запятую |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "adverts": [
- {
- "advertId": 12346,
- "enabled": true,
- "dailyLimit": 100000,
- "spentToday": 35000,
- "currency": "RUB",
- "carryOverEnabled": true,
- "valid": true,
- "requiredLimit": 3001
}
]
}Настройка дневных лимитов кампаний{{ /api/advert/v0/daily-limits }}
Метод включает, выключает и обновляет дневной лимит кампаний.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 5 запросов | 12 сек | 5 запросов |
| Сервисный | 1 мин | 5 запросов | 12 сек | 5 запросов |
Authorizations:
Request Body schema: application/jsonrequired
| advertIds required | Array of integers <int64> [ 1 .. 100 ] items [ items <int64 > >= 1 ] ID кампаний |
| enabled required | boolean Включить лимит:
|
| dailyLimit | integer <int64> >= 1000 Сумма дневного лимита. Параметр обязателен при |
| carryOverEnabled | boolean Переносить неиспользованный остаток лимита на следующий день:
Параметр обязателен при |
Responses
Request samples
- Payload
{- "advertIds": [
- 1234,
- 5603
], - "enabled": true,
- "dailyLimit": 1000,
- "carryOverEnabled": true
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "adverts": [
- {
- "advertId": 1234,
- "belowMinLimit": false,
- "requiredLimit": 0
}, - {
- "advertId": 5603,
- "belowMinLimit": true,
- "requiredLimit": 3001
}
]
}Поисковые кластеры
Кластер запросов — это сгруппированный список запросов, по которым покупатели ищут товары на WB. В кластер входят:
- синонимы
- запросы в разном роде: мужской, женский, средний
- запросы с опечатками
- разные формы слова
- близкие по смыслу словосочетания
Например, в кластер футболка мужская войдут также запросы футболка мужкая, футболки мужские с рукавом, футболки мужские и другие похожие словосочетания.
Чтобы получить кластеры, по которым уже были показы, используйте метод статистики поисковых запросов.
Для кампаний с ручной ставкой можно установить или удалить ставки в валюте профиля продавца. Валюту профиля продавца и шаги ставок можно уточнить в ответе метода GET /api/advert/v1/config. Ставки индивидуальны для каждого поискового кластера.
Исключения
Установите минус-фразы, чтобы исключить кластеры запросов из кампаний. Товар не будет продвигаться по минус-фразам.
Список ставок поисковых кластеров{{ /adv/v0/normquery/get-bids }}
Метод возвращает список поисковых кластеров со ставками по:
- ID кампаний
- артикулам WB
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "items": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "bids": [
- {
- "advert_id": 1825035,
- "bid": 700,
- "bid_kopecks": 70000,
- "currency": "RUB",
- "nm_id": 983512347,
- "norm_query": "Фраза 1"
}, - {
- "advert_id": 1825035,
- "bid": 9000,
- "bid_kopecks": 25000,
- "currency": "RUB",
- "nm_id": 983512347,
- "norm_query": "Фраза 2"
}, - {
- "advert_id": 1825035,
- "bid": 9999,
- "bid_kopecks": 25000,
- "currency": "RUB",
- "nm_id": 983512347,
- "norm_query": "Фраза 3"
}
]
}Установить ставки для поисковых кластеров в валюте профиля продавца{{ /api/advert/v1/normquery/bids }}
Метод устанавливает ставки на поисковые кластеры в валюте профиля продавца.
Можно использовать только для кампаний c ручной ставкой и моделью оплаты cpm — за показы.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 2 запроса | 500 мс | 4 запроса |
| Сервисный | 1 сек | 2 запроса | 500 мс | 4 запроса |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "bids": [
- {
- "advertId": 0,
- "nmId": 0,
- "normQuery": "string",
- "bidMinorUnits": 0
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "success": [
- {
- "advertId": 0,
- "nmId": 0,
- "normQuery": "string",
- "currency": "string"
}
], - "failed": [
- {
- "advertId": 0,
- "nmId": 0,
- "normQuery": "string",
- "reason": "string"
}
]
}Установить ставки для поисковых кластеров{{ /adv/v0/normquery/bids }}
Метод устанавливает ставки в рублях на поисковые кластеры.
Можно использовать только для кампаний с:
- ручной ставкой
- моделью оплаты
cpm— за показы
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 2 запроса | 500 мс | 4 запроса |
| Сервисный | 1 сек | 2 запроса | 500 мс | 4 запроса |
| Базовый с секретом | 1 сек | 2 запроса | 500 мс | 4 запроса |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "bids": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347,
- "norm_query": "Фраза 1",
- "bid": 1000
}
]
}Response samples
- 400
- 401
- 403
- 429
{- "detail": "invalid payment_type value",
- "origin": "camp-api-public-cache",
- "request_id": "7e5cb1f106cc6e85b5b29eb2e8815da2",
- "status": 400,
- "title": "invalid payload"
}Удалить ставки поисковых кластеров{{ /adv/v0/normquery/bids }}
Метод удаляет ставки с поисковых кластеров.
Можно использовать только для кампаний с:
- ручной ставкой
- моделью оплаты
cpm— за показы
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "bids": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347,
- "norm_query": "Фраза 1"
}
]
}Response samples
- 400
- 401
- 403
- 429
{- "detail": "invalid payment_type value",
- "origin": "camp-api-public-cache",
- "request_id": "7e5cb1f106cc6e85b5b29eb2e8815da2",
- "status": 400,
- "title": "invalid payload"
}Список минус-фраз кампаний{{ /adv/v0/normquery/get-minus }}
Метод возвращает список минус-фраз по:
- ID кампаний
- артикулам WB
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "items": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "items": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347,
- "norm_queries": [
- "Фраза 1"
]
}
]
}Установка и удаление минус-фраз{{ /adv/v0/normquery/set-minus }}
Метод устанавливает и удаляет минус-фразы в кампаниях c единой и ручной ставкой.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| advert_id required | integer ID кампании |
| nm_id required | integer Артикул WB |
| norm_queries required | Array of strings <= 1000 items |
Responses
Request samples
- Payload
{- "advert_id": 1825035,
- "nm_id": 983512347,
- "norm_queries": [
- "Фраза 1"
]
}Response samples
- 400
- 401
- 403
- 429
{- "detail": "invalid payment_type value",
- "origin": "camp-api-public-cache",
- "request_id": "7e5cb1f106cc6e85b5b29eb2e8815da2",
- "status": 400,
- "title": "invalid payload"
}Списки активных и неактивных поисковых кластеров{{ /adv/v0/normquery/list }}
Метод возвращает списки активных и неактивных поисковых кластеров, по которым было не меньше 100 показов.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Сервисный | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый с секретом | 1 сек | 5 запросов | 200 мс | 10 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "items": [
- {
- "advertId": 123456789,
- "nmId": 987654321
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "items": [
- {
- "advertId": 123456789,
- "nmId": 987654321,
- "normQueries": {
- "active": null,
- "excluded": [
- "бест трикотаж",
- "горы футболка для мужчин",
- "одежда для моря",
- "одежда на море",
- "футболка дельфин",
- "футболка мужская с принтом светлая",
- "футболка поло",
- "футболка поло мужская",
- "футболка с воротником мужские"
], - "archived": [
- "поло мужское",
- "поло мужское летнее"
]
}
}
]
}С помощью методов этого раздела вы можете:
- получить информацию о балансе и счёте
- получить информацию об остатках бюджетов кампаний
- получить историю ваших затрат
- получить историю пополнений счёта
- пополнить бюджет
Баланс{{ /adv/v1/balance }}
Метод возвращает информацию о:
- счёте кабинета Продвижения WB. Его пополняет продавец.
- балансе — максимальной сумме для оплаты кампании по взаиморасчету: удержании средств из будущих продаж. Баланс пополнить нельзя, он рассчитывается автоматически на основе отчётов по продвижению.
- бонусных начислениях WB.
Чтобы получить информацию о бюджетах кампаний, используйте метод Бюджеты кампаний.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Сервисный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "balance": 11083,
- "net": 0,
- "currency": "RUB",
- "bonus": 15187,
- "cashbacks": [
- {
- "sum": 10672,
- "percent": 50,
- "expiration_date": "2026-04-17T10:46:02.176174Z"
}
]
}Остатки бюджетов кампаний{{ /api/advert/v2/budget }}
Метод возвращает информацию об остатках бюджетов кампаний. Для кампаний в статусах:
4— готова к запуску9— активна11— на паузе
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 20 запросов | 3 сек | 4 запроса |
| Сервисный | 1 мин | 20 запросов | 3 сек | 4 запроса |
| Базовый с секретом | 1 мин | 20 запросов | 3 сек | 4 запроса |
| Базовый | 1 ч | 4 запроса | 15 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| advertIds required | Array of integers [ 1 .. 50 ] items Список ID кампаний |
Responses
Request samples
- Payload
{- "advertIds": [
- 1234567,
- 63453471
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "adverts": [
- {
- "advertId": 123456789,
- "currency": "RUB",
- "total": 6000
}
]
}Бюджет кампании{{ /adv/v1/budget }} Deprecated
Метод будет отключен 16 ноября.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 4 запроса | 250 мс | 4 запроса |
| Сервисный | 1 сек | 4 запроса | 250 мс | 4 запроса |
| Базовый с секретом | 1 сек | 4 запроса | 250 мс | 4 запроса |
| Базовый | 1 ч | 4 запроса | 15 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer Example: id=1 ID кампании |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "cash": 0,
- "netting": 0,
- "total": 500,
- "currency": "RUB"
}Пополнение бюджета кампании{{ /adv/v1/budget/deposit }}
Метод пополняет бюджет кампании.
Чтобы запустить кампанию после пополнения бюджета, используйте метод Запуск кампании.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Сервисный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
query Parameters
| id required | integer Example: id=1234567 ID кампании |
Request Body schema: application/jsonrequired
| sum | integer Общая сумма пополнения бюджета в базовых единицах валюты профиля продавца |
| cashback_sum | integer Сумма пополнения бюджета промо-бонусами.
|
| cashback_percent | integer Процент от суммы пополнения, который можно пополнить промо-бонусами. Нужно указать значение поля percent из ответа метода получения баланса
|
| type | integer Тип источника пополнения:
|
| return | boolean Флаг возврата ответа ( |
Responses
Request samples
- Payload
{- "sum": 5000,
- "cashback_sum": 1000,
- "cashback_percent": 50,
- "type": 1,
- "return": true
}Response samples
- 200
- 400
- 401
- 403
- 429
Ответ при "return": true
{- "total": 7289,
- "currency": "RUB"
}Получение истории затрат{{ /adv/v1/upd }}
Метод формирует список фактических затрат на рекламные кампании за заданный период.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Сервисный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| from required | string <date> Example: from=2023-07-31 Начало интервала |
| to required | string <date> Example: to=2023-08-02 Конец интервала. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
[- {
- "updNum": 0,
- "updTime": "2023-07-31T12:12:54.060536+03:00",
- "updSum": 24,
- "advertId": 3355881,
- "campName": "лук лучок",
- "advertType": 6,
- "paymentType": "Баланс",
- "advertStatus": 9
}, - {
- "updNum": 0,
- "updTime": null,
- "updSum": 107,
- "advertId": 3366882,
- "campName": "золотая луковица",
- "advertType": 8,
- "paymentType": "Счет",
- "advertStatus": 11
}
]Получение истории пополнений счёта{{ /adv/v1/payments }}
Метод возвращает историю пополнений счёта WB Продвижение за заданный период.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Сервисный | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый с секретом | 1 сек | 1 запрос | 1 сек | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| from | string <date> Example: from=2023-07-31 Начало интервала |
| to | string <date> Example: to=2023-08-02 Конец интервала. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
[- {
- "id": 1036666,
- "date": "2022-02-04T09:06:47.985843Z",
- "sum": 600,
- "type": 0,
- "statusId": 1,
- "currency": "RUB",
- "cardStatus": ""
}, - {
- "id": 55261296,
- "date": "2023-04-13T10:07:42",
- "sum": 1500,
- "type": 3,
- "statusId": 1,
- "currency": "RUB",
- "cardStatus": "succeeded"
}
]Методы получения статистики, в частности:
Статистика поисковых кластеров{{ /adv/v0/normquery/stats }}
Метод формирует статистику по поисковым кластерам за указанный период.
Можно использовать для кампаний с моделями оплаты cpm — за показы и cpc — за клики.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Сервисный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый с секретом | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый | 1 ч | 5 запросов | 12 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| from required | string <date> Дата начала периода |
| to required | string <date> Дата окончания периода |
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "from": "2025-10-07",
- "to": "2025-10-08",
- "items": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "stats": [
- {
- "advert_id": 1825035,
- "nm_id": 983512347,
- "stats": [
- {
- "atbs": 68,
- "avg_pos": 3.6,
- "clicks": 2090,
- "cpc": 471,
- "cpm": 813,
- "ctr": 107.23,
- "norm_query": "Фраза 1",
- "orders": 19,
- "views": 1949,
- "currency": "RUB"
}, - {
- "atbs": 68,
- "avg_pos": 3.6,
- "clicks": 2090,
- "cpc": 471,
- "cpm": 813,
- "ctr": 107.23,
- "norm_query": "Фраза 2",
- "orders": 19,
- "views": 1949,
- "currency": "RUB"
}, - {
- "atbs": 68,
- "avg_pos": 3.6,
- "clicks": 2090,
- "cpc": 471,
- "cpm": 813,
- "ctr": 107.23,
- "norm_query": "Фраза 3",
- "orders": 19,
- "views": 1949,
- "currency": "RUB"
}, - {
- "atbs": 36,
- "avg_pos": 3.9,
- "clicks": 1847,
- "cpc": 278,
- "cpm": 445,
- "ctr": 96.4,
- "norm_query": "Фраза 4",
- "orders": 28,
- "views": 1916,
- "currency": "RUB"
}, - {
- "atbs": 36,
- "avg_pos": 3.9,
- "clicks": 1847,
- "cpc": 278,
- "cpm": 445,
- "ctr": 96.4,
- "norm_query": "Фраза 5",
- "orders": 28,
- "views": 1916,
- "currency": "RUB"
}, - {
- "atbs": 79,
- "avg_pos": 2.2,
- "clicks": 2468,
- "cpc": 106,
- "cpm": 819,
- "ctr": 145.01,
- "norm_query": "Фраза 6",
- "orders": 14,
- "views": 1702,
- "currency": "RUB"
}, - {
- "atbs": 79,
- "avg_pos": 2.2,
- "clicks": 2468,
- "cpc": 106,
- "cpm": 819,
- "ctr": 145.01,
- "norm_query": "Фраза 7",
- "orders": 14,
- "views": 1702,
- "currency": "RUB"
}, - {
- "atbs": 67,
- "avg_pos": 9.9,
- "clicks": 1166,
- "cpc": 250,
- "cpm": 837,
- "ctr": 70.33,
- "norm_query": "Фраза 8",
- "orders": 26,
- "views": 1658,
- "currency": "RUB"
}, - {
- "atbs": 67,
- "avg_pos": 9.9,
- "clicks": 1166,
- "cpc": 250,
- "cpm": 837,
- "ctr": 70.33,
- "norm_query": "Фраза 9",
- "orders": 26,
- "views": 1658,
- "currency": "RUB"
}, - {
- "atbs": 46,
- "avg_pos": 2,
- "clicks": 2927,
- "cpc": 122,
- "cpm": 468,
- "ctr": 186.43,
- "norm_query": "Фраза 10",
- "orders": 23,
- "views": 1570,
- "currency": "RUB"
}, - {
- "atbs": 46,
- "avg_pos": 2,
- "clicks": 2927,
- "cpc": 122,
- "cpm": 468,
- "ctr": 186.43,
- "norm_query": "Фраза 11",
- "orders": 23,
- "views": 1570,
- "currency": "RUB"
}, - {
- "atbs": 79,
- "avg_pos": 7.1,
- "clicks": 2447,
- "cpc": 67,
- "cpm": 426,
- "ctr": 163.9,
- "norm_query": "Фраза 12",
- "orders": 13,
- "views": 1493,
- "currency": "RUB"
}, - {
- "atbs": 79,
- "avg_pos": 7.1,
- "clicks": 2447,
- "cpc": 67,
- "cpm": 426,
- "ctr": 163.9,
- "norm_query": "Фраза 13",
- "orders": 13,
- "views": 1493,
- "currency": "RUB"
}, - {
- "atbs": 61,
- "avg_pos": 6,
- "clicks": 1391,
- "cpc": 370,
- "cpm": 980,
- "ctr": 99.29,
- "norm_query": "Фраза 14",
- "orders": 27,
- "views": 1401,
- "currency": "RUB"
}, - {
- "atbs": 61,
- "avg_pos": 6,
- "clicks": 1391,
- "cpc": 370,
- "cpm": 980,
- "ctr": 99.29,
- "norm_query": "Фраза 15",
- "orders": 27,
- "views": 1401,
- "currency": "RUB"
}, - {
- "atbs": 26,
- "avg_pos": 6.9,
- "clicks": 1029,
- "cpc": 88,
- "cpm": 459,
- "ctr": 77.43,
- "norm_query": "Фраза 16",
- "orders": 3,
- "views": 1329
}, - {
- "atbs": 26,
- "avg_pos": 6.9,
- "clicks": 1029,
- "cpc": 88,
- "cpm": 459,
- "ctr": 77.43,
- "norm_query": "Фраза 17",
- "orders": 3,
- "views": 1329,
- "currency": "RUB"
}, - {
- "atbs": 67,
- "avg_pos": 3.8,
- "clicks": 1371,
- "cpc": 448,
- "cpm": 534,
- "ctr": 104.18,
- "norm_query": "Фраза 18",
- "orders": 3,
- "views": 1316,
- "currency": "RUB"
}, - {
- "atbs": 67,
- "avg_pos": 3.8,
- "clicks": 1371,
- "cpc": 448,
- "cpm": 534,
- "ctr": 104.18,
- "norm_query": "Фраза 19",
- "orders": 3,
- "views": 1316,
- "currency": "RUB"
}, - {
- "atbs": 18,
- "avg_pos": 10,
- "clicks": 2944,
- "cpc": 472,
- "cpm": 839,
- "ctr": 256,
- "norm_query": "Фраза 20",
- "orders": 4,
- "views": 1150,
- "currency": "RUB"
}, - {
- "atbs": 18,
- "avg_pos": 10,
- "clicks": 2944,
- "cpc": 472,
- "cpm": 839,
- "ctr": 256,
- "norm_query": "Фраза 21",
- "orders": 4,
- "views": 1150,
- "currency": "RUB"
}
]
}
]
}Статистика кампаний{{ /adv/v3/fullstats }}
Метод формирует статистику для кампаний независимо от типа.
Максимальный период в запросе — 31 день.
Для кампаний в статусах 7, 9 и 11.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 3 запроса | 20 сек | 1 запрос |
| Сервисный | 1 мин | 3 запроса | 20 сек | 1 запрос |
| Базовый с секретом | 1 мин | 3 запроса | 20 сек | 1 запрос |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| ids required | string Example: ids=22161678,28449281,28155229 ID кампаний, максимум 50 значений |
| beginDate required | string <date> Example: beginDate=2025-09-07 Дата начала интервала |
| endDate required | string <date> Example: endDate=2025-09-08 Дата окончания интервала |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
[- {
- "advertId": 22161678,
- "atbs": 9,
- "boosterStats": [
- {
- "avg_position": 24,
- "date": "2025-09-07",
- "nm": 221725278
}, - {
- "avg_position": 35,
- "date": "2025-09-08",
- "nm": 221725278
}
], - "canceled": 0,
- "clicks": 139,
- "cpc": 4.76,
- "cr": 0,
- "ctr": 10.12,
- "days": [
- {
- "apps": [
- {
- "appType": 1,
- "atbs": 0,
- "canceled": 0,
- "clicks": 1,
- "cpc": 10.19,
- "cr": 0,
- "ctr": 4.76,
- "nms": [
- {
- "atbs": 0,
- "canceled": 0,
- "clicks": 1,
- "cpc": 10.19,
- "cr": 0,
- "ctr": 4.76,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 10.19,
- "sum_price": 0,
- "views": 21
}
], - "orders": 0,
- "shks": 0,
- "sum": 10.19,
- "sum_price": 0,
- "views": 21
}, - {
- "appType": 32,
- "atbs": 1,
- "canceled": 0,
- "clicks": 54,
- "cpc": 4.26,
- "cr": 0,
- "ctr": 11.37,
- "nms": [
- {
- "atbs": 1,
- "canceled": 0,
- "clicks": 54,
- "cpc": 4.26,
- "cr": 0,
- "ctr": 11.37,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 230.08,
- "sum_price": 0,
- "views": 475
}
], - "orders": 0,
- "shks": 0,
- "sum": 230.08,
- "sum_price": 0,
- "views": 475
}, - {
- "appType": 64,
- "atbs": 1,
- "canceled": 0,
- "clicks": 20,
- "cpc": 6.91,
- "cr": 0,
- "ctr": 6.94,
- "nms": [
- {
- "atbs": 1,
- "canceled": 0,
- "clicks": 20,
- "cpc": 6.91,
- "cr": 0,
- "ctr": 6.94,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 138.23,
- "sum_price": 0,
- "views": 288
}
], - "orders": 0,
- "shks": 0,
- "sum": 138.23,
- "sum_price": 0,
- "views": 288
}
], - "atbs": 2,
- "canceled": 0,
- "clicks": 75,
- "cpc": 5.05,
- "cr": 0,
- "ctr": 9.57,
- "date": "2025-09-07T00:00:00Z",
- "orders": 0,
- "shks": 0,
- "sum": 378.49,
- "sum_price": 0,
- "views": 784
}, - {
- "apps": [
- {
- "appType": 32,
- "atbs": 5,
- "canceled": 0,
- "clicks": 45,
- "cpc": 3.58,
- "cr": 0,
- "ctr": 13.43,
- "nms": [
- {
- "atbs": 5,
- "canceled": 0,
- "clicks": 45,
- "cpc": 3.58,
- "cr": 0,
- "ctr": 13.43,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 161.02,
- "sum_price": 0,
- "views": 335
}
], - "orders": 0,
- "shks": 0,
- "sum": 161.02,
- "sum_price": 0,
- "views": 335
}, - {
- "appType": 64,
- "atbs": 2,
- "canceled": 0,
- "clicks": 19,
- "cpc": 6.05,
- "cr": 0,
- "ctr": 8.02,
- "nms": [
- {
- "atbs": 2,
- "canceled": 0,
- "clicks": 19,
- "cpc": 6.05,
- "cr": 0,
- "ctr": 8.02,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 114.95,
- "sum_price": 0,
- "views": 237
}
], - "orders": 0,
- "shks": 0,
- "sum": 114.95,
- "sum_price": 0,
- "views": 237
}, - {
- "appType": 1,
- "atbs": 0,
- "canceled": 0,
- "clicks": 0,
- "cpc": 0,
- "cr": 0,
- "ctr": 0,
- "nms": [
- {
- "atbs": 0,
- "canceled": 0,
- "clicks": 0,
- "cpc": 0,
- "cr": 0,
- "ctr": 0,
- "name": "постер 2",
- "nmId": 221725278,
- "orders": 0,
- "shks": 0,
- "sum": 6.79,
- "sum_price": 0,
- "views": 17
}
], - "orders": 0,
- "shks": 0,
- "sum": 6.79,
- "sum_price": 0,
- "views": 17
}
], - "atbs": 7,
- "canceled": 0,
- "clicks": 64,
- "cpc": 4.42,
- "cr": 0,
- "ctr": 10.87,
- "date": "2025-09-08T00:00:00Z",
- "orders": 0,
- "shks": 0,
- "sum": 282.76,
- "sum_price": 0,
- "views": 589
}
], - "orders": 0,
- "shks": 0,
- "sum": 661.25,
- "sum_price": 0,
- "views": 1373,
- "currency": "RUB"
}, - {
- "advertId": 28449281,
- "atbs": 1,
- "canceled": 0,
- "clicks": 9,
- "cpc": 35.94,
- "cr": 11.11,
- "ctr": 1.76,
- "days": [
- {
- "apps": [
- {
- "appType": 32,
- "atbs": 1,
- "canceled": 0,
- "clicks": 7,
- "cpc": 26.31,
- "cr": 14.29,
- "ctr": 2.41,
- "nms": [
- {
- "atbs": 1,
- "canceled": 0,
- "clicks": 5,
- "cpc": 33.02,
- "cr": 20,
- "ctr": 1.92,
- "name": "Футболка желтая",
- "nmId": 398309059,
- "orders": 1,
- "shks": 1,
- "sum": 165.1,
- "sum_price": 500,
- "views": 260
}, - {
- "atbs": 0,
- "canceled": 0,
- "clicks": 2,
- "cpc": 9.53,
- "cr": 0,
- "ctr": 6.67,
- "name": "Футболка салатовая",
- "nmId": 301957154,
- "orders": 0,
- "shks": 0,
- "sum": 19.05,
- "sum_price": 0,
- "views": 30
}
], - "orders": 1,
- "shks": 1,
- "sum": 184.15,
- "sum_price": 500,
- "views": 290
}, - {
- "appType": 64,
- "atbs": 0,
- "canceled": 0,
- "clicks": 2,
- "cpc": 62.87,
- "cr": 0,
- "ctr": 1.01,
- "nms": [
- {
- "atbs": 0,
- "canceled": 0,
- "clicks": 1,
- "cpc": 12.7,
- "cr": 0,
- "ctr": 5,
- "name": "Футболка салатовая",
- "nmId": 301957154,
- "orders": 0,
- "shks": 0,
- "sum": 12.7,
- "sum_price": 0,
- "views": 20
}, - {
- "atbs": 0,
- "canceled": 0,
- "clicks": 1,
- "cpc": 113.03,
- "cr": 0,
- "ctr": 0.56,
- "name": "Футболка желтая",
- "nmId": 398309059,
- "orders": 0,
- "shks": 0,
- "sum": 113.03,
- "sum_price": 0,
- "views": 178
}
], - "orders": 0,
- "shks": 0,
- "sum": 125.73,
- "sum_price": 0,
- "views": 198
}, - {
- "appType": 1,
- "atbs": 0,
- "canceled": 0,
- "clicks": 0,
- "cpc": 0,
- "cr": 0,
- "ctr": 0,
- "nms": [
- {
- "atbs": 0,
- "canceled": 0,
- "clicks": 0,
- "cpc": 0,
- "cr": 0,
- "ctr": 0,
- "name": "Футболка желтая",
- "nmId": 398309059,
- "orders": 0,
- "shks": 0,
- "sum": 13.59,
- "sum_price": 0,
- "views": 22
}
], - "orders": 0,
- "shks": 0,
- "sum": 13.59,
- "sum_price": 0,
- "views": 22
}
], - "atbs": 1,
- "canceled": 0,
- "clicks": 9,
- "cpc": 35.94,
- "cr": 11.11,
- "ctr": 1.76,
- "date": "2025-09-08T00:00:00Z",
- "orders": 1,
- "shks": 1,
- "sum": 323.47,
- "sum_price": 500,
- "views": 510
}
], - "orders": 1,
- "shks": 1,
- "sum": 323.47,
- "sum_price": 500,
- "views": 510,
- "currency": "RUB"
}
]Статистика по поисковым кластерам с детализацией по дням{{ /adv/v1/normquery/stats }}
Метод формирует статистику по поисковым кластерам за указанный период с детализацией по дням.
Можно использовать для кампаний с моделями оплаты cpm — за показы и cpc — за клики.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Сервисный | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый с секретом | 1 мин | 10 запросов | 6 сек | 20 запросов |
| Базовый | 1 ч | 2 запроса | 30 мин | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
| from required | string <date> Дата начала периода |
| to required | string <date> Дата окончания периода периода |
required | Array of objects <= 100 items |
Responses
Request samples
- Payload
{- "from": "2026-01-01",
- "to": "2026-01-30",
- "items": [
- {
- "advertId": 123456789,
- "nmId": 987654321
}
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "items": [
- {
- "advertId": 123456789,
- "dailyStats": [
- {
- "date": "2026-01-27",
- "stat": {
- "atbs": 39,
- "avgPos": 3.3,
- "clicks": 75,
- "cpc": 1.44,
- "cpm": 562.5,
- "ctr": 39.06,
- "normQuery": "Поисковый кластер 0",
- "orders": 9,
- "shks": 5,
- "spend": 108,
- "views": 192
}
}, - {
- "date": "2026-01-27",
- "stat": {
- "atbs": 71,
- "avgPos": 7.9,
- "clicks": 56,
- "cpc": 4.38,
- "cpm": 1290.95,
- "ctr": 29.47,
- "normQuery": "румяна для лица vivienne sabo",
- "orders": 2,
- "shks": 44,
- "spend": 245.28,
- "views": 190
}
}, - {
- "date": "2026-01-27",
- "stat": {
- "atbs": 39,
- "avgPos": 3.3,
- "clicks": 75,
- "cpc": 1.44,
- "cpm": 562.5,
- "ctr": 39.06,
- "normQuery": "Поисковый кластер 2",
- "orders": 9,
- "shks": 345345,
- "spend": 108,
- "views": 192
}
}
], - "nmId": 987654321
}
]
}С помощью этих методов можно получить:
Также можно добавить товар для участия в акции.
Список акций{{ /api/v1/calendar/promotions }}
Метод возвращает список акций в WB с датами и временем проведения.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Сервисный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый с секретом | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| startDateTime required | string <date-time> Example: startDateTime=2023-09-01T00:00:00Z Начало периода, формат |
| endDateTime required | string <date-time> Example: endDateTime=2024-08-01T23:59:59Z Конец периода, формат |
| allPromo required | boolean Default: false Показать акции:
|
| limit | integer <uint> [ 1 .. 1000 ] Example: limit=10 Количество запрашиваемых акций |
| offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "promotions": [
- {
- "id": 123,
- "name": "скидки",
- "startDateTime": "2023-06-05T21:00:00Z",
- "endDateTime": "2023-06-05T21:00:00Z",
- "type": "regular"
}
]
}
}Детальная информация об акциях{{ /api/v1/calendar/promotions/details }}
Метод возвращает подробную информацию об акции по ID.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Сервисный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый с секретом | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
query Parameters
| promotionIDs required | Array of integers [ 1 .. 100 ] items unique Example: promotionIDs=1&promotionIDs=3&promotionIDs=64 ID акций, по которым нужно вернуть информацию |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "promotions": [
- {
- "id": 123,
- "name": "ХИТЫ ГОДА",
- "description": "В акции принимают участие самые популярные товары 2023 года. Карточки товаров будут выделены плашкой «ХИТ ГОДА», чтобы покупатели замечали эти товары среди других. Также они будут размещены под баннерами на главной странице и примут участие в PUSH-уведомлениях. С ценами для вступления в акцию вы можете ознакомиться ниже.",
- "advantages": [
- "Плашка",
- "Баннер",
- "Топ выдачи товаров"
], - "startDateTime": "2023-06-05T21:00:00Z",
- "endDateTime": "2023-06-05T21:00:00Z",
- "inPromoActionLeftovers": 45,
- "inPromoActionTotal": 123,
- "notInPromoActionLeftovers": 3,
- "notInPromoActionTotal": 10,
- "participationPercentage": 10,
- "type": "auto",
- "exceptionProductsCount": 10,
- "ranging": [
- {
- "condition": "productsInPromotion",
- "participationRate": 10,
- "boost": 7
}, - {
- "condition": "calculateProducts",
- "participationRate": 20,
- "boost": 17
}, - {
- "condition": "allProducts",
- "participationRate": 35,
- "boost": 30
}
]
}
]
}
}Список товаров для участия в акции{{ /api/v1/calendar/promotions/nomenclatures }}
Метод формирует список товаров, подходящих для участия в акции. Эти товары можно добавить в акцию с помощью отдельного метода.
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 6 сек | 10 запросов | 600 мс | 5 запросов |
Authorizations:
query Parameters
| promotionID required | integer Example: promotionID=1 ID акции |
| inAction required | boolean Default: false Example: inAction=true Участвует в акции:
|
| limit | integer <uint> [ 1 .. 1000 ] Example: limit=10 Количество запрашиваемых товаров |
| offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 422
- 429
{- "data": {
- "nomenclatures": [
- {
- "id": 162579635,
- "inAction": true,
- "price": 1500,
- "currencyCode": "RUB",
- "planPrice": 1000,
- "discount": 15,
- "planDiscount": 34
}
]
}
}Добавить товар в акцию{{ /api/v1/calendar/promotions/upload }}
Метод создаёт задание на загрузку товара в акцию.
Состояние загрузки можно проверить с помощью отдельных методов.
| Тип | Период | Лимит | Интервал | Всплеск |
|---|---|---|---|---|
| Персональный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Сервисный | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый с секретом | 6 сек | 10 запросов | 600 мс | 5 запросов |
| Базовый | 1 ч | 1 запрос | 1 ч | 1 запрос |
Authorizations:
Request Body schema: application/jsonrequired
object Данные запроса |
Responses
Request samples
- Payload
{- "data": {
- "promotionID": 1,
- "uploadNow": true,
- "nomenclatures": [
- 75632091,
- 31322455,
- 642080796
]
}
}Response samples
- 200
- 400
- 401
- 402
- 403
- 422
- 429
{- "data": {
- "alreadyExists": false,
- "uploadID": 11
}
}