SelSup Developers

Public API · API Reference

Competitors

Endpoints for Competitors, including exact routes, parameters, request bodies, and expandable response schemas.

Endpoints: 12/api/competitorStableMachine-readable description ↗
{ }

This page is backed by an editable standalone contract. Validate write operations with test data before production use.

/api/competitor

Ready-to-use workflows

Ready-to-use workflows

01

Start using Competitors

Use a dedicated API token and validate read operations with test data first.

  1. Keep the token server-side and send it in the Authorization header.
  2. Check required parameters and expand the request or response schema.
  3. Handle the HTTP status and the stable error field in application errors.

Data model

Data structures

Models are listed once here and can also be expanded directly from the endpoints that use them.

Competitor10 fields
idinteger · int64

Id.

read-only
modelIdinteger · int64

Model Id.

productIdinteger · int64

Product Id.

servicestring

Service.

Required
urlstring

Url.

Required
serviceIdstring

Service Id.

clientIdinteger · int64

Client Id.

read-only
latestPricenumber · double

Latest Price.

read-only
currencystring

Currency.

read-only
latestPriceDatestring · date-time

Latest Price Date.

read-only
CompetitorPrice6 fields
idinteger · int64

Id.

read-only
competitorIdinteger · int64

Competitor Id.

Required
clientIdinteger · int64

Client Id.

read-only
pricenumber · double

Price.

Required
currencystring

Currency.

datestring · date-time

Date.

CompetitorImportResult2 fields
importedinteger · int32

Imported.

skippedinteger · int32

Skipped.

Error contract

How application errors are returned

The error code is identical in every locale, while the user-facing message is translated by the server. Build application logic around error and use localMessage for display only.

error

Stable machine-readable code for integration logic.

localMessage

Display-ready message in the API token user's language.

params

Values interpolated by the server into the localized message template.

文

localMessage uses the lang field of the user who owns the API token. The documentation language and Accept-Language header do not change it; Russian is used when the user has no language configured.

RUUser locale is ru
{
  "error": "error_brand_already_exists",
  "localMessage": "Бренд Base уже существует",
  "params": {
    "name": "Base"
  }
}
ENUser locale is en
{
  "error": "error_brand_already_exists",
  "localMessage": "Brand Base already exists",
  "params": {
    "name": "Base"
  }
}

Endpoints

Endpoints

PUT

Update

/api/competitor/{competitorId}
Token with write access

Update using PUT /api/competitor/{competitorId}.

Path parameters

FieldTypeRequiredDescription
competitorId integer · int64 Yes Competitor Id.

Request body

application/json
Object fieldsCompetitor
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
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"
}'

Success response

200

The response has no body.

Errors10

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_id_required
Competitor id is required

Endpoint-specific error. Use the stable error_competitor_id_required code in application logic; localMessage contains the translation shown above.

400error_competitor_not_found
Competitor not found

Endpoint-specific error. Use the stable error_competitor_not_found code in application logic; localMessage contains the translation shown above.

400error_competitor_required
Competitor is required

Endpoint-specific error. Use the stable error_competitor_required code in application logic; localMessage contains the translation shown above.

400error_competitor_url_required
Competitor URL is required

Endpoint-specific error. Use the stable error_competitor_url_required code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

400error_service_not_supported
Service not supported

Endpoint-specific error. Use the stable error_service_not_supported code in application logic; localMessage contains the translation shown above.

DELETE

Delete

/api/competitor/{competitorId}
Token with write access

Delete using DELETE /api/competitor/{competitorId}.

Path parameters

FieldTypeRequiredDescription
competitorId integer · int64 Yes Competitor Id.
curl --request DELETE 'https://api.selsup.ru/api/competitor/1001' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200

The response has no body.

Errors7

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_id_required
Competitor id is required

Endpoint-specific error. Use the stable error_competitor_id_required code in application logic; localMessage contains the translation shown above.

400error_competitor_not_found
Competitor not found

Endpoint-specific error. Use the stable error_competitor_not_found code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

GET

Get All

/api/competitor/{modelId}
Token with read access

Get All using GET /api/competitor/{modelId}.

Path parameters

FieldTypeRequiredDescription
modelId integer · int64 Yes Model Id.
curl --request GET 'https://api.selsup.ru/api/competitor/1001' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
Array item structure Competitor[]
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
[
  "string"
]
Errors6

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_model_id_required
Model id is required

Endpoint-specific error. Use the stable error_model_id_required code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

POST

Create

/api/competitor/{modelId}
Token with write access

Create using POST /api/competitor/{modelId}.

Path parameters

FieldTypeRequiredDescription
modelId integer · int64 Yes Model Id.

Request body

application/json
Object fieldsCompetitor
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
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"
}'

Success response

200
Object fields Competitor
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}
Errors8

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_required
Competitor is required

Endpoint-specific error. Use the stable error_competitor_required code in application logic; localMessage contains the translation shown above.

400error_competitor_url_required
Competitor URL is required

Endpoint-specific error. Use the stable error_competitor_url_required code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

400error_service_not_supported
Service not supported

Endpoint-specific error. Use the stable error_service_not_supported code in application logic; localMessage contains the translation shown above.

GET

Get By Product

/api/competitor/product/{productId}
Token with read access

Get By Product using GET /api/competitor/product/{productId}.

Path parameters

FieldTypeRequiredDescription
productId integer · int64 Yes Product Id.
curl --request GET 'https://api.selsup.ru/api/competitor/product/1001' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
Array item structure Competitor[]
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
[
  "string"
]
Errors6

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

400error_product_not_found
Product not found

Endpoint-specific error. Use the stable error_product_not_found code in application logic; localMessage contains the translation shown above.

POST

Create For Product

/api/competitor/product/{productId}
Token with write access

Create For Product using POST /api/competitor/product/{productId}.

Path parameters

FieldTypeRequiredDescription
productId integer · int64 Yes Product Id.

Request body

application/json
Object fieldsCompetitor
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
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"
}'

Success response

200
Object fields Competitor
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
{
  "service": "NONE",
  "url": "https://example.com",
  "id": 1001,
  "modelId": 1001,
  "productId": 1001,
  "serviceId": "string"
}
Errors9

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_required
Competitor is required

Endpoint-specific error. Use the stable error_competitor_required code in application logic; localMessage contains the translation shown above.

400error_competitor_url_required
Competitor URL is required

Endpoint-specific error. Use the stable error_competitor_url_required code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

400error_product_not_found
Product not found

Endpoint-specific error. Use the stable error_product_not_found code in application logic; localMessage contains the translation shown above.

400error_service_not_supported
Service not supported

Endpoint-specific error. Use the stable error_service_not_supported code in application logic; localMessage contains the translation shown above.

POST

Create Prices

/api/competitor/price/batch
Token with write access

Create Prices using POST /api/competitor/price/batch.

Request body

application/json
Array item structureCompetitorPrice[]
FieldTypeRequiredDescription
id integer · int64 No Id.
competitorId integer · int64 Yes Competitor Id.
clientId integer · int64 No Client Id.
price number · double Yes Price.
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 No Currency.
date string · date-time No Date.
curl --request POST 'https://api.selsup.ru/api/competitor/price/batch' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

Success response

200
1
Errors9

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_id_required
Competitor id is required

Endpoint-specific error. Use the stable error_competitor_id_required code in application logic; localMessage contains the translation shown above.

400error_competitor_not_found
Competitor not found

Endpoint-specific error. Use the stable error_competitor_not_found code in application logic; localMessage contains the translation shown above.

400error_competitor_price_required
Enter a valid competitor price

Endpoint-specific error. Use the stable error_competitor_price_required code in application logic; localMessage contains the translation shown above.

400error_competitor_prices_required
Competitor prices are required

Endpoint-specific error. Use the stable error_competitor_prices_required code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

POST

Import Competitors

/api/competitor/import
Token with write access

Import Competitors using POST /api/competitor/import.

Request body

multipart/form-data
FieldTypeRequiredDescription
file string · binary Yes File.
curl --request POST 'https://api.selsup.ru/api/competitor/import' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --form 'file=@./file.bin'

Success response

200
Object fields CompetitorImportResult
FieldTypeRequiredDescription
imported integer · int32 No Imported.
skipped integer · int32 No Skipped.
{
  "imported": 1,
  "skipped": 1
}
Errors23

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_base_creating
Your cabinet is being created, wait a few minutes until complete cabinet creation

Endpoint-specific error. Use the stable error_base_creating code in application logic; localMessage contains the translation shown above.

400error_cabinet_access_denied
Access to this cabinet is not available.

Endpoint-specific error. Use the stable error_cabinet_access_denied code in application logic; localMessage contains the translation shown above.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_competitor_required
Competitor is required

Endpoint-specific error. Use the stable error_competitor_required code in application logic; localMessage contains the translation shown above.

400error_competitor_url_required
Competitor URL is required

Endpoint-specific error. Use the stable error_competitor_url_required code in application logic; localMessage contains the translation shown above.

400error_empty_organization_form
organization form not specified

Endpoint-specific error. Use the stable error_empty_organization_form code in application logic; localMessage contains the translation shown above.

400error_empty_organization_inn
Organization TIN not specified

Endpoint-specific error. Use the stable error_empty_organization_inn code in application logic; localMessage contains the translation shown above.

400error_empty_organization_name
Organization name not specified

Endpoint-specific error. Use the stable error_empty_organization_name code in application logic; localMessage contains the translation shown above.

400error_fulfillment_client_access_denied
Fulfillment client access denied

Endpoint-specific error. Use the stable error_fulfillment_client_access_denied code in application logic; localMessage contains the translation shown above.

400error_fulfillment_client_contract_required
Accept the contract to access operations.

Endpoint-specific error. Use the stable error_fulfillment_client_contract_required code in application logic; localMessage contains the translation shown above.

400error_incorrect_excel
Incorrect file format. Download Excel spreadsheet.

Endpoint-specific error. Use the stable error_incorrect_excel code in application logic; localMessage contains the translation shown above.

400error_max_page
Page number cannot be greater than 100,000

Endpoint-specific error. Use the stable error_max_page code in application logic; localMessage contains the translation shown above.

400error_max_upload_size_exceeded
File size exceeds maximum limit

Endpoint-specific error. Use the stable error_max_upload_size_exceeded code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

400error_organization_create_failed
There was a problem when creating an organization. Please contact support

Endpoint-specific error. Use the stable error_organization_create_failed code in application logic; localMessage contains the translation shown above.

400error_organization_exists
Organization already established

Endpoint-specific error. Use the stable error_organization_exists code in application logic; localMessage contains the translation shown above.

400error_products_not_found
The following items were not found: {products}

Endpoint-specific error. Use the stable error_products_not_found code in application logic; localMessage contains the translation shown above.

400error_reload
The authorization session has expired, refresh the browser page. If the update does not help, try deleting the cookies for the site

Endpoint-specific error. Use the stable error_reload code in application logic; localMessage contains the translation shown above.

400error_service_not_supported
Service not supported

Endpoint-specific error. Use the stable error_service_not_supported code in application logic; localMessage contains the translation shown above.

400error_wrong_inn
Incorrectly specified TIN of the organization, length 10 or 12 digits

Endpoint-specific error. Use the stable error_wrong_inn code in application logic; localMessage contains the translation shown above.

GET

Get Prices

/api/competitor/{competitorId}/price
Token with read access

Get Prices using GET /api/competitor/{competitorId}/price.

Path parameters

FieldTypeRequiredDescription
competitorId integer · int64 Yes Competitor Id.

Query parameters

FieldTypeRequiredDescription
dateFrom string · date-time No Date From.
dateTo string · date-time No Date To.
curl --request GET 'https://api.selsup.ru/api/competitor/1001/price' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
Array item structure CompetitorPrice[]
FieldTypeRequiredDescription
id integer · int64 No Id.
competitorId integer · int64 Yes Competitor Id.
clientId integer · int64 No Client Id.
price number · double Yes Price.
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 No Currency.
date string · date-time No Date.
[
  "string"
]
Errors3

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

GET

Get Template

/api/competitor/template
Token with read access

Get Template using GET /api/competitor/template.

Query parameters

FieldTypeRequiredDescription
organizationId integer · int64 No Organization 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 No Service.
curl --request GET 'https://api.selsup.ru/api/competitor/template' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
"string"
Errors3

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

GET

Get For Collection

/api/competitor/collection
Token with read access

Get For Collection using GET /api/competitor/collection.

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

Success response

200
Array item structure Competitor[]
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
[
  "string"
]
Errors5

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

400error_cant_extract_tariffs
Unable to retrieve tariffs. Please contact support

Endpoint-specific error. Use the stable error_cant_extract_tariffs code in application logic; localMessage contains the translation shown above.

400error_no_client
The client was not found or has been deleted. Write to support

Endpoint-specific error. Use the stable error_no_client code in application logic; localMessage contains the translation shown above.

GET

Get All 1

/api/competitor/
Token with read access

Get All 1 using GET /api/competitor/.

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

Success response

200
Array item structure Competitor[]
FieldTypeRequiredDescription
id integer · int64 No Id.
modelId integer · int64 No Model Id.
productId integer · int64 No Product 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 Yes Service.
url string Yes Url.
serviceId string No Service Id.
clientId integer · int64 No Client Id.
latestPrice number · double No Latest Price.
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 No Currency.
latestPriceDate string · date-time No Latest Price Date.
[
  "string"
]
Errors3

Application errors are normally returned as JSON with error, localMessage, and params. Branch on error; localized text may change. How application errors are returned ↑

401auth_required
Authentication required

Authorization is missing, empty, or contains an invalid token.

400error_access_denied
Insufficient permissions

The token exists, but its role cannot perform this operation.

500error_unknown
Unexpected error

Internal failure. Save the request time and contact support; do not blindly retry a mutation.

Authorization

Token for test requests

Get an API token

The token stays in this browser's localStorage and is sent only in the Authorization header of requests to api.selsup.ru.

Try it

Real request parameters

Live API response

Send a request to see the SelSup response.