SelSup Developers

Публичный API · API Reference

Акции

Методы раздела «Акции»: точные маршруты, параметры, тела запросов и раскрываемые структуры ответов.

11 методов/api/promotionСтабильныйМашинное описание ↗
{ }

Страница собрана в отдельный редактируемый контракт. Перед операциями записи проверяйте примеры на тестовых данных.

/api/promotion

Готовые сценарии

Готовые сценарии

01

Начать работу с разделом «Акции»

Используйте отдельный API-токен и сначала проверяйте операции чтения на тестовых данных.

  1. Сохраните токен на серверной стороне и передавайте его в заголовке Authorization.
  2. Проверьте обязательные параметры и раскройте структуру запроса или ответа.
  3. Обрабатывайте HTTP-статус и стабильное поле error в прикладных ошибках.

Модель данных

Структуры данных раздела

Модели перечислены отдельно и раскрываются также непосредственно у методов, где они используются.

Promotion21 полей
promotionIdinteger · int64

Идентификатор акции

idinteger · int64

Порядковый номер в списке запроса

totalCountinteger · int64

Общее кол-во акций

namestring

Название акции

dateStartstring · date-time

Дата и время начало

dateEndstring · date-time

Дата и время окончания

changeCommissionboolean

Меняется ли комиссия или нет

changeCommissionAmountnumber · double

На какой процент сокращается комиссия

createdDatestring · date-time

Дата создания

servicestring

Маркетплейс акции

isDeletedboolean

Идентификатор удаления

descriptionstring

Описание акции

promotionIdOnMpstring

Идентификатор акции на МП

clientIdinteger · int64

Идентификатор клиента

organizationIdinteger · int64

Идентификатор организации

candidateCountinteger · int64

Кол-во кандидатов в акцию

inPromotionCountinteger · int64

Кол-во участников в акции

autoboolean

Признак автоматической акции

hotsaleboolean

Признак hotsale акции

candidateCountOnMpinteger · int64

Кол-во кандидатов в акции на маркетплейсе

inPromotionCountOnMpinteger · int64

Кол-во участников в акции на маркетплейсе

TmsTask25 полей
idinteger · int64

Идентификатор задачи

read-only
statusstring

Текущий статус задачи

read-only
typestring

Тип задачи

read-only
namestring

Данные задачи в json - могут быть пустыми

clientIdinteger · int64

Поле clientId.

entityIdinteger · int64

Сущность, к которой относится задача

progressinteger · int32

Прогресс выполнения задачи в процентах

processedQuantityinteger · int32

Количество обработанных записей задачи

organizationIdinteger · int64

Организация задачи, может быть 0, если не зависит от организации

priorityinteger · int32

Приоритет задачи - чем выше тем быстрее задача запустится

propertiesstring

Параметры задачи

messagestring

Сообщение с результатом выполнения задачи

messageParamsstring

Параметры сообщения с результатом выполнения задачи

createdDatestring · date-time

Дата добавления задачи в очередь

startDatestring · date-time

Дата запуска задачи

finishDatestring · date-time

Дата завершения задачи

urlstring

Ссылка на скачивание файла с результатом задачи

inputFileUrlstring

Ссылка на загруженный файл

retryNumberinteger · int32

Счётчик перезапуска задачи.

userIdinteger · int32

Пользователь запустивший задачу

retryDatestring · date-time

Запланированная дата перезапуска

debugboolean

Запуск задачи в режиме отладки с большим логированием

forcedStartboolean

Ручной запуск задачи

servicestring

Сервис в рамках которого выполняется задача

langstring

Язык на котором сейчас запущена таска

ProductPromotion91 полей
categoryNamestring

Категория

brandNamestring

Бренд

subjectstring

Поле subject.

purchasePricenumber · double

Поле purchasePrice.

deliveryCostnumber · double

Поле deliveryCost.

additionalCostnumber · double

Поле additionalCost.

barcodestring

Поле barcode.

instockQuantityinteger · int64

Поле instockQuantity.

wildberriesStockCountinteger · int64

Поле wildberriesStockCount.

yandexMarketStockCountinteger · int64

Поле yandexMarketStockCount.

createdDatestring · date-time

Поле createdDate.

minPricenumber · double

Поле minPrice.

isDuplicateboolean

Поле isDuplicate.

ozonArticlestring

Поле ozonArticle.

ozonStockCountinteger · int64

Поле ozonStockCount.

salesExpensesOnMpPercentnumber · double

Поле salesExpensesOnMpPercent.

taxeRatenumber · double

Поле taxeRate.

widthinteger · int32

Поле width.

heightinteger · int32

Поле height.

depthinteger · int32

Поле depth.

ozonPurchasePercentnumber · double

Поле ozonPurchasePercent.

warehouseRationumber · double

Поле warehouseRatio.

wildberriesCommissionnumber · double

Комиссия по тарифу FBM

wildberriesFbwCommissionnumber · double

Комиссия по тарифу FBW

wildberriesFbsCommissionnumber · double

Комиссия по тарифу FBS

wildberriesDbsCommissionnumber · double

Комиссия по тарифу DBS

wildberriesEdbsCommissionnumber · double

Комиссия по тарифу EDBS

wildberriesCAndCCommissionnumber · double

Комиссия по тарифу C&C

wildberriesBookingCommissionnumber · double

Комиссия за бронирование

wildberriesAdditionalExpensesnumber · double

Поле wildberriesAdditionalExpenses.

ozonAdditionalExpensesnumber · double

Поле ozonAdditionalExpenses.

ozonCommissionnumber · double

Поле ozonCommission.

wildberriesIdinteger · int64

Поле wildberriesId.

productIdinteger · int64

Идентификатор продукта

promotionIdinteger · int64

Идентификатор акции

ozonFbsCommissionnumber · double

Озон ФБС комиссия

ozonFboCommissionnumber · double

Озон ФБО комиссия

servicestring

Сервис

acquiringPercentnumber · double

Максимальный процент комиссии за эквайринг

currentPricenumber · double

Текущая цена со скидкой

currentPriceWithoutDiscountnumber · double

Текущая цена без скидкой

plannedPricenumber · double

Планируемая цена под акцию

totalStockCountinteger · int64

Поле totalStockCount.

commissionReductionnumber · double

Поле commissionReduction.

profitDifferencenumber · double

Поле profitDifference.

marginDifferencenumber · double

Поле marginDifference.

markupDifferencenumber · double

Поле markupDifference.

plannedAndMinPriceDiffnumber · double

Поле plannedAndMinPriceDiff.

incomeDifferencenumber · double

Поле incomeDifference.

currentDiscountnumber · double

Поле currentDiscount.

productCreatedDatestring · date-time

Поле productCreatedDate.

mainImageUrlstring

Ссылка на основное изображение

isProfitablyboolean

Поле isProfitably.

taskIdinteger · int64

Идентификатор задачи

serviceArticlestring

Артикул на сервисе

articlestring

Модель артикул

daysCountOnServiceinteger · int32

Кол-во дней на сервисе

turnoverinteger · int32

Оборачиваемость

fboStockinteger · int32

ФБО остаток

fbsStockinteger · int32

ФБС остаток

newDiscountForPromotionnumber · double

Поле newDiscountForPromotion.

saleLogisticsnumber · double

Логистика при продаже

returnLogisticsnumber · double

Обратная логистика

purchasePercentnumber · double

Процент выкупа

totalLogisticsnumber · double

Логистика

commissionsnumber · double

Комиссия

currentProfitnumber · double

Текущая прибыль

promotionProfitnumber · double

Прибыль под акцию

currentMarginalitynumber · double

Текущая маржинальность

promotionMarginalitynumber · double

Маржинальность под акцию

currentMarkUpnumber · double

Текущая наценка

promotionMarkUpnumber · double

Наценка под акцию

additionalDiscountForPromotionRubnumber · double

Дополнительная скидка под акции в руб

additionalDiscountForPromotionPercentnumber · double

Дополнительная скидка под акции в %

isDeletedboolean

Удаленный?

organizationIdinteger · int64

Идентификатор организации

clientIdinteger · int64

Идентификатор клиента

addModestring

Тип добавления товара в акцию: автоматически или вручную продавцом.

ozonAverageExpensesnumber · double

Поле ozonAverageExpenses.

isActiveboolean

Товар в акции или нет

changeNamestring

Кто вносил корректировки

changeDatestring · date-time

Дата когда вносили изменения

productNamestring

Название продукта

idinteger · int64

Порядковый номер в общем списке, для фронта

totalCountinteger · int64

Общее кол-во

serviceCardstring

Идентификатор продукта на сервисе

isNotFoundboolean

Поле isNotFound.

isArchivedboolean

Поле isArchived.

productCommissionsstring

Поле productCommissions.

currentGrossProfitnumber · double

Валовая прибыль текущая (без акции), руб

plannedGrossProfitnumber · double

Валовая прибыль под акцию (с акцией), руб

OzonProduct4 полей
product_idinteger · int64

Идентификатор товара.

action_pricenumber · double

Цена товара по акции.

stockinteger · int32

Количество единиц товара в акции типа «Скидка на сток».

reasonstring

Причина, почему товар не добавлен в акцию.

FindResponseProductPromotion1 полей
rowsProductPromotion[]

Строки с результатом поиска

FindResponsePromotion1 полей
rowsPromotion[]

Строки с результатом поиска

Контракт ошибок

Как API возвращает прикладные ошибки

Код ошибки одинаков для всех локалей, а текст для пользователя переводится сервером. Поэтому бизнес-логику стройте по error, а localMessage используйте только для отображения.

error

Стабильный машинный код ошибки для логики интеграции.

localMessage

Готовое сообщение на языке пользователя API-токена.

params

Значения

Язык localMessage определяется полем lang пользователя, которому принадлежит API-токен. Язык страницы документации и заголовок Accept-Language его не переключают; если язык пользователя не указан, используется русский.

RUПользователь с локалью ru
{
  "error": "error_brand_already_exists",
  "localMessage": "Бренд Base уже существует",
  "params": {
    "name": "Base"
  }
}
ENПользователь с локалью en
{
  "error": "error_brand_already_exists",
  "localMessage": "Brand Base already exists",
  "params": {
    "name": "Base"
  }
}

Методы

Методы

PUT

Обновить акцию

/api/promotion/{promotionId}
Токен с правами записи

Метод обновляет данные акцию

Тело запроса

application/json
Поля объектаPromotion
ПолеТипОбязательноОписание
promotionId integer · int64 Нет Идентификатор акции
id integer · int64 Нет Порядковый номер в списке запроса
totalCount integer · int64 Нет Общее кол-во акций
name string Нет Название акции
dateStart string · date-time Нет Дата и время начало
dateEnd string · date-time Нет Дата и время окончания
changeCommission boolean Нет Меняется ли комиссия или нет
changeCommissionAmount number · double Нет На какой процент сокращается комиссия
createdDate string · date-time Нет Дата создания
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Маркетплейс акции
isDeleted boolean Нет Идентификатор удаления
description string Нет Описание акции
promotionIdOnMp string Нет Идентификатор акции на МП
clientId integer · int64 Нет Идентификатор клиента
organizationId integer · int64 Нет Идентификатор организации
candidateCount integer · int64 Нет Кол-во кандидатов в акцию
inPromotionCount integer · int64 Нет Кол-во участников в акции
auto boolean Нет Признак автоматической акции
hotsale boolean Нет Признак hotsale акции
candidateCountOnMp integer · int64 Нет Кол-во кандидатов в акции на маркетплейсе
inPromotionCountOnMp integer · int64 Нет Кол-во участников в акции на маркетплейсе
curl --request PUT 'https://api.selsup.ru/api/promotion/%7BpromotionId%7D' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "promotionId": 1001,
  "id": 1001,
  "totalCount": 1,
  "name": "Example",
  "dateStart": "2026-01-15T12:00:00Z",
  "dateEnd": "2026-01-15T12:00:00Z"
}'

Успешный ответ

200
Поля объекта Promotion
ПолеТипОбязательноОписание
promotionId integer · int64 Нет Идентификатор акции
id integer · int64 Нет Порядковый номер в списке запроса
totalCount integer · int64 Нет Общее кол-во акций
name string Нет Название акции
dateStart string · date-time Нет Дата и время начало
dateEnd string · date-time Нет Дата и время окончания
changeCommission boolean Нет Меняется ли комиссия или нет
changeCommissionAmount number · double Нет На какой процент сокращается комиссия
createdDate string · date-time Нет Дата создания
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Маркетплейс акции
isDeleted boolean Нет Идентификатор удаления
description string Нет Описание акции
promotionIdOnMp string Нет Идентификатор акции на МП
clientId integer · int64 Нет Идентификатор клиента
organizationId integer · int64 Нет Идентификатор организации
candidateCount integer · int64 Нет Кол-во кандидатов в акцию
inPromotionCount integer · int64 Нет Кол-во участников в акции
auto boolean Нет Признак автоматической акции
hotsale boolean Нет Признак hotsale акции
candidateCountOnMp integer · int64 Нет Кол-во кандидатов в акции на маркетплейсе
inPromotionCountOnMp integer · int64 Нет Кол-во участников в акции на маркетплейсе
{
  "promotionId": 1001,
  "id": 1001,
  "totalCount": 1,
  "name": "Example",
  "dateStart": "2026-01-15T12:00:00Z",
  "dateEnd": "2026-01-15T12:00:00Z"
}
Ошибки4

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

PATCH

Восстановить акцию

/api/promotion/{promotionId}
Токен с правами записи

метод Восстанавливает акцию

Параметры пути

ПолеТипОбязательноОписание
promotionId integer · int64 Да Поле promotionId.
curl --request PATCH 'https://api.selsup.ru/api/promotion/1001' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200

Тело ответа пустое.

Ошибки3

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

DELETE

Удалить акцию

/api/promotion/{promotionId}
Токен с правами записи

Метод удаляет акцию

Параметры пути

ПолеТипОбязательноОписание
promotionId integer · int64 Да Поле promotionId.
curl --request DELETE 'https://api.selsup.ru/api/promotion/1001' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200

Тело ответа пустое.

Ошибки3

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

POST

Обновить данные

/api/promotion/update/{service}
Токен с правами записи

Метод ставит задачу обновления данных по акциям в очередь

Параметры пути

ПолеТипОбязательноОписание
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Да Сервис

Параметры запроса

ПолеТипОбязательноОписание
organizationId integer · int64 Нет Поле organizationId.
curl --request POST 'https://api.selsup.ru/api/promotion/update/NONE' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200
Поля объекта TmsTask
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор задачи
status stringCREATED, RUNNING, FINISHED, ERROR, RESTARTING, INTERRUPTING, INTERRUPTED, STOPPED, EXCEPTION Нет Текущий статус задачи
type stringWILDBERRIES_CREATE_CARD, NATIONAL_CATALOG_CREATE_CARD, OZON_CREATE_CARD, OZON_CARDS_IMPORT, IMPORT_FBS_ORDERS, UPLOAD_PHOTOGRAPHY, WILDBERRIES_UPDATE_PRICE, WILDBERRIES_CARD_IMPORT, WILDBERRIES_CARD_UPDATE, SELSUP_STOCKS, REFRESH_PHOTOGRAPHY, SUPPLYING_QUANTITY_TASK, EXPORT_PRICE, OZON_UPDATE_PRICE, WILDBERRIES_FILE_TASK, YANDEX_MARKET_CARD_CREATE, OZON_CARD_UPDATE_TASK, OZON_IMPORT_STAT_TASK, WILDBERRIES_PROFIT_STAT_TASK, ALIEXPRESS_CREATE_CARD_TASK, ALIEXPRESS_UPDATE_CARD_TASK, PRICES_IMPORT_TASK, WILDBERRIES_PRICES_TASK, YANDEX_MARKET_CARD_IMPORT, STOCKS_UPDATE, WILDBERRIES_STOCKS_IMPORT_TASK, WILDBERRIES_ORDERS_AND_SALES_TASK, WILDBERRIES_INCOMES_IMPORT_TASK, OZON_STOCKS_IMPORT_TASK, TURNOVER_DOCUMENTS_TASK, INTRODUCE_WMS_ITEMS_TASK, PRODUCTS_FILE_TASK, MODELS_FILE_TASK, UPDATE_PRODUCT_CODES_TASK, INTRODUCE_CODES_TASK, PRODUCTS_IMPORT_TASK, PRICES_FILE_TASK, YANDEX_MARKET_UPDATE_PRICE_TASK, IMPORT_STOCKS_TASK, MOY_SKLAD_EXPORT_ORDERS, MERGE_PRODUCTS_TASK, PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK, MOY_SKLAD_CREATE_CARD, IMPORT_FBO_STOCKS_FROM_FILE, CREATE_WMS_ITEMS, MOY_SKLAD_CARDS_IMPORT, PROMOTION_FILE, UNUSED_1, UNUSED, PRODUCT_ANALYTICS_FILE_TASK, PROMOTION_RESET_FILE, MOY_SKLAD_IMPORT_ORDERS, FINANCE_REPORT_FILE_TASK, YML_FILE_EXPORT, PRODUCT_BALANCE_REPORT_FILE_TASK, CURRENT_PRODUCT_BALANCE_FILE_TASK, IMPORT_TRANSACTIONS, MATCH_UNREGISTERED_PROFIT_REPORT_TASK, UPDATE_AVERAGE_SERVICE_EXPENSES_TASK, YANDEX_MARKET_ORDER_IMPORT_STAT_TASK, ABC_REPORT_FILE_TASK, MODEL_CONTRACTORS_IMPORT, MODEL_CONTRACTORS_EXPORT, BANK_TRANSACTION_IMPORT_FILE_TASK, YML_IMPORT_TASK, SALES_DYNAMIC_REPORT_FILE_TASK, UPDATE_FBS_ORDERS, EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK, IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK, EXPORT_PROFIT_REPORT_FILE_TASK, IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK, IMPORT_REALIZATION_REPORT_TASK, STOCK_RECONCILIATION, ORDER_REPORT_FILE_TASK, GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK, TO_QUANTITY_STORAGE_METHOD, APPLY_RECONCILIATION, OZON_IMPORT_FBO_ORDERS_TASK, UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK, FBS_LABELS, MERGE_PRODUCT_STOCKS, CREATE_ORDER_FROM_FILE, ALIEXPRESS_CARD_IMPORT, PRICE_LIST_IMPORT, WB_STOCK_REPORT_FILE, CONTRACTORS_REPORT_FILE, PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK, EXPORT_PROBLEMATIC_PRODUCT_REPORT, PLAN_SUPPLY_REPORT_TASK, PLAN_FACT_SALES_REPORT_FILE, IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK, EXPORT_PLAN_SALES_EXCEL_FILE_TASK, ORDERS_TO_BUY_FILE_TASK, MERGE_PRICE_ON_OTHER_MP_TASK, MATCH_PRODUCT_LAST_OPERATION_DATE_TASK, PROBLEMATIC_PRODUCT_PRICE_FILE_TASK, CATEGORIES_IMPORT_EXCEL_TASK, AVITO_CARD_IMPORT, UPDATE_OLD_WB_ORDER_STATUSES_TASK, PRESTA_SHOP_IMPORT_TASK, PRODUCTS_AVITO_EXCEL_IMPORT_TASK, FBO_STOCK_RECONCILIATION_TASK, APPLY_FBO_RECONCILIATION_TASK, EXPORT_REPRICE_PRODUCT_CONFIG_TASK, IMPORT_REPRICE_PRODUCT_CONFIG_TASK, OZON_CASH_FLOW_STATEMENT_IMPORT_TASK, IMPORT_PROMOTION_STRATEGY_FILE_TASK, UPDATE_ORDER_DELIVERY_INFO_TASK, BILLING_OPERATION_TASK, SET_PURCHASE_PERCENT_TASK, REMOVE_PRODUCT_IMAGES_TASK, STRUCTURE_TURNOVER_TASK, OZON_NEW_UPDATE_PRICE, REPLACE_PRODUCT_IMAGE_TASK, UPDATE_OZON_PROMOTION_DATA_TASK, WILDBERRIES_IMPORT_CAMPAIGN_TASK, WILDBERRIES_STORAGE_REPORT_TASK, WEBASYST_LINK_ARTICLE_TASK, DELIVERY_SERVICE_LABELS, HAND_ON_PULSE_FILE_TASK, ITEMS_INCOME_EXCEL_TASK, UPDATE_SETS_EXCEL_TASK, DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK, EXPORT_PRODUCT_SETS_TASK, AMAZON_CARD_IMPORT, IMPORT_ACCEPTED_PRODUCTS_TASK, ADD_ORDER_PRODUCT_FROM_FILE_TASK, EXPORT_ITEM_HISTORY_FILE_TASK, WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK, REMOVE_CLIENT_ORGANIZATION, EBAY_CARD_IMPORT_TASK, PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK, IMPORT_FBO_ORDERS, LAMODA_CARD_IMPORT, UPDATE_WB_PROMOTION_DATA_TASK, IMPORT_RETURNS_REPORT_TASK, UPDATE_PROMOTION_DATA_TASK, RESTORE_CLIENT_ORGANIZATION, LEROY_MERLIN_CARD_IMPORT, YANDEX_MARKET_STOCKS_IMPORT_TASK, WILDBERRIES_IMPORT_NM_REPORT_TASK, ORDER_ANALYTICS_FILE_TASK, CLIENT_DATABASE_MOVE_TASK, FAST_CARD_IMPORT, EXPORT_PRODUCT_CODE, INSALES_CARD_IMPORT_TASK, REMOVE_PRODUCT_VIDEOS_TASK, UPDATE_CARDS_TASK, FIND_UNPROFITABLE_PRODUCTS_TASK, FIND_UNPURCHASED_PRODUCTS_TASK, WALMART_CARD_IMPORT, PRODUCT_GROUPS_TASK, CONTRACTOR_ARTICLE_EXPORT_TASK, CONTRACTOR_ARTICLE_IMPORT_TASK, CURRENCY_CONVERSION_TASK, UPDATE_SUPPLY_PLAN_REPORT_TASK, EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK, CHECK_STOCK_ORDER, PHOTOGRAPHY_EXCEL, PREPARE_FINDIR_DATA_TASK, CARD_SPLITTING_TASK, EXPORT_IMAGE_UPDATES_TEMPLATE_TASK, IMPORT_IMAGE_UPDATES_TASK, PREPARE_PRODUCT_HAND_ON_PULSE_TASK, UPDATE_OZON_AVERAGE_DELIVERY_TIME, UPDATE_COMMISSIONS_TASK, WOOCOMMERCE_CARD_IMPORT, UPDATE_FBS_STOCKS_HISTORY, RETURNS_FILE_TASK, FAST_PRODUCTS_IMPORT_TASK, ANALYZE_PRODUCT_CARDS_TASK, DETMIR_CARD_IMPORT, MATCH_OZON_REALIZATION_REPORT_TASK, MAGNIT_IMPORT_PRODUCTS_TASK, UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK, MOY_SKLAD_FBO_MP_DATES_FIX, PRICE_HISTORY_FILE_TASK, FBM_ORDERS_IMPORT_TASK, UZUM_IMPORT_PRODUCTS_TASK, OPENCART_CARD_IMPORT, CARDS_IMPORT, OZON_CROSSDOCK_TRANSIT_ROUTES_TASK, UNUSED_2, OZON_IMPORT_SALES_FUNNEL_REPORT_TASK, WRITE_OFF_PRODUCTS_FILE_TASK, CLIENT_DATABASE_CREATE_TASK, UPDATE_FBS_LABELS_TASK, REBUILD_PROFIT_REPORT_HOURLY_AGGREGATE_TASK, OZON_IMPORT_CAMPAIGN_TASK, EXPORT_SUPPLY_PLAN_FILE_TASK, IMPORT_SUPPLY_PLAN_FILE_TASK, CREATE_SERVICE_CARDS, WAREHOUSE_ECONOMICS_FILE_TASK, UPDATE_WILDBERRIES_ACQUIRING_RATE_TASK, PRODUCT_SALES_FORECAST_TASK, UPDATE_PRODUCT_CODES_STATUSES_TASK, MARKETPLACE_UPDATE_PRICE_TASK, UZUM_IMPORT_STAT_TASK, CAMPAIGN_STATS_FILE_TASK, OZON_FBO_WORKFLOW_TASK, EXPORT_CERTIFICATE_TEMPLATE_TASK, IMPORT_CERTIFICATES_TASK, REBUILD_LOCAL_ORDER_PROFIT_REPORT_TASK, SHOPIFY_CARD_IMPORT Нет Тип задачи
name string Нет Данные задачи в json - могут быть пустыми
clientId integer · int64 Нет Поле clientId.
entityId integer · int64 Нет Сущность, к которой относится задача
progress integer · int32 Нет Прогресс выполнения задачи в процентах
processedQuantity integer · int32 Нет Количество обработанных записей задачи
organizationId integer · int64 Нет Организация задачи, может быть 0, если не зависит от организации
priority integer · int32 Нет Приоритет задачи - чем выше тем быстрее задача запустится
properties string Нет Параметры задачи
message string Нет Сообщение с результатом выполнения задачи
messageParams string Нет Параметры сообщения с результатом выполнения задачи
createdDate string · date-time Нет Дата добавления задачи в очередь
startDate string · date-time Нет Дата запуска задачи
finishDate string · date-time Нет Дата завершения задачи
url string Нет Ссылка на скачивание файла с результатом задачи
inputFileUrl string Нет Ссылка на загруженный файл
retryNumber integer · int32 Нет Счётчик перезапуска задачи.
userId integer · int32 Нет Пользователь запустивший задачу
retryDate string · date-time Нет Запланированная дата перезапуска
debug boolean Нет Запуск задачи в режиме отладки с большим логированием
forcedStart boolean Нет Ручной запуск задачи
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис в рамках которого выполняется задача
lang string Нет Язык на котором сейчас запущена таска
{
  "id": 1001,
  "status": "CREATED",
  "type": "WILDBERRIES_CREATE_CARD",
  "name": "Example",
  "clientId": 1001,
  "entityId": 1001
}
Ошибки36

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_cannot_deleted_order_product
Невозможно удалить товар, к которому привязаны товары размещенные на складе или не списанная маркировка

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_cannot_deleted_order_product; localMessage содержит приведённый выше перевод.

400error_competitor_id_required
Требуется id конкурента

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_competitor_id_required; localMessage содержит приведённый выше перевод.

400error_competitor_required
Конкурент обязателен

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_competitor_required; localMessage содержит приведённый выше перевод.

400error_competitor_service_required
Сервис конкурента обязателен

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_competitor_service_required; localMessage содержит приведённый выше перевод.

400error_competitor_url_required
Ссылка конкурента обязательна

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_competitor_url_required; localMessage содержит приведённый выше перевод.

400error_customer_not_found
Покупатель не найден

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_customer_not_found; localMessage содержит приведённый выше перевод.

400error_duplicate_order_product
В заказ добавлено два одинаковых товара {productId}

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_duplicate_order_product; localMessage содержит приведённый выше перевод.

400error_empty_warehouse
Не указан склад

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_warehouse; localMessage содержит приведённый выше перевод.

400error_group_already_exist
Группа уже существует

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_group_already_exist; localMessage содержит приведённый выше перевод.

400error_incorrect_order_data
Невозможно создать заказ из-за того, что организация, склад или пользователь уже удалены: {id}

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_incorrect_order_data; localMessage содержит приведённый выше перевод.

400error_invalid_url
Некорректный адрес сайта, он должен начинаться с http:// или https://, в адресе запрещено указывать слово selsup, localhost

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_invalid_url; localMessage содержит приведённый выше перевод.

400error_moy_sklad_organization
Организация в МойСклад не найдена

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_moy_sklad_organization; localMessage содержит приведённый выше перевод.

400error_ms_error
Ошибка API МойСклад: {message}

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_ms_error; localMessage содержит приведённый выше перевод.

400error_ms_no_warehouse
Не указана связь склада SelSup со складом сервиса МойСклад

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_ms_no_warehouse; localMessage содержит приведённый выше перевод.

400error_ms_update_order_state
Не удалось обновить статус заказа в МойСклад

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_ms_update_order_state; localMessage содержит приведённый выше перевод.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_no_marketplace
Не указан маркетплейс

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_marketplace; localMessage содержит приведённый выше перевод.

400error_no_organization
Не указана организация

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_organization; localMessage содержит приведённый выше перевод.

400error_no_price_for_order_product
Не указана цена для товара: {name}

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_price_for_order_product; localMessage содержит приведённый выше перевод.

400error_no_products_in_order
В данном заказе не найдено ни одного продукта

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_products_in_order; localMessage содержит приведённый выше перевод.

400error_no_quantity_for_order_product
Не указано количество товара: {name}

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_quantity_for_order_product; localMessage содержит приведённый выше перевод.

400error_not_reserved
Снимать резерв можно только с зарезервированных товаров

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_not_reserved; localMessage содержит приведённый выше перевод.

400error_not_uniq_external_id
Внешний номер {id} уже используется для другого заказа

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_not_uniq_external_id; localMessage содержит приведённый выше перевод.

400error_order_not_found
Заказ не найден

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_order_not_found; localMessage содержит приведённый выше перевод.

400error_order_product_stock
Товар нельзя удалить после оприходования остатков

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_order_product_stock; localMessage содержит приведённый выше перевод.

400error_organization_not_found
Не найдена организация

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.

400error_product_not_found_by_id
Не найдены товары по идентификатору. Возможно Вы удалили товар во время импорта

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_product_not_found_by_id; localMessage содержит приведённый выше перевод.

400error_source_cell_change_not_allowed_for_inter_warehouse_movement
Изменение ячейки источника не разрешено для перемещения между складами

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_source_cell_change_not_allowed_for_inter_warehouse_movement; localMessage содержит приведённый выше перевод.

400error_stock_update_busy
В настоящий момент проводится обновление остатков, попробуйте позже

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_stock_update_busy; localMessage содержит приведённый выше перевод.

400error_token_expired_or_revoked
Токен API отозван или введен некорректно. Проверьте, что ключ API имеет полный функционал. Сгенерируйте новый ключ и замените в SELSUP, так как ключи имеют срок жизни.

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_token_expired_or_revoked; localMessage содержит приведённый выше перевод.

400error_unsupported_service
Сервис не поддерживается

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_unsupported_service; localMessage содержит приведённый выше перевод.

400error_warehouse_not_found
Не найден склад

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_warehouse_not_found; localMessage содержит приведённый выше перевод.

400error_wms_item_not_found
Не найден уникальный код товара

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_wms_item_not_found; localMessage содержит приведённый выше перевод.

POST

Удалить товары из акции

/api/promotion/deleteProductsInPromotion
Токен с правами записи

Метод удаляет товары из акции

Параметры запроса

ПолеТипОбязательноОписание
promotionId integer · int64 Да Поле promotionId.
clientOrganizationId integer · int64 Да Поле clientOrganizationId.

Тело запроса

application/json
Структура элемента массиваProductPromotion[]
ПолеТипОбязательноОписание
categoryName string Нет Категория
brandName string Нет Бренд
subject string Нет Поле subject.
purchasePrice number · double Нет Поле purchasePrice.
deliveryCost number · double Нет Поле deliveryCost.
additionalCost number · double Нет Поле additionalCost.
barcode string Нет Поле barcode.
instockQuantity integer · int64 Нет Поле instockQuantity.
wildberriesStockCount integer · int64 Нет Поле wildberriesStockCount.
yandexMarketStockCount integer · int64 Нет Поле yandexMarketStockCount.
createdDate string · date-time Нет Поле createdDate.
minPrice number · double Нет Поле minPrice.
isDuplicate boolean Нет Поле isDuplicate.
ozonArticle string Нет Поле ozonArticle.
ozonStockCount integer · int64 Нет Поле ozonStockCount.
salesExpensesOnMpPercent number · double Нет Поле salesExpensesOnMpPercent.
taxeRate number · double Нет Поле taxeRate.
width integer · int32 Нет Поле width.
height integer · int32 Нет Поле height.
depth integer · int32 Нет Поле depth.
ozonPurchasePercent number · double Нет Поле ozonPurchasePercent.
warehouseRatio number · double Нет Поле warehouseRatio.
wildberriesCommission number · double Нет Комиссия по тарифу FBM
wildberriesFbwCommission number · double Нет Комиссия по тарифу FBW
wildberriesFbsCommission number · double Нет Комиссия по тарифу FBS
wildberriesDbsCommission number · double Нет Комиссия по тарифу DBS
wildberriesEdbsCommission number · double Нет Комиссия по тарифу EDBS
wildberriesCAndCCommission number · double Нет Комиссия по тарифу C&C
wildberriesBookingCommission number · double Нет Комиссия за бронирование
wildberriesAdditionalExpenses number · double Нет Поле wildberriesAdditionalExpenses.
ozonAdditionalExpenses number · double Нет Поле ozonAdditionalExpenses.
ozonCommission number · double Нет Поле ozonCommission.
wildberriesId integer · int64 Нет Поле wildberriesId.
productId integer · int64 Нет Идентификатор продукта
promotionId integer · int64 Нет Идентификатор акции
ozonFbsCommission number · double Нет Озон ФБС комиссия
ozonFboCommission number · double Нет Озон ФБО комиссия
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
acquiringPercent number · double Нет Максимальный процент комиссии за эквайринг
currentPrice number · double Нет Текущая цена со скидкой
currentPriceWithoutDiscount number · double Нет Текущая цена без скидкой
plannedPrice number · double Нет Планируемая цена под акцию
totalStockCount integer · int64 Нет Поле totalStockCount.
commissionReduction number · double Нет Поле commissionReduction.
profitDifference number · double Нет Поле profitDifference.
marginDifference number · double Нет Поле marginDifference.
markupDifference number · double Нет Поле markupDifference.
plannedAndMinPriceDiff number · double Нет Поле plannedAndMinPriceDiff.
incomeDifference number · double Нет Поле incomeDifference.
currentDiscount number · double Нет Поле currentDiscount.
productCreatedDate string · date-time Нет Поле productCreatedDate.
mainImageUrl string Нет Ссылка на основное изображение
isProfitably boolean Нет Поле isProfitably.
taskId integer · int64 Нет Идентификатор задачи
serviceArticle string Нет Артикул на сервисе
article string Нет Модель артикул
daysCountOnService integer · int32 Нет Кол-во дней на сервисе
turnover integer · int32 Нет Оборачиваемость
fboStock integer · int32 Нет ФБО остаток
fbsStock integer · int32 Нет ФБС остаток
newDiscountForPromotion number · double Нет Поле newDiscountForPromotion.
saleLogistics number · double Нет Логистика при продаже
returnLogistics number · double Нет Обратная логистика
purchasePercent number · double Нет Процент выкупа
totalLogistics number · double Нет Логистика
commissions number · double Нет Комиссия
currentProfit number · double Нет Текущая прибыль
promotionProfit number · double Нет Прибыль под акцию
currentMarginality number · double Нет Текущая маржинальность
promotionMarginality number · double Нет Маржинальность под акцию
currentMarkUp number · double Нет Текущая наценка
promotionMarkUp number · double Нет Наценка под акцию
additionalDiscountForPromotionRub number · double Нет Дополнительная скидка под акции в руб
additionalDiscountForPromotionPercent number · double Нет Дополнительная скидка под акции в %
isDeleted boolean Нет Удаленный?
organizationId integer · int64 Нет Идентификатор организации
clientId integer · int64 Нет Идентификатор клиента
addMode string Нет Тип добавления товара в акцию: автоматически или вручную продавцом.
ozonAverageExpenses number · double Нет Поле ozonAverageExpenses.
isActive boolean Нет Товар в акции или нет
changeName string Нет Кто вносил корректировки
changeDate string · date-time Нет Дата когда вносили изменения
productName string Нет Название продукта
id integer · int64 Нет Порядковый номер в общем списке, для фронта
totalCount integer · int64 Нет Общее кол-во
serviceCard string Нет Идентификатор продукта на сервисе
isNotFound boolean Нет Поле isNotFound.
isArchived boolean Нет Поле isArchived.
productCommissions string Нет Поле productCommissions.
currentGrossProfit number · double Нет Валовая прибыль текущая (без акции), руб
plannedGrossProfit number · double Нет Валовая прибыль под акцию (с акцией), руб
curl --request POST 'https://api.selsup.ru/api/promotion/deleteProductsInPromotion?promotionId=1001&clientOrganizationId=1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

Успешный ответ

200
Структура элемента массива OzonProduct[]
ПолеТипОбязательноОписание
product_id integer · int64 Нет Идентификатор товара.
action_price number · double Нет Цена товара по акции.
stock integer · int32 Нет Количество единиц товара в акции типа «Скидка на сток».
reason string Нет Причина, почему товар не добавлен в акцию.
[
  "string"
]
Ошибки11

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_auto_promotion_not_supported
Нельзя добавлять товар в автоматическую акцию

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_auto_promotion_not_supported; localMessage содержит приведённый выше перевод.

400error_empty_ozon_id
пустой ID Ozon

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_ozon_id; localMessage содержит приведённый выше перевод.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_organization_not_found
Не найдена организация

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.

400error_promotion_exists
Запрос на добавление товаров в акцию уже отправлялся ранее. Повторная отправка невозможна

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_promotion_exists; localMessage содержит приведённый выше перевод.

400error_remote
Произошла ошибка при запросе внешнего сервиса

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_remote; localMessage содержит приведённый выше перевод.

400error_token_expired_or_revoked
Токен API отозван или введен некорректно. Проверьте, что ключ API имеет полный функционал. Сгенерируйте новый ключ и замените в SELSUP, так как ключи имеют срок жизни.

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_token_expired_or_revoked; localMessage содержит приведённый выше перевод.

400error_wildberries_import_error
На стороне WB ведутся технические работы, повторите попытку позже, подробности можно узнать в тех поддержке (API: {message})

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_wildberries_import_error; localMessage содержит приведённый выше перевод.

POST

Добавить товары в акцию

/api/promotion/addProductsInPromotion
Токен с правами записи

Метод добавляет товары в акцию

Параметры запроса

ПолеТипОбязательноОписание
promotionId integer · int64 Да Поле promotionId.
clientOrganizationId integer · int64 Да Поле clientOrganizationId.

Тело запроса

application/json
Структура элемента массиваProductPromotion[]
ПолеТипОбязательноОписание
categoryName string Нет Категория
brandName string Нет Бренд
subject string Нет Поле subject.
purchasePrice number · double Нет Поле purchasePrice.
deliveryCost number · double Нет Поле deliveryCost.
additionalCost number · double Нет Поле additionalCost.
barcode string Нет Поле barcode.
instockQuantity integer · int64 Нет Поле instockQuantity.
wildberriesStockCount integer · int64 Нет Поле wildberriesStockCount.
yandexMarketStockCount integer · int64 Нет Поле yandexMarketStockCount.
createdDate string · date-time Нет Поле createdDate.
minPrice number · double Нет Поле minPrice.
isDuplicate boolean Нет Поле isDuplicate.
ozonArticle string Нет Поле ozonArticle.
ozonStockCount integer · int64 Нет Поле ozonStockCount.
salesExpensesOnMpPercent number · double Нет Поле salesExpensesOnMpPercent.
taxeRate number · double Нет Поле taxeRate.
width integer · int32 Нет Поле width.
height integer · int32 Нет Поле height.
depth integer · int32 Нет Поле depth.
ozonPurchasePercent number · double Нет Поле ozonPurchasePercent.
warehouseRatio number · double Нет Поле warehouseRatio.
wildberriesCommission number · double Нет Комиссия по тарифу FBM
wildberriesFbwCommission number · double Нет Комиссия по тарифу FBW
wildberriesFbsCommission number · double Нет Комиссия по тарифу FBS
wildberriesDbsCommission number · double Нет Комиссия по тарифу DBS
wildberriesEdbsCommission number · double Нет Комиссия по тарифу EDBS
wildberriesCAndCCommission number · double Нет Комиссия по тарифу C&C
wildberriesBookingCommission number · double Нет Комиссия за бронирование
wildberriesAdditionalExpenses number · double Нет Поле wildberriesAdditionalExpenses.
ozonAdditionalExpenses number · double Нет Поле ozonAdditionalExpenses.
ozonCommission number · double Нет Поле ozonCommission.
wildberriesId integer · int64 Нет Поле wildberriesId.
productId integer · int64 Нет Идентификатор продукта
promotionId integer · int64 Нет Идентификатор акции
ozonFbsCommission number · double Нет Озон ФБС комиссия
ozonFboCommission number · double Нет Озон ФБО комиссия
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
acquiringPercent number · double Нет Максимальный процент комиссии за эквайринг
currentPrice number · double Нет Текущая цена со скидкой
currentPriceWithoutDiscount number · double Нет Текущая цена без скидкой
plannedPrice number · double Нет Планируемая цена под акцию
totalStockCount integer · int64 Нет Поле totalStockCount.
commissionReduction number · double Нет Поле commissionReduction.
profitDifference number · double Нет Поле profitDifference.
marginDifference number · double Нет Поле marginDifference.
markupDifference number · double Нет Поле markupDifference.
plannedAndMinPriceDiff number · double Нет Поле plannedAndMinPriceDiff.
incomeDifference number · double Нет Поле incomeDifference.
currentDiscount number · double Нет Поле currentDiscount.
productCreatedDate string · date-time Нет Поле productCreatedDate.
mainImageUrl string Нет Ссылка на основное изображение
isProfitably boolean Нет Поле isProfitably.
taskId integer · int64 Нет Идентификатор задачи
serviceArticle string Нет Артикул на сервисе
article string Нет Модель артикул
daysCountOnService integer · int32 Нет Кол-во дней на сервисе
turnover integer · int32 Нет Оборачиваемость
fboStock integer · int32 Нет ФБО остаток
fbsStock integer · int32 Нет ФБС остаток
newDiscountForPromotion number · double Нет Поле newDiscountForPromotion.
saleLogistics number · double Нет Логистика при продаже
returnLogistics number · double Нет Обратная логистика
purchasePercent number · double Нет Процент выкупа
totalLogistics number · double Нет Логистика
commissions number · double Нет Комиссия
currentProfit number · double Нет Текущая прибыль
promotionProfit number · double Нет Прибыль под акцию
currentMarginality number · double Нет Текущая маржинальность
promotionMarginality number · double Нет Маржинальность под акцию
currentMarkUp number · double Нет Текущая наценка
promotionMarkUp number · double Нет Наценка под акцию
additionalDiscountForPromotionRub number · double Нет Дополнительная скидка под акции в руб
additionalDiscountForPromotionPercent number · double Нет Дополнительная скидка под акции в %
isDeleted boolean Нет Удаленный?
organizationId integer · int64 Нет Идентификатор организации
clientId integer · int64 Нет Идентификатор клиента
addMode string Нет Тип добавления товара в акцию: автоматически или вручную продавцом.
ozonAverageExpenses number · double Нет Поле ozonAverageExpenses.
isActive boolean Нет Товар в акции или нет
changeName string Нет Кто вносил корректировки
changeDate string · date-time Нет Дата когда вносили изменения
productName string Нет Название продукта
id integer · int64 Нет Порядковый номер в общем списке, для фронта
totalCount integer · int64 Нет Общее кол-во
serviceCard string Нет Идентификатор продукта на сервисе
isNotFound boolean Нет Поле isNotFound.
isArchived boolean Нет Поле isArchived.
productCommissions string Нет Поле productCommissions.
currentGrossProfit number · double Нет Валовая прибыль текущая (без акции), руб
plannedGrossProfit number · double Нет Валовая прибыль под акцию (с акцией), руб
curl --request POST 'https://api.selsup.ru/api/promotion/addProductsInPromotion?promotionId=1001&clientOrganizationId=1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

Успешный ответ

200
Структура элемента массива OzonProduct[]
ПолеТипОбязательноОписание
product_id integer · int64 Нет Идентификатор товара.
action_price number · double Нет Цена товара по акции.
stock integer · int32 Нет Количество единиц товара в акции типа «Скидка на сток».
reason string Нет Причина, почему товар не добавлен в акцию.
[
  "string"
]
Ошибки11

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_auto_promotion_not_supported
Нельзя добавлять товар в автоматическую акцию

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_auto_promotion_not_supported; localMessage содержит приведённый выше перевод.

400error_empty_ozon_id
пустой ID Ozon

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_ozon_id; localMessage содержит приведённый выше перевод.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_organization_not_found
Не найдена организация

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_organization_not_found; localMessage содержит приведённый выше перевод.

400error_promotion_exists
Запрос на добавление товаров в акцию уже отправлялся ранее. Повторная отправка невозможна

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_promotion_exists; localMessage содержит приведённый выше перевод.

400error_remote
Произошла ошибка при запросе внешнего сервиса

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_remote; localMessage содержит приведённый выше перевод.

400error_token_expired_or_revoked
Токен API отозван или введен некорректно. Проверьте, что ключ API имеет полный функционал. Сгенерируйте новый ключ и замените в SELSUP, так как ключи имеют срок жизни.

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_token_expired_or_revoked; localMessage содержит приведённый выше перевод.

400error_wildberries_import_error
На стороне WB ведутся технические работы, повторите попытку позже, подробности можно узнать в тех поддержке (API: {message})

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_wildberries_import_error; localMessage содержит приведённый выше перевод.

POST

Создать акцию

/api/promotion/
Токен с правами записи

Метод создает акцию

Тело запроса

application/json
Поля объектаPromotion
ПолеТипОбязательноОписание
promotionId integer · int64 Нет Идентификатор акции
id integer · int64 Нет Порядковый номер в списке запроса
totalCount integer · int64 Нет Общее кол-во акций
name string Нет Название акции
dateStart string · date-time Нет Дата и время начало
dateEnd string · date-time Нет Дата и время окончания
changeCommission boolean Нет Меняется ли комиссия или нет
changeCommissionAmount number · double Нет На какой процент сокращается комиссия
createdDate string · date-time Нет Дата создания
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Маркетплейс акции
isDeleted boolean Нет Идентификатор удаления
description string Нет Описание акции
promotionIdOnMp string Нет Идентификатор акции на МП
clientId integer · int64 Нет Идентификатор клиента
organizationId integer · int64 Нет Идентификатор организации
candidateCount integer · int64 Нет Кол-во кандидатов в акцию
inPromotionCount integer · int64 Нет Кол-во участников в акции
auto boolean Нет Признак автоматической акции
hotsale boolean Нет Признак hotsale акции
candidateCountOnMp integer · int64 Нет Кол-во кандидатов в акции на маркетплейсе
inPromotionCountOnMp integer · int64 Нет Кол-во участников в акции на маркетплейсе
curl --request POST 'https://api.selsup.ru/api/promotion/' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "promotionId": 1001,
  "id": 1001,
  "totalCount": 1,
  "name": "Example",
  "dateStart": "2026-01-15T12:00:00Z",
  "dateEnd": "2026-01-15T12:00:00Z"
}'

Успешный ответ

200
Поля объекта Promotion
ПолеТипОбязательноОписание
promotionId integer · int64 Нет Идентификатор акции
id integer · int64 Нет Порядковый номер в списке запроса
totalCount integer · int64 Нет Общее кол-во акций
name string Нет Название акции
dateStart string · date-time Нет Дата и время начало
dateEnd string · date-time Нет Дата и время окончания
changeCommission boolean Нет Меняется ли комиссия или нет
changeCommissionAmount number · double Нет На какой процент сокращается комиссия
createdDate string · date-time Нет Дата создания
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Маркетплейс акции
isDeleted boolean Нет Идентификатор удаления
description string Нет Описание акции
promotionIdOnMp string Нет Идентификатор акции на МП
clientId integer · int64 Нет Идентификатор клиента
organizationId integer · int64 Нет Идентификатор организации
candidateCount integer · int64 Нет Кол-во кандидатов в акцию
inPromotionCount integer · int64 Нет Кол-во участников в акции
auto boolean Нет Признак автоматической акции
hotsale boolean Нет Признак hotsale акции
candidateCountOnMp integer · int64 Нет Кол-во кандидатов в акции на маркетплейсе
inPromotionCountOnMp integer · int64 Нет Кол-во участников в акции на маркетплейсе
{
  "promotionId": 1001,
  "id": 1001,
  "totalCount": 1,
  "name": "Example",
  "dateStart": "2026-01-15T12:00:00Z",
  "dateEnd": "2026-01-15T12:00:00Z"
}
Ошибки4

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

GET

Выгрузить товары акции Ozon в Excel

/api/promotion/{promotionId}/product/export
Токен с правами чтения

Метод возвращает Excel-файл с параметрами акции и ее товарами

Параметры пути

ПолеТипОбязательноОписание
promotionId integer · int64 Да Поле promotionId.

Параметры запроса

ПолеТипОбязательноОписание
dateFrom string · date-time Нет Дата начала акции
dateTo string · date-time Нет Дата окончания акции
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
reDownload boolean Нет Идентификатор, что нужно перезакачать данные с МП
clientOrganizationId integer · int64 Нет Идентификатор организации
minMargin number · double Нет Минимальная маржа, руб
minMarginPercent number · double Нет Минимальная маржинальность, %
isActive boolean Нет передавать только если надо вывести уже примененные акции, в таком случае передается true. В остальных случаях можно не передавать, по дефолту будет false
isDeleted boolean Нет Поле isDeleted.
query string Нет по названию или артикулу товара
promotionIdOnMp integer · int64 Нет Идентификатор акции на сервисе
categoryId integer · int64 Нет Идентификатор категории
categoryIds integer[] Нет Идентификатор категорий
clientId integer · int64 Нет Поле clientId.
inStock boolean Нет В наличии
isNotFound boolean Нет Ошибочные товары (карточки не были найдены)
limit integer · int32 Нет Ограничение на количество записей. Максимальное значение - 500
page integer · int32 Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy stringCATEGORYNAME, BRANDNAME, PRODUCTNAME, ARTICLE, BARCODE, SERVICEARTICLE, CURRENTPRICEWITHOUTDISCOUNT, CURRENTPRICE, PLANNEDPRICE, CURRENTDISCOUNT, NEWDISCOUNTFORPROMOTION, CURRENTPROFIT, PROMOTIONPROFIT, CURRENTMARGINALITY, PROMOTIONMARGINALITY, CURRENTMARKUP, PLANNEDMARKUPRATIO, OZONPRODUCTIDONMP, WILDBERRIESPRODUCTIDONMP, PURCHASEPERCENT, FBOSTOCK, FBSSTOCK, TURNOVER Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
curl --request GET 'https://api.selsup.ru/api/promotion/1001/product/export?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200
"string"
Ошибки7

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_cant_download_file
Не удается сформировать файл. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_download_file; localMessage содержит приведённый выше перевод.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_promotion_not_found
промоакция не найдена

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_promotion_not_found; localMessage содержит приведённый выше перевод.

400error_service_not_found
Не выбран маркетплейс

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_service_not_found; localMessage содержит приведённый выше перевод.

GET

Поиск товаров в акциях

/api/promotion/product/find
Токен с правами чтения

Метод возвращает все продукты в акции по фильтру

Параметры запроса

ПолеТипОбязательноОписание
dateFrom string · date-time Нет Дата начала акции
dateTo string · date-time Нет Дата окончания акции
promotionId integer · int64 Нет Идентификатор акции
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
reDownload boolean Нет Идентификатор, что нужно перезакачать данные с МП
clientOrganizationId integer · int64 Нет Идентификатор организации
minMargin number · double Нет Минимальная маржа, руб
minMarginPercent number · double Нет Минимальная маржинальность, %
isActive boolean Нет передавать только если надо вывести уже примененные акции, в таком случае передается true. В остальных случаях можно не передавать, по дефолту будет false
isDeleted boolean Нет Поле isDeleted.
query string Нет по названию или артикулу товара
promotionIdOnMp integer · int64 Нет Идентификатор акции на сервисе
categoryId integer · int64 Нет Идентификатор категории
categoryIds integer[] Нет Идентификатор категорий
clientId integer · int64 Нет Поле clientId.
inStock boolean Нет В наличии
isNotFound boolean Нет Ошибочные товары (карточки не были найдены)
limit integer · int32 Нет Ограничение на количество записей. Максимальное значение - 500
page integer · int32 Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy stringCATEGORYNAME, BRANDNAME, PRODUCTNAME, ARTICLE, BARCODE, SERVICEARTICLE, CURRENTPRICEWITHOUTDISCOUNT, CURRENTPRICE, PLANNEDPRICE, CURRENTDISCOUNT, NEWDISCOUNTFORPROMOTION, CURRENTPROFIT, PROMOTIONPROFIT, CURRENTMARGINALITY, PROMOTIONMARGINALITY, CURRENTMARKUP, PLANNEDMARKUPRATIO, OZONPRODUCTIDONMP, WILDBERRIESPRODUCTIDONMP, PURCHASEPERCENT, FBOSTOCK, FBSSTOCK, TURNOVER Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
curl --request GET 'https://api.selsup.ru/api/promotion/product/find?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200
Поля объекта FindResponseProductPromotion
ПолеТипОбязательноОписание
rows ProductPromotion[] Нет Строки с результатом поиска
Структура элемента массива ProductPromotion
ПолеТипОбязательноОписание
categoryName string Нет Категория
brandName string Нет Бренд
subject string Нет Поле subject.
purchasePrice number · double Нет Поле purchasePrice.
deliveryCost number · double Нет Поле deliveryCost.
additionalCost number · double Нет Поле additionalCost.
barcode string Нет Поле barcode.
instockQuantity integer · int64 Нет Поле instockQuantity.
wildberriesStockCount integer · int64 Нет Поле wildberriesStockCount.
yandexMarketStockCount integer · int64 Нет Поле yandexMarketStockCount.
createdDate string · date-time Нет Поле createdDate.
minPrice number · double Нет Поле minPrice.
isDuplicate boolean Нет Поле isDuplicate.
ozonArticle string Нет Поле ozonArticle.
ozonStockCount integer · int64 Нет Поле ozonStockCount.
salesExpensesOnMpPercent number · double Нет Поле salesExpensesOnMpPercent.
taxeRate number · double Нет Поле taxeRate.
width integer · int32 Нет Поле width.
height integer · int32 Нет Поле height.
depth integer · int32 Нет Поле depth.
ozonPurchasePercent number · double Нет Поле ozonPurchasePercent.
warehouseRatio number · double Нет Поле warehouseRatio.
wildberriesCommission number · double Нет Комиссия по тарифу FBM
wildberriesFbwCommission number · double Нет Комиссия по тарифу FBW
wildberriesFbsCommission number · double Нет Комиссия по тарифу FBS
wildberriesDbsCommission number · double Нет Комиссия по тарифу DBS
wildberriesEdbsCommission number · double Нет Комиссия по тарифу EDBS
wildberriesCAndCCommission number · double Нет Комиссия по тарифу C&C
wildberriesBookingCommission number · double Нет Комиссия за бронирование
wildberriesAdditionalExpenses number · double Нет Поле wildberriesAdditionalExpenses.
ozonAdditionalExpenses number · double Нет Поле ozonAdditionalExpenses.
ozonCommission number · double Нет Поле ozonCommission.
wildberriesId integer · int64 Нет Поле wildberriesId.
productId integer · int64 Нет Идентификатор продукта
promotionId integer · int64 Нет Идентификатор акции
ozonFbsCommission number · double Нет Озон ФБС комиссия
ozonFboCommission number · double Нет Озон ФБО комиссия
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
acquiringPercent number · double Нет Максимальный процент комиссии за эквайринг
currentPrice number · double Нет Текущая цена со скидкой
currentPriceWithoutDiscount number · double Нет Текущая цена без скидкой
plannedPrice number · double Нет Планируемая цена под акцию
totalStockCount integer · int64 Нет Поле totalStockCount.
commissionReduction number · double Нет Поле commissionReduction.
profitDifference number · double Нет Поле profitDifference.
marginDifference number · double Нет Поле marginDifference.
markupDifference number · double Нет Поле markupDifference.
plannedAndMinPriceDiff number · double Нет Поле plannedAndMinPriceDiff.
incomeDifference number · double Нет Поле incomeDifference.
currentDiscount number · double Нет Поле currentDiscount.
productCreatedDate string · date-time Нет Поле productCreatedDate.
mainImageUrl string Нет Ссылка на основное изображение
isProfitably boolean Нет Поле isProfitably.
taskId integer · int64 Нет Идентификатор задачи
serviceArticle string Нет Артикул на сервисе
article string Нет Модель артикул
daysCountOnService integer · int32 Нет Кол-во дней на сервисе
turnover integer · int32 Нет Оборачиваемость
fboStock integer · int32 Нет ФБО остаток
fbsStock integer · int32 Нет ФБС остаток
newDiscountForPromotion number · double Нет Поле newDiscountForPromotion.
saleLogistics number · double Нет Логистика при продаже
returnLogistics number · double Нет Обратная логистика
purchasePercent number · double Нет Процент выкупа
totalLogistics number · double Нет Логистика
commissions number · double Нет Комиссия
currentProfit number · double Нет Текущая прибыль
promotionProfit number · double Нет Прибыль под акцию
currentMarginality number · double Нет Текущая маржинальность
promotionMarginality number · double Нет Маржинальность под акцию
currentMarkUp number · double Нет Текущая наценка
promotionMarkUp number · double Нет Наценка под акцию
additionalDiscountForPromotionRub number · double Нет Дополнительная скидка под акции в руб
additionalDiscountForPromotionPercent number · double Нет Дополнительная скидка под акции в %
isDeleted boolean Нет Удаленный?
organizationId integer · int64 Нет Идентификатор организации
clientId integer · int64 Нет Идентификатор клиента
addMode string Нет Тип добавления товара в акцию: автоматически или вручную продавцом.
ozonAverageExpenses number · double Нет Поле ozonAverageExpenses.
isActive boolean Нет Товар в акции или нет
changeName string Нет Кто вносил корректировки
changeDate string · date-time Нет Дата когда вносили изменения
productName string Нет Название продукта
id integer · int64 Нет Порядковый номер в общем списке, для фронта
totalCount integer · int64 Нет Общее кол-во
serviceCard string Нет Идентификатор продукта на сервисе
isNotFound boolean Нет Поле isNotFound.
isArchived boolean Нет Поле isArchived.
productCommissions string Нет Поле productCommissions.
currentGrossProfit number · double Нет Валовая прибыль текущая (без акции), руб
plannedGrossProfit number · double Нет Валовая прибыль под акцию (с акцией), руб
{
  "rows": "string"
}
Ошибки4

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

GET

Поиск акции

/api/promotion/find
Токен с правами чтения

Метод возвращает все акции по фильтру

Параметры запроса

ПолеТипОбязательноОписание
dateFrom string · date-time Нет Дата начала акции
dateTo string · date-time Нет Дата окончания акции
promotionId integer · int64 Нет Идентификатор акции
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
reDownload boolean Нет Идентификатор, что нужно перезакачать данные с МП
clientOrganizationId integer · int64 Нет Идентификатор организации
minMargin number · double Нет Минимальная маржа, руб
minMarginPercent number · double Нет Минимальная маржинальность, %
isActive boolean Нет передавать только если надо вывести уже примененные акции, в таком случае передается true. В остальных случаях можно не передавать, по дефолту будет false
isDeleted boolean Нет Поле isDeleted.
query string Нет по названию или артикулу товара
promotionIdOnMp integer · int64 Нет Идентификатор акции на сервисе
categoryId integer · int64 Нет Идентификатор категории
categoryIds integer[] Нет Идентификатор категорий
clientId integer · int64 Нет Поле clientId.
inStock boolean Нет В наличии
isNotFound boolean Нет Ошибочные товары (карточки не были найдены)
limit integer · int32 Нет Ограничение на количество записей. Максимальное значение - 500
page integer · int32 Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy stringCATEGORYNAME, BRANDNAME, PRODUCTNAME, ARTICLE, BARCODE, SERVICEARTICLE, CURRENTPRICEWITHOUTDISCOUNT, CURRENTPRICE, PLANNEDPRICE, CURRENTDISCOUNT, NEWDISCOUNTFORPROMOTION, CURRENTPROFIT, PROMOTIONPROFIT, CURRENTMARGINALITY, PROMOTIONMARGINALITY, CURRENTMARKUP, PLANNEDMARKUPRATIO, OZONPRODUCTIDONMP, WILDBERRIESPRODUCTIDONMP, PURCHASEPERCENT, FBOSTOCK, FBSSTOCK, TURNOVER Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
curl --request GET 'https://api.selsup.ru/api/promotion/find?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200
Поля объекта FindResponsePromotion
ПолеТипОбязательноОписание
rows Promotion[] Нет Строки с результатом поиска
Структура элемента массива Promotion
ПолеТипОбязательноОписание
promotionId integer · int64 Нет Идентификатор акции
id integer · int64 Нет Порядковый номер в списке запроса
totalCount integer · int64 Нет Общее кол-во акций
name string Нет Название акции
dateStart string · date-time Нет Дата и время начало
dateEnd string · date-time Нет Дата и время окончания
changeCommission boolean Нет Меняется ли комиссия или нет
changeCommissionAmount number · double Нет На какой процент сокращается комиссия
createdDate string · date-time Нет Дата создания
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Маркетплейс акции
isDeleted boolean Нет Идентификатор удаления
description string Нет Описание акции
promotionIdOnMp string Нет Идентификатор акции на МП
clientId integer · int64 Нет Идентификатор клиента
organizationId integer · int64 Нет Идентификатор организации
candidateCount integer · int64 Нет Кол-во кандидатов в акцию
inPromotionCount integer · int64 Нет Кол-во участников в акции
auto boolean Нет Признак автоматической акции
hotsale boolean Нет Признак hotsale акции
candidateCountOnMp integer · int64 Нет Кол-во кандидатов в акции на маркетплейсе
inPromotionCountOnMp integer · int64 Нет Кол-во участников в акции на маркетплейсе
{
  "rows": "string"
}
Ошибки5

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_service_not_found
Не выбран маркетплейс

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_service_not_found; localMessage содержит приведённый выше перевод.

GET

Выгрузить акции Ozon в Excel

/api/promotion/export
Токен с правами чтения

Метод возвращает Excel-файл с акциями Ozon по фильтру

Параметры запроса

ПолеТипОбязательноОписание
dateFrom string · date-time Нет Дата начала акции
dateTo string · date-time Нет Дата окончания акции
promotionId integer · int64 Нет Идентификатор акции
service stringNONE, WILDBERRIES, OZON, YANDEX_MARKET, FAMILIYA, NATIONAL_CATALOG, ALIEXPRESS, OTHER, MOY_SKLAD, SBER_MEGA_MARKET, CISLINK, ONE_C, AVITO, LEROY_MERLIN, DETMIR, KAZAN_EXPRESS, EVOTOR, WEBASYST, AMAZON, EBAY, SIMALAND, INSALES, LAMODA, OZON_PERFORMANCE, WALMART, GOOGLE, YANDEX_DISC, EMAIL, WOOCOMMERCE, MAGNIT, OPENCART, M_VIDEO, TAKEALOT, UZUM, SHOPIFY, MAKRO, YANDEX_KIT, BOB_SHOP, KASPI, DIADOC Нет Сервис
reDownload boolean Нет Идентификатор, что нужно перезакачать данные с МП
clientOrganizationId integer · int64 Нет Идентификатор организации
minMargin number · double Нет Минимальная маржа, руб
minMarginPercent number · double Нет Минимальная маржинальность, %
isActive boolean Нет передавать только если надо вывести уже примененные акции, в таком случае передается true. В остальных случаях можно не передавать, по дефолту будет false
isDeleted boolean Нет Поле isDeleted.
query string Нет по названию или артикулу товара
promotionIdOnMp integer · int64 Нет Идентификатор акции на сервисе
categoryId integer · int64 Нет Идентификатор категории
categoryIds integer[] Нет Идентификатор категорий
clientId integer · int64 Нет Поле clientId.
inStock boolean Нет В наличии
isNotFound boolean Нет Ошибочные товары (карточки не были найдены)
limit integer · int32 Нет Ограничение на количество записей. Максимальное значение - 500
page integer · int32 Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy stringCATEGORYNAME, BRANDNAME, PRODUCTNAME, ARTICLE, BARCODE, SERVICEARTICLE, CURRENTPRICEWITHOUTDISCOUNT, CURRENTPRICE, PLANNEDPRICE, CURRENTDISCOUNT, NEWDISCOUNTFORPROMOTION, CURRENTPROFIT, PROMOTIONPROFIT, CURRENTMARGINALITY, PROMOTIONMARGINALITY, CURRENTMARKUP, PLANNEDMARKUPRATIO, OZONPRODUCTIDONMP, WILDBERRIESPRODUCTIDONMP, PURCHASEPERCENT, FBOSTOCK, FBSSTOCK, TURNOVER Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
curl --request GET 'https://api.selsup.ru/api/promotion/export?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

Успешный ответ

200
"string"
Ошибки6

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

401auth_required
Требуется авторизация

Заголовок Authorization отсутствует, пуст или содержит недействительный токен.

400error_access_denied
Недостаточно прав

Токен существует, но его роль не позволяет выполнить операцию.

500error_unknown
Непредвиденная ошибка

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_cant_download_file
Не удается сформировать файл. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_download_file; localMessage содержит приведённый выше перевод.

400error_no_client
Клиент не найден или был удален. Напишите в поддержку

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.

400error_service_not_found
Не выбран маркетплейс

Персональная ошибка этого метода. Для программной логики используйте стабильный код error_service_not_found; localMessage содержит приведённый выше перевод.

Authorization

Токен для тестовых запросов

Токен хранится только в localStorage этого браузера и отправляется исключительно в заголовке Authorization запросов к api.selsup.ru.

Попробовать

Параметры реального запроса

Реальный ответ API

Выполните запрос, чтобы увидеть ответ SelSup.