SelSup Developers

Public API · API Reference

Job

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

3 endpoints/api/jobStableMachine-readable description ↗
{ }

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

/api/job

Ready-to-use workflows

Ready-to-use workflows

01

Start using Job

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.

Job11 fields
idinteger · int32

Id.

namestring

Name.

categoryClassstring

Category Class.

clientIdinteger · int64

Client Id.

deletedboolean

Deleted.

positionIdinteger · int64

Position Id.

versionIdinteger · int64

Version Id.

createdUserstring

Created User.

createdDatestring · date-time

Created Date.

pricenumber · double

Price.

tariffsJobTariff[]

Tariffs.

JobTariff8 fields
idinteger · int64

Id.

jobIdinteger · int32

Job Id.

pricenumber · double

Price.

brandIdinteger · int32

Brand Id.

categoryClassstring

Category Class.

categoryIdinteger · int32

Category Id.

priorityinteger · int32

Priority.

productIdinteger · int64

Product Id.

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

Put Job

/api/job/{jobId}
Token with write access

Put Job using PUT /api/job/{jobId}.

Path parameters

FieldTypeRequiredDescription
jobId integer · int64 Yes Job Id.

Request body

application/json
Object fieldsJob
FieldTypeRequiredDescription
id integer · int32 No Id.
name string No Name.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
clientId integer · int64 No Client Id.
deleted boolean No Deleted.
positionId integer · int64 No Position Id.
versionId integer · int64 No Version Id.
createdUser string No Created User.
createdDate string · date-time No Created Date.
price number · double No Price.
tariffs JobTariff[] No Tariffs.
Array item structure JobTariff
FieldTypeRequiredDescription
id integer · int64 No Id.
jobId integer · int32 No Job Id.
price number · double No Price.
brandId integer · int32 No Brand Id.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
categoryId integer · int32 No Category Id.
priority integer · int32 No Priority.
productId integer · int64 No Product Id.
curl --request PUT 'https://api.selsup.ru/api/job/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "id": 1001,
  "name": "Example",
  "categoryClass": "SHOES",
  "clientId": 1001,
  "deleted": false,
  "positionId": 1001
}'

Success response

200
Object fields Job
FieldTypeRequiredDescription
id integer · int32 No Id.
name string No Name.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
clientId integer · int64 No Client Id.
deleted boolean No Deleted.
positionId integer · int64 No Position Id.
versionId integer · int64 No Version Id.
createdUser string No Created User.
createdDate string · date-time No Created Date.
price number · double No Price.
tariffs JobTariff[] No Tariffs.
Array item structure JobTariff
FieldTypeRequiredDescription
id integer · int64 No Id.
jobId integer · int32 No Job Id.
price number · double No Price.
brandId integer · int32 No Brand Id.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
categoryId integer · int32 No Category Id.
priority integer · int32 No Priority.
productId integer · int64 No Product Id.
{
  "id": 1001,
  "name": "Example",
  "categoryClass": "SHOES",
  "clientId": 1001,
  "deleted": false,
  "positionId": 1001
}
Errors14

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_empty_category_class
Class not specified

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

400error_empty_job_price
The price for the work is not specified

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

400error_empty_position
Position not specified

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

400error_empty_tariff_price
Price not specified for tariff No.{position}

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

400error_empty_tariff_priority
No priority specified for tariff No.{position}

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

400error_empty_tariffs
Tariffs not specified

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

400error_job_already_exists
Job with name {jobName} already exists

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

400error_job_modified
Job details have been updated. Refresh the page.

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

400error_job_tariff_wrong_product_id
Incorrect product identifier: {id}

Endpoint-specific error. Use the stable error_job_tariff_wrong_product_id 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_subscription_expired
Your subscription has expired. Pay the tariff to continue using the service.

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

DELETE

Remove Job

/api/job/{jobId}
Token with write access

Remove Job using DELETE /api/job/{jobId}.

Path parameters

FieldTypeRequiredDescription
jobId integer · int32 Yes Job Id.

Query parameters

FieldTypeRequiredDescription
deleted boolean Yes Deleted.
curl --request DELETE 'https://api.selsup.ru/api/job/1001?deleted=false' \
  --header 'Authorization: YOUR_API_TOKEN'

Success response

200
"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_job_modified
Job details have been updated. Refresh the page.

Endpoint-specific error. Use the stable error_job_modified 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_subscription_expired
Your subscription has expired. Pay the tariff to continue using the service.

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

POST

Post Job

/api/job/
Token with write access

Post Job using POST /api/job/.

Request body

application/json
Object fieldsJob
FieldTypeRequiredDescription
id integer · int32 No Id.
name string No Name.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
clientId integer · int64 No Client Id.
deleted boolean No Deleted.
positionId integer · int64 No Position Id.
versionId integer · int64 No Version Id.
createdUser string No Created User.
createdDate string · date-time No Created Date.
price number · double No Price.
tariffs JobTariff[] No Tariffs.
Array item structure JobTariff
FieldTypeRequiredDescription
id integer · int64 No Id.
jobId integer · int32 No Job Id.
price number · double No Price.
brandId integer · int32 No Brand Id.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
categoryId integer · int32 No Category Id.
priority integer · int32 No Priority.
productId integer · int64 No Product Id.
curl --request POST 'https://api.selsup.ru/api/job/' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "id": 1001,
  "name": "Example",
  "categoryClass": "SHOES",
  "clientId": 1001,
  "deleted": false,
  "positionId": 1001
}'

Success response

200
Object fields Job
FieldTypeRequiredDescription
id integer · int32 No Id.
name string No Name.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
clientId integer · int64 No Client Id.
deleted boolean No Deleted.
positionId integer · int64 No Position Id.
versionId integer · int64 No Version Id.
createdUser string No Created User.
createdDate string · date-time No Created Date.
price number · double No Price.
tariffs JobTariff[] No Tariffs.
Array item structure JobTariff
FieldTypeRequiredDescription
id integer · int64 No Id.
jobId integer · int32 No Job Id.
price number · double No Price.
brandId integer · int32 No Brand Id.
categoryClass stringSHOES, LIGHT, DRUGS, CAMERA, TYRES, MILK, WATER, TOBACCO, FURS, BEER, BICYCLES, PERFUMES, ELECTRONIC, OTHER, NONE, FOOD, WHEELCHAIRS, OTP, NCP, BIO, ANTISEPTIC, NABEER, SOFTDRINKS, PETFOOD, SEAFOOD, MEAT, TOYS, TITAN, RADIO, OPTIC_FIBER, VEGETABLE_OIL, CONSERVE, VETPHARMA, CHEMISTRY, AUTOFLUIDS, GROCERY, BOOKS, CONSTRUCTION, FIRE, HEATER, CABLERAW, POLYMER, SWEETS, CARPARTS, NATURAL_FUR, NICOTINDEV, GADGETS, FROZEN, FERTILIZERS, HOMEWARE, VETBIO, INDUSTRIAL, PYROTECHNICS No Category Class.
categoryId integer · int32 No Category Id.
priority integer · int32 No Priority.
productId integer · int64 No Product Id.
{
  "id": 1001,
  "name": "Example",
  "categoryClass": "SHOES",
  "clientId": 1001,
  "deleted": false,
  "positionId": 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_empty_category_class
Class not specified

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

400error_empty_job_price
The price for the work is not specified

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

400error_empty_position
Position not specified

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

400error_empty_tariff_price
Price not specified for tariff No.{position}

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

400error_empty_tariff_priority
No priority specified for tariff No.{position}

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

400error_empty_tariffs
Tariffs not specified

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

400error_job_already_exists
Job with name {jobName} already exists

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

400error_job_tariff_wrong_product_id
Incorrect product identifier: {id}

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

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.