SelSup Developers

Публичный API · Справочник API

Конкуренты

Связи товаров с карточками конкурентов и история их цен.

Методы: 12/api/competitorСтабильныйСпецификация OpenAPI ↗
{ }

Работа с карточками конкурентов для моделей товаров.

/api/competitor

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

Структуры данных

Поля объектов, которые используются в запросах и ответах этого раздела.

Competitor10 полей
idinteger · int64

ID конкурента

read-only
modelIdinteger · int64

ID модели, для которой указывается конкурент

productIdinteger · int64

ID конкретного товара, для которого указывается конкурент

servicestring

Маркетплейс конкурента

Обязательно
urlstring

URL карточки конкурента на маркетплейсе

Обязательно
serviceIdstring

ID карточки конкурента на сайте маркетплейса

clientIdinteger · int64

ID клиента

read-only
latestPricenumber · double

Последняя собранная цена

read-only
currencystring

Валюта последней цены

read-only
latestPriceDatestring · date-time

Дата сбора последней цены

read-only
CompetitorPrice6 полей
idinteger · int64

ID записи

read-only
competitorIdinteger · int64

ID карточки конкурента

Обязательно
clientIdinteger · int64

ID клиента

read-only
pricenumber · double

Цена

Обязательно
currencystring

Валюта цены

datestring · date-time

Дата и время сбора цены

CompetitorImportResult2 полей
importedinteger · int32

Количество импортированных строк

skippedinteger · int32

Количество пропущенных строк

Ошибки

Обработка ошибок

При ошибке API возвращает её код в поле error и сообщение на языке пользователя в localMessage. Проверяйте код error в программе, а localMessage показывайте пользователю.

error

Код ошибки для обработки в программе.

localMessage

Сообщение на языке пользователя, которому принадлежит токен.

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/competitor/{competitorId}
Токен с правами записи

Редактировать карточку конкурента по его id

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

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

Тело запроса

application/json
Поля объектаCompetitor
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
curl --request PUT 'https://api.selsup.ru/api/competitor/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}'

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

200

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

Ошибки10

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

400error_competitor_not_found
Конкурент не найден

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

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

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

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

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

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

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

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

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

DELETE

Удалить карточку конкурента

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

Удалить карточку конкурента по его id

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

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

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

200

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

Ошибки7

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

400error_competitor_not_found
Конкурент не найден

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

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

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

GET

Получить список всех конкурентов для модели

/api/competitor/{modelId}
Токен с правами чтения

Получить список всех конкурентов для модели по ее id

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

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

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

200
Структура элемента массива Competitor[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
[
  "string"
]
Ошибки6

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

400error_model_id_required
Требуется id модели

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

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

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

POST

Создать связь с карточкой конкурента

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

Создать модель конкурента, связывая его с карточкой конкурента

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

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

Тело запроса

application/json
Поля объектаCompetitor
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
curl --request POST 'https://api.selsup.ru/api/competitor/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}'

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

200
Поля объекта Competitor
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}
Ошибки8

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

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

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

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

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

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

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

GET

Получить конкурентов конкретного товара

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

Получить конкурентов конкретного товара.

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

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

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

200
Структура элемента массива Competitor[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
[
  "string"
]
Ошибки6

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

400error_product_not_found
Товар не найден

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

POST

Создать связь конкурента с конкретным товаром

/api/competitor/product/{productId}
Токен с правами записи

Создает карточку конкурента для конкретного размера/варианта товара

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

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

Тело запроса

application/json
Поля объектаCompetitor
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
curl --request POST 'https://api.selsup.ru/api/competitor/product/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}'

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

200
Поля объекта Competitor
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}
Ошибки9

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

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

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

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

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

400error_product_not_found
Товар не найден

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

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

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

POST

Сохранить собранные цены конкурентов

/api/competitor/price/batch
Токен с правами записи

Пакетно сохраняет цены, переданные плагином

Тело запроса

application/json
Структура элемента массиваCompetitorPrice[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID записи
competitorId integer · int64 Да ID карточки конкурента
clientId integer · int64 Нет ID клиента
price number · double Да Цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта цены
date string · date-time Нет Дата и время сбора цены
curl --request POST 'https://api.selsup.ru/api/competitor/price/batch' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

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

200
1
Ошибки9

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

400error_competitor_not_found
Конкурент не найден

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

400error_competitor_price_required
Укажите корректную цену конкурента

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

400error_competitor_prices_required
Передайте цены конкурентов

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

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

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

POST

Массово импортировать конкурентов из Excel

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

Массово импортировать конкурентов из Excel.

Тело запроса

multipart/form-data
ПолеТипОбязательноОписание
file string · binary Да Поле file.
curl --request POST 'https://api.selsup.ru/api/competitor/import' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --form 'file=@./file.bin'

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

200
Поля объекта CompetitorImportResult
ПолеТипОбязательноОписание
imported integer · int32 Нет Количество импортированных строк
skipped integer · int32 Нет Количество пропущенных строк
{
  "imported": 1,
  "skipped": 1
}
Ошибки23

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_base_creating
Ваш кабинет в процессе создания, подождите несколько минут до полного создания кабинета

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

400error_cabinet_access_denied
Доступ к этому кабинету недоступен.

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

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

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

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

400error_empty_organization_form
не указана форма организации

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

400error_empty_organization_inn
Не указан ИНН организации

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

400error_empty_organization_name
Не указано название организации

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

400error_fulfillment_client_access_denied
Нет доступа к данным клиента фулфилмента

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

400error_fulfillment_client_contract_required
Примите договор, чтобы получить доступ к операциям.

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

400error_incorrect_excel
Некорректный формат файла. Загрузите Excel таблицу.

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

400error_max_page
Номер страницы не может быть больше 100 000

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

400error_max_upload_size_exceeded
Допустимый размер файла превышен

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

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

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

400error_organization_create_failed
Возникла проблема при создании организации. Пожалуйста, обратитесь в поддержку

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

400error_organization_exists
Организация уже создана

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

400error_products_not_found
Следующие товары не найдены: {products}

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

400error_reload
Сессия авторизации истекла, обновите страницу браузера. Если обновление не помогает попробуйте удалить файлы cookie для сайта

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

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

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

400error_wrong_inn
Некорректно указан ИНН организации, длина 10 или 12 цифр

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

GET

Получить историю цен конкурента

/api/competitor/{competitorId}/price
Токен с правами чтения

Получить историю цен конкурента.

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

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

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

ПолеТипОбязательноОписание
dateFrom string · date-time Нет Поле dateFrom.
dateTo string · date-time Нет Поле dateTo.
curl --request GET 'https://api.selsup.ru/api/competitor/1001/price' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Структура элемента массива CompetitorPrice[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID записи
competitorId integer · int64 Да ID карточки конкурента
clientId integer · int64 Нет ID клиента
price number · double Да Цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта цены
date string · date-time Нет Дата и время сбора цены
[
  "string"
]
Ошибки3

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

GET

Скачать Excel-шаблон конкурентов

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

Без параметров выгружает все товары клиента. organizationId ограничивает выгрузку организацией, service — товарами, заведенными на указанном маркетплейсе

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

ПолеТипОбязательноОписание
organizationId integer · int64 Нет Поле organizationId.
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Нет Сервис
curl --request GET 'https://api.selsup.ru/api/competitor/template' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
"string"
Ошибки3

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

GET

Получить задания на сбор цен

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

Возвращает карточки конкурентов для сбора цен плагином

curl --request GET 'https://api.selsup.ru/api/competitor/collection' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Структура элемента массива Competitor[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
[
  "string"
]
Ошибки5

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

GET

Получить всех конкурентов клиента с последними ценами

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

Получить всех конкурентов клиента с последними ценами.

curl --request GET 'https://api.selsup.ru/api/competitor/' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Структура элемента массива Competitor[]
ПолеТипОбязательноОписание
id integer · int64 Нет ID конкурента
modelId integer · int64 Нет ID модели, для которой указывается конкурент
productId integer · int64 Нет ID конкретного товара, для которого указывается конкурент
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, TEKSHER, KONTUR_LOGISTICS, KONTUR_EDI, VSE_INSTRUMENTI, ELECTRONIC_SIGN Да Маркетплейс конкурента
url string Да URL карточки конкурента на маркетплейсе
serviceId string Нет ID карточки конкурента на сайте маркетплейса
clientId integer · int64 Нет ID клиента
latestPrice number · double Нет Последняя собранная цена
currency stringRUB, USD, EUR, AUD, AZN, GBP, AMD, BYN, BGN, BRL, HUF, VND, HKD, GEL, DKK, AED, EGP, INR, IDR, KZT, CAD, QAR, KGS, CNY, MDL, NZD, NOK, PLN, RON, XDR, SGD, TJS, THB, TRY, TMT, UZS, UAH, CZK, SEK, CHF, RSD, ZAR, KRW, JPY Нет Валюта последней цены
latestPriceDate string · date-time Нет Дата сбора последней цены
[
  "string"
]
Ошибки3

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

Authorization

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

Получить токен

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

Попробовать

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

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

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