SelSup Developers

Public API · API Reference

Calculator

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

2 endpoints/api/calculatorStableMachine-readable description ↗
{ }

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

/api/calculator

Ready-to-use workflows

Ready-to-use workflows

01

Start using Calculator

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.

UnitCalculator31 fields
purchasePricenumber · double

Purchase Price.

purchasePercentnumber · double

Purchase Percent.

widthinteger · int32

Width.

heightinteger · int32

Height.

depthinteger · int32

Depth.

categoryIdinteger · int64

Category Id.

servicestring

Service.

salePricenumber · double

Sale Price.

commissionnumber · double

Commission.

wildberriesFbsBaseCommissionnumber · double

Wildberries Fbs Base Commission.

wildberriesFbsPlannedTransferHoursnumber · double

Wildberries Fbs Planned Transfer Hours.

wildberriesFbsTransferNormHoursnumber · double

Wildberries Fbs Transfer Norm Hours.

wildberriesFbsSpeedCoefficientnumber · double

Wildberries Fbs Speed Coefficient.

wildberriesFbsEffectiveCommissionnumber · double

Wildberries Fbs Effective Commission.

wildberriesFbsTransferHoursSourcestring

Wildberries Fbs Transfer Hours Source.

wildberriesFbsSpeedCoefficientValidFromstring · date

Wildberries Fbs Speed Coefficient Valid From.

wildberriesFbsSpeedCoefficientSourcestring

Wildberries Fbs Speed Coefficient Source.

logisticnumber · double

Logistic.

warehouseRationumber · double

Warehouse Ratio.

logisticRationumber · double

Logistic Ratio.

ktrnumber · double

Ktr.

expensesnumber · double

Expenses.

newPriceByRubnumber · double

New Price By Rub.

newPriceByMarginalitynumber · double

New Price By Marginality.

desiredMarginPercentnumber · double

Desired Margin Percent.

desiredProfitRubnumber · double

Desired Profit Rub.

profitnumber · double

Profit.

markUpnumber · double

Mark Up.

marginalitynumber · double

Marginality.

organizationIdinteger · int64

Organization Id.

taxRatenumber · double

Tax Rate.

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

GET

Profit

/api/calculator/profit
Token with read access

Profit using GET /api/calculator/profit.

Query parameters

FieldTypeRequiredDescription
purchasePrice number · double No Purchase Price.
purchasePercent number · double No Purchase Percent.
width integer · int32 No Width.
height integer · int32 No Height.
depth integer · int32 No Depth.
categoryId integer · int64 No Category 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 No Service.
salePrice number · double No Sale Price.
commission number · double No Commission.
wildberriesFbsBaseCommission number · double No Wildberries Fbs Base Commission.
wildberriesFbsPlannedTransferHours number · double No Wildberries Fbs Planned Transfer Hours.
wildberriesFbsTransferNormHours number · double No Wildberries Fbs Transfer Norm Hours.
wildberriesFbsSpeedCoefficient number · double No Wildberries Fbs Speed Coefficient.
wildberriesFbsEffectiveCommission number · double No Wildberries Fbs Effective Commission.
wildberriesFbsTransferHoursSource string No Wildberries Fbs Transfer Hours Source.
wildberriesFbsSpeedCoefficientValidFrom string · date No Wildberries Fbs Speed Coefficient Valid From.
wildberriesFbsSpeedCoefficientSource string No Wildberries Fbs Speed Coefficient Source.
logistic number · double No Logistic.
warehouseRatio number · double No Warehouse Ratio.
logisticRatio number · double No Logistic Ratio.
ktr number · double No Ktr.
expenses number · double No Expenses.
newPriceByRub number · double No New Price By Rub.
newPriceByMarginality number · double No New Price By Marginality.
desiredMarginPercent number · double No Desired Margin Percent.
desiredProfitRub number · double No Desired Profit Rub.
profit number · double No Profit.
markUp number · double No Mark Up.
marginality number · double No Marginality.
organizationId integer · int64 No Organization Id.
taxRate number · double No Tax Rate.
curl --request GET 'https://api.selsup.ru/api/calculator/profit' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
Object fields UnitCalculator
FieldTypeRequiredDescription
purchasePrice number · double No Purchase Price.
purchasePercent number · double No Purchase Percent.
width integer · int32 No Width.
height integer · int32 No Height.
depth integer · int32 No Depth.
categoryId integer · int64 No Category 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 No Service.
salePrice number · double No Sale Price.
commission number · double No Commission.
wildberriesFbsBaseCommission number · double No Wildberries Fbs Base Commission.
wildberriesFbsPlannedTransferHours number · double No Wildberries Fbs Planned Transfer Hours.
wildberriesFbsTransferNormHours number · double No Wildberries Fbs Transfer Norm Hours.
wildberriesFbsSpeedCoefficient number · double No Wildberries Fbs Speed Coefficient.
wildberriesFbsEffectiveCommission number · double No Wildberries Fbs Effective Commission.
wildberriesFbsTransferHoursSource string No Wildberries Fbs Transfer Hours Source.
wildberriesFbsSpeedCoefficientValidFrom string · date No Wildberries Fbs Speed Coefficient Valid From.
wildberriesFbsSpeedCoefficientSource string No Wildberries Fbs Speed Coefficient Source.
logistic number · double No Logistic.
warehouseRatio number · double No Warehouse Ratio.
logisticRatio number · double No Logistic Ratio.
ktr number · double No Ktr.
expenses number · double No Expenses.
newPriceByRub number · double No New Price By Rub.
newPriceByMarginality number · double No New Price By Marginality.
desiredMarginPercent number · double No Desired Margin Percent.
desiredProfitRub number · double No Desired Profit Rub.
profit number · double No Profit.
markUp number · double No Mark Up.
marginality number · double No Marginality.
organizationId integer · int64 No Organization Id.
taxRate number · double No Tax Rate.
{
  "purchasePrice": 1,
  "purchasePercent": 1,
  "width": 1,
  "height": 1,
  "depth": 1,
  "categoryId": 1001
}
Errors12

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_category_not_found
Category not Found

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

400error_depth_not_found
Depth not specified

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

400error_height_not_found
Height not specified

Endpoint-specific error. Use the stable error_height_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.

400error_organization_not_found
Organization not found

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

400error_purchase_percent_not_found
Purchase percentage not specified

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

400error_sale_price_not_found
Sale price not specified

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

400error_service_not_found
Marketplace not selected

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

400error_width_not_found
Width not specified

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

GET

Price

/api/calculator/price
Token with read access

Price using GET /api/calculator/price.

Query parameters

FieldTypeRequiredDescription
purchasePrice number · double No Purchase Price.
purchasePercent number · double No Purchase Percent.
width integer · int32 No Width.
height integer · int32 No Height.
depth integer · int32 No Depth.
categoryId integer · int64 No Category 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 No Service.
salePrice number · double No Sale Price.
commission number · double No Commission.
wildberriesFbsBaseCommission number · double No Wildberries Fbs Base Commission.
wildberriesFbsPlannedTransferHours number · double No Wildberries Fbs Planned Transfer Hours.
wildberriesFbsTransferNormHours number · double No Wildberries Fbs Transfer Norm Hours.
wildberriesFbsSpeedCoefficient number · double No Wildberries Fbs Speed Coefficient.
wildberriesFbsEffectiveCommission number · double No Wildberries Fbs Effective Commission.
wildberriesFbsTransferHoursSource string No Wildberries Fbs Transfer Hours Source.
wildberriesFbsSpeedCoefficientValidFrom string · date No Wildberries Fbs Speed Coefficient Valid From.
wildberriesFbsSpeedCoefficientSource string No Wildberries Fbs Speed Coefficient Source.
logistic number · double No Logistic.
warehouseRatio number · double No Warehouse Ratio.
logisticRatio number · double No Logistic Ratio.
ktr number · double No Ktr.
expenses number · double No Expenses.
newPriceByRub number · double No New Price By Rub.
newPriceByMarginality number · double No New Price By Marginality.
desiredMarginPercent number · double No Desired Margin Percent.
desiredProfitRub number · double No Desired Profit Rub.
profit number · double No Profit.
markUp number · double No Mark Up.
marginality number · double No Marginality.
organizationId integer · int64 No Organization Id.
taxRate number · double No Tax Rate.
curl --request GET 'https://api.selsup.ru/api/calculator/price' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
Object fields UnitCalculator
FieldTypeRequiredDescription
purchasePrice number · double No Purchase Price.
purchasePercent number · double No Purchase Percent.
width integer · int32 No Width.
height integer · int32 No Height.
depth integer · int32 No Depth.
categoryId integer · int64 No Category 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 No Service.
salePrice number · double No Sale Price.
commission number · double No Commission.
wildberriesFbsBaseCommission number · double No Wildberries Fbs Base Commission.
wildberriesFbsPlannedTransferHours number · double No Wildberries Fbs Planned Transfer Hours.
wildberriesFbsTransferNormHours number · double No Wildberries Fbs Transfer Norm Hours.
wildberriesFbsSpeedCoefficient number · double No Wildberries Fbs Speed Coefficient.
wildberriesFbsEffectiveCommission number · double No Wildberries Fbs Effective Commission.
wildberriesFbsTransferHoursSource string No Wildberries Fbs Transfer Hours Source.
wildberriesFbsSpeedCoefficientValidFrom string · date No Wildberries Fbs Speed Coefficient Valid From.
wildberriesFbsSpeedCoefficientSource string No Wildberries Fbs Speed Coefficient Source.
logistic number · double No Logistic.
warehouseRatio number · double No Warehouse Ratio.
logisticRatio number · double No Logistic Ratio.
ktr number · double No Ktr.
expenses number · double No Expenses.
newPriceByRub number · double No New Price By Rub.
newPriceByMarginality number · double No New Price By Marginality.
desiredMarginPercent number · double No Desired Margin Percent.
desiredProfitRub number · double No Desired Profit Rub.
profit number · double No Profit.
markUp number · double No Mark Up.
marginality number · double No Marginality.
organizationId integer · int64 No Organization Id.
taxRate number · double No Tax Rate.
{
  "purchasePrice": 1,
  "purchasePercent": 1,
  "width": 1,
  "height": 1,
  "depth": 1,
  "categoryId": 1001
}
Errors12

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_category_not_found
Category not Found

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

400error_depth_not_found
Depth not specified

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

400error_fill_purchase_price
No purchase price

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

400error_height_not_found
Height not specified

Endpoint-specific error. Use the stable error_height_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.

400error_organization_not_found
Organization not found

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

400error_purchase_percent_not_found
Purchase percentage not specified

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

400error_service_not_found
Marketplace not selected

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

400error_width_not_found
Width not specified

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

Authorization

Token for test requests

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.