{
"error": "error_brand_already_exists",
"localMessage": "Бренд Base уже существует",
"params": {
"name": "Base"
}
}Публичный API · Справочник API
Категории
Категории SelSup, их параметры и связи с категориями маркетплейсов.
Методы управления категориями и связями с категориями маркетплейсов.
/api/category
Модель данных
Структуры данных
Поля объектов, которые используются в запросах и ответах этого раздела.
AliexpressCategory8 полей
idinteger · int64Поле id.
namestringПоле name.
publishedbooleanПоле published.
parentIdinteger · int64Поле parentId.
aliexpressIdinteger · int64Поле aliexpressId.
lastSyncDatestring · date-timeДата последней синхронизации категории
notChangedDaysinteger · int32Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isLeafbooleanКатегория является листовой. Карточки можно добавлять только в листовые
AvitoCategory9 полей
idinteger · int64Идентификатор категории на Авито.Совпадает с идентификатором Авито
ОбязательноnamestringПолное название категории (включает в себя названия родительских категорий)
ОбязательноshortNamestringКраткое название категории
publishedbooleanОпубликована категория
parentIdinteger · int64id родительской категории Авито. Используется при импорте обьявлений с Авито
lastSyncDatestring · date-timeДата последней синхронизации категории
isLeafbooleanКатегория является листовой. Карточки можно добавлять только в листовые
goodsTypestringТег GoodsType в фиде
categorystringТег Category в фиде
Category47 полей
categoryIdinteger · int32Идентификатор категории. Проставляется автоматически
read-onlynamestringНаименование категории
ОбязательноdeletedbooleanПризнак удаленных категорий
read-onlyparentIdinteger · int32Идентификатор родительской категории
clientIdinteger · int64Идентификатор клиента
read-onlymarkedbooleanМаркируется ли категория
categoryClassstringТип категории для Честного знака. По умолчанию ставится OTHER
wildberriesTypeWildberriesTypeПредмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор
wildberriesCategoryIdinteger · int64Идентификатор категории Wildberries, совпадает с ID категории на самом Wildberries
wildberriesFbmCommissionnumber · doubleКомиссия по тарифу FBM
read-onlywildberriesFbwCommissionnumber · doubleКомиссия по тарифу FBW
read-onlywildberriesFbsCommissionnumber · doubleКомиссия по тарифу FBS
read-onlywildberriesDbsCommissionnumber · doubleКомиссия по тарифу DBS
read-onlywildberriesEdbsCommissionnumber · doubleКомиссия по тарифу EDBS
read-onlywildberriesCAndCCommissionnumber · doubleКомиссия по тарифу C&C
read-onlywildberriesBookingCommissionnumber · doubleКомиссия за бронирование
read-onlyozonDescriptionCategoryIdinteger · int64Идентификатор категории на Ozon. Строится из ID категории + ID типа на Ozon
yandexMarketCategoryIdinteger · int64Идентификатор категории в Яндекс.Маркет. Совпадает с идентификатором категории на самом Яндекс.Маркет
yandexMarketCategoryYandexMarketCategoryКатегория Яндекс.Маркета. Можно проставлять либо объект, либо только идентификатор
ozonDescriptionCategoryOzonDescriptionCategoryКатегория Озон
ozonCommissionnumber · doubleКомиссия озона.
read-onlytnvedTnvedТНВЭД. Можно проставлять либо объект, либо идентификатор ТНВЭД
tnvedIdinteger · int64Идентификатор ТНВЭД
laundrystringПравила ухода за вещами. Разделяются запятыми
paramsstringJSON значений параметров для категории
namePatternstringШаблон названий категории
aliexpressCategoryAliexpressCategoryКатегория Aliexpress
aliexpressCategoryIdinteger · int64Идентификатор категории на самом Aliexpress
avitoCategoryAvitoCategoryКатегория Avito
lamodaCategoryLamodaCategoryКатегория Lamoda
lamodaCategoryIdinteger · int64Идентификатор категории на Lamoda
avitoCategoryIdinteger · int64Идентификатор категории на Avito
packDepthinteger · int32Глубина упаковки в мм. Проставляется всем товарам в категории
packWidthinteger · int32Ширина упаковки в мм. Проставляется всем товарам в категории
packHeightinteger · int32Высота упаковки в мм. Проставляется всем товарам в категории
packWeightinteger · int32Вес упаковки в граммах. Проставляется всем товарам в категории
hasSizebooleanПризнак разделения товаров в категории по размеру. Меняет вид редактора карточки
hasColorbooleanПризнак разделения товаров в категории по цвету. Меняет вид редактора карточки
autoNamebooleanАвтоматически формировать названия товаров в категории
removeFbsStockbooleanНе передавать остатки товаров по FBS для товаров из этой категории
oneCIdstringИдентификатор категории в 1С
externalIdstringИдентификатор категории на сайте
moySkladIdstringИдентификатор категории в сервисе МойСклад
useClientParamsbooleanПоказывать пользовательские параметры в категории
requiredExpirationDatebooleanЯвляется ли срок годности обязательным параметром
serviceCategoryMappingsobjectУниверсальные привязки категории к категориям внешних сервисов
productCountinteger · int32Количество товаров в категории. Отдается только при withProductCount=true
LamodaCategory8 полей
idinteger · int64Поле id.
namestringНазвание
shortNamestringКраткое название категории
publishedbooleanОпубликованность категории
isLeafbooleanЛистовая категория
parentIdinteger · int64Поле parentId.
lastSyncDatestring · date-timeДата последней синхронизации
notChangedDaysinteger · int32Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
OzonDescriptionCategory21 полей
idinteger · int64Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon
namestringНазвание категории
ОбязательноpublishedbooleanПоле published.
parentIdinteger · int64Поле parentId.
isLeafbooleanПризнак листовой категории, в которой могут находиться товары
lastSyncDatestring · date-timeДата последней синхронизации категории с Озон
notChangedDaysinteger · int32Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
isErrorbooleanПоле isError.
errorDatestring · dateПоле errorDate.
typesstringПоле types.
typeIdinteger · int64Идентификатор типа на Ozon
purchasePercentAvgnumber · doubleСреднее значение процента выкупа. Используется в AI Финдире
purchasePercentMinnumber · doubleМинимально допустимое значение процента выкупа. Используется в AI Финдире
photoAvginteger · int32Среднее кол-во фотографий. Используется в AI Финдире
photoMininteger · int32Минимально допустимое кол-во фотографий. Используется в AI Финдире
drrAvgnumber · doubleСреднее значение ДРР. Используется в AI Финдире
drrMinnumber · doubleМинимально допустимое значение ДРР. Используется в AI Финдире
marginAvgnumber · doubleСреднее значение маржинальности. Используется в AI Финдире
marginMinnumber · doubleМинимально допустимое значение маржинальности. Используется в AI Финдире
promotionCtrAvgnumber · doubleСреднее значение CTR рекламной кампании. Используется в AI Финдире
promotionCtrMinnumber · doubleМинимально допустимое значение CTR рекламной кампании. Используется в AI Финдире
ServiceCategoryMapping3 полей
servicestringСервис
externalIdstringПоле externalId.
namestringПоле name.
Tnved14 полей
idinteger · int64Идентификатор кода ТНВЭД без нулей в начале
namestringНазвание кода ТНВЭД
deletedbooleanПоле deleted.
typestringТип
categoryClassstringИнформационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах
parentIdinteger · int64Родительский ТНВЭД
keywordsstringКлючевые слова для кода ТНВЭД
descriptionstringОписание кода ТНВЭД
paramsTnvedIdinteger · int64Идентификатор категории национального каталога (cat_id)
isInParambooleanОзначает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете
certificationstringНеобходимость сертификации товаров с этим ТНВЭД
codestringПоле code.
parentCodestringПоле parentCode.
certificationRequiredbooleanПоле certificationRequired.
WildberriesType32 полей
idinteger · int64Поле id.
namestringНазвание
publishedbooleanОпубликованность предмета Вайлдбериз
hasSizebooleanАтрибут, указывающий наличие размера
monoBoxMinQuantityinteger · int32Поле monoBoxMinQuantity.
monoTypestringПоле monoType.
monoMinPriceinteger · int32Поле monoMinPrice.
hasParentbooleanПоле hasParent.
parentIdinteger · int64Поле parentId.
wildberriesIdinteger · int64Идентификатор предмета на Вайлдбериз
lastSyncDatestring · date-timeДата последней синхронизации предмета с Вайлдбериз
notChangedDaysinteger · int32Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
commissionnumber · doubleКомиссия для товаров данного предмета в Вайлдбериз по FBM
fbsCommissionnumber · doubleКомиссия для товаров данного предмета в Вайлдбериз по FBS
fbwCommissionnumber · doubleКомиссия по тарифу FBW
dbsCommissionnumber · doubleКомиссия по тарифу DBS
edbsCommissionnumber · doubleКомиссия по тарифу EDBS
cAndCCommissionnumber · doubleКомиссия по тарифу C&C
bookingCommissionnumber · doubleКомиссия за бронирование
logisticPriceinteger · int32Стоимость доставки товара к клиенту на Вайлдбериз
storagePricenumber · doubleСтоимость хранения товара на складе Вайлдбериз за штуку в день
acceptancePricenumber · doubleСтоимость приемки товара на складе Вайлдбериз за штуку
needDimensionsbooleanАтрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов
purchasePercentAvgnumber · doubleСреднее значение процента выкупа. Используется в AI Финдире
purchasePercentMinnumber · doubleМинимально допустимое значение процента выкупа. Используется в AI Финдире
photoAvginteger · int32Среднее кол-во фотографий. Используется в AI Финдире
photoMininteger · int32Минимально допустимое кол-во фотографий. Используется в AI Финдире
drrAvgnumber · doubleСреднее значение ДРР. Используется в AI Финдире
drrMinnumber · doubleМинимально допустимое значение ДПП. Используется в AI Финдире
marginAvgnumber · doubleСреднее значение маржинальности. Используется в AI Финдире
marginMinnumber · doubleМинимально допустимое значение маржинальности. Используется в AI Финдире
candCCommissionnumber · doubleПоле candCCommission.
YandexMarketCategory7 полей
idinteger · int64Поле id.
namestringНазвание категории
ОбязательноpublishedbooleanПоле published.
parentIdinteger · int64Поле parentId.
isLeafbooleanПризнак листовой категории, в которой могут находиться товары
lastSyncDatestring · date-timeДата последней синхронизации категории с Озон
notChangedDaysinteger · int32Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются
NationalCatalogCategory9 полей
idinteger · int64Поле id.
namestringПоле name.
shortNamestringПоле shortName.
parentIdinteger · int64Поле parentId.
isLeafbooleanПоле isLeaf.
publishedbooleanПоле published.
categoryClassesstringПоле categoryClasses.
lastSyncDatestring · dateПоле lastSyncDate.
notChangedDaysinteger · int32Поле notChangedDays.
MagnitCategory6 полей
idinteger · int64Поле id.
namestringПоле name.
publishedbooleanПоле published.
isLeafbooleanПоле isLeaf.
lastSyncDatestring · date-timeПоле lastSyncDate.
notChangedDaysinteger · int32Поле notChangedDays.
ParamsFilter20 полей
limitinteger · int32Ограничение на количество записей. Максимальное значение - 500
pageinteger · int32Номер страницы начиная с 1
countbooleanВозвратить в ответе общее количество записей
sortBystringПоле сортировки записей. Работает только при получении списка.
ascendingbooleanПорядок сортировки - по возрастанию?. Работает только при получении списка.
nationalCatalogIdinteger · int64Категория Национального каталога, для которой необходимо получить список значений
wildberriesTypeIdinteger · int64Предмет Вайлдбериз для которой неободимо получить список значений
wildberriesCategoryIdinteger · int64Категория Вайлдбериз для которой неободимо получить список значений
ozonCategoryIdinteger · int64Категория Озон для которой неободимо получить список значений
ozonDescriptionCategoryIdinteger · int64Новая категория Озон для которой неободимо получить список значений
aliexpressCategoryIdinteger · int64Категория Aliexpress для которой неободимо получить список значений
lamodaCategoryIdinteger · int64Категория Lamoda для которой необходимо получить список значений
kaspiCategoryIdstringКод категории Kaspi для получения характеристик
magnitCategoryIdinteger · int64Категория Магнит Маркета
detmirCategoryIdinteger · int64Категория Детского мира для получения характеристик
avitoCategoryIdinteger · int64Категория Avito для которой неободимо получить список значений
yandexMarketCategoryIdinteger · int64Категория Яндекс.Маркета для которой неободимо получить список значений
categoryIdinteger · int32Категория SelSup, используется только для параметров клиента вместе с clientId
useAllCategoriesbooleanИспользуется только параметров клиента
useCategoryOptionbooleanПоле useCategoryOption.
CategoryLink9 полей
idinteger · int64Поле id.
sourceServiceIdinteger · int32Поле sourceServiceId.
sourceCategoryIdstringПоле sourceCategoryId.
resultServiceIdinteger · int32Поле resultServiceId.
resultCategoryIdstringПоле resultCategoryId.
resultCategoryobjectПоле resultCategory.
probabilitynumber · doubleПоле probability.
resultServicestringСервис
sourceServicestringСервис
KaspiCategory7 полей
idinteger · int64Поле id.
codestringПоле code.
namestringПоле name.
publishedbooleanПоле published.
isLeafbooleanПоле isLeaf.
lastSyncDatestring · date-timeПоле lastSyncDate.
notChangedDaysinteger · int32Поле notChangedDays.
FindResponseCategory1 полей
rowsCategory[]Строки с результатом поиска
DetmirCategory7 полей
idinteger · int64Поле id.
namestringПоле name.
publishedbooleanПоле published.
isLeafbooleanПоле isLeaf.
parentIdinteger · int64Поле parentId.
levelinteger · int32Поле level.
productTypestringПоле productType.
Ошибки
Обработка ошибок
При ошибке API возвращает её код в поле error и сообщение на языке пользователя в localMessage. Проверяйте код error в программе, а localMessage показывайте пользователю.
errorКод ошибки для обработки в программе.
localMessageСообщение на языке пользователя, которому принадлежит токен.
paramsЗначения, которые сервер подставил в сообщение об ошибке.
Язык localMessage определяется полем lang пользователя, которому принадлежит API-токен. Язык страницы документации и заголовок Accept-Language его не переключают; если язык пользователя не указан, используется русский.
{
"error": "error_brand_already_exists",
"localMessage": "Brand Base already exists",
"params": {
"name": "Base"
}
}Методы
Методы
Изменить категорию
/api/category/{categoryId}Позволяет изменить информацию о категории. Обновляет всю категорию полностью
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryId |
integer · int32 | Да | Поле categoryId. |
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
merge |
boolean | Нет | Объединить с сохраненной категорией |
Тело запроса
application/jsonПоля объектаCategory
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCountcurl --request PUT 'https://api.selsup.ru/api/category/1001' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}'
const response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'PUT',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'PUT',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.put(
'https://api.selsup.ru/api/category/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'name': 'Example',
'categoryId': 1001,
'deleted': False,
'parentId': 1001,
'clientId': 1001,
'marked': False
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001',
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("PUT", "https://api.selsup.ru/api/category/1001", strings.NewReader(`{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("PUT", HttpRequest.BodyPublishers.ofString("""
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
Category
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Обновить категорию
/api/category/{categoryId}Позволяет изменить только переданные поля о категории, объединяя их с сохраненными значениями
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryId |
integer · int32 | Да | Поле categoryId. |
Тело запроса
application/jsonПоля объектаCategory
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCountcurl --request PATCH 'https://api.selsup.ru/api/category/1001' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}'
const response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'PATCH',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'PATCH',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.patch(
'https://api.selsup.ru/api/category/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'name': 'Example',
'categoryId': 1001,
'deleted': False,
'parentId': 1001,
'clientId': 1001,
'marked': False
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001',
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("PATCH", "https://api.selsup.ru/api/category/1001", strings.NewReader(`{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
Category
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}Ошибки6
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Удалить категорию
/api/category/{categoryId}Позволяет удалить категорию или пометить ее удаленной
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryId |
integer · int32 | Да | Идентификатор категории |
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
deleted |
boolean | Да | Для восстановления удаленной категории, необходимо передать deleted=false |
curl --request DELETE 'https://api.selsup.ru/api/category/1001?deleted=false' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/1001?deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/1001?deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/category/1001?deleted=false',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001?deleted=false',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/category/1001?deleted=false", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001?deleted=false"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200"string"Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Объединение категорий
/api/category/{categoryId}/merge/{removedCategoryId}Позволяет объединить две категории - оставив только одну, перенеся все данные на другую категорию
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryId |
integer · int32 | Да | Категория, на которую переносятся данные |
removedCategoryId |
integer · int32 | Да | Категория, которая будет удалена |
curl --request POST 'https://api.selsup.ru/api/category/1001/merge/1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/1001/merge/1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/category/1001/merge/1001', {
method: 'POST',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/category/1001/merge/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001/merge/1001',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/category/1001/merge/1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001/merge/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки7
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_category_not_foundПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_category_not_found; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Создание категории
/api/category/Создает новую категорию клиента. При создании обязательно передавать только название
Тело запроса
application/jsonПоля объектаCategory
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCountcurl --request POST 'https://api.selsup.ru/api/category/' \
--header 'Authorization: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}'
const response = await fetch('https://api.selsup.ru/api/category/', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/', {
method: 'POST',
headers: {
Authorization: process.env.SELSUP_API_TOKEN!,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}),
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.post(
'https://api.selsup.ru/api/category/',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
json={
'name': 'Example',
'categoryId': 1001,
'deleted': False,
'parentId': 1001,
'clientId': 1001,
'marked': False
},
)
response.raise_for_status()
result = response.json()
<?php
$payload = <<<'JSON'
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
JSON;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/',
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
req, err := http.NewRequest("POST", "https://api.selsup.ru/api/category/", strings.NewReader(`{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}`))
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}
"""))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
Category
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}Ошибки8
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_category_already_existsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_category_already_exists; localMessage содержит приведённый выше перевод.
error_empty_category_nameПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_empty_category_name; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Удалить категории
/api/category/Позволяет удалить категории или пометить их удаленными
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryIds |
integer[] | Да | Идентификаторы категорий |
deleted |
boolean | Да | Для восстановления удаленных категорий, необходимо передать deleted=false |
curl --request DELETE 'https://api.selsup.ru/api/category/?categoryIds=1&deleted=false' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/?categoryIds=1&deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/?categoryIds=1&deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/category/?categoryIds=1&deleted=false',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/?categoryIds=1&deleted=false',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/category/?categoryIds=1&deleted=false", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/?categoryIds=1&deleted=false"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200"string"Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Категория по идентификатору
/api/category/{id}Возвращает категорию клиента по идентификатору
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int32 | Да | Идентификатор категории |
curl --request GET 'https://api.selsup.ru/api/category/1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/1001', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
Category
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount{
"name": "Example",
"categoryId": 1001,
"deleted": false,
"parentId": 1001,
"clientId": 1001,
"marked": false
}Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Яндекс.Маркета
/api/category/ym/findПолучение списка категорий Яндекс.Маркета по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/ym/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/ym/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/ym/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/ym/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/ym/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/ym/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/ym/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
YandexMarketCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск предмета Вайлдбериз
/api/category/wildberries/findПроизводит поиск предмета Вайлдбериз по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/wildberries/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
WildberriesType[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Подсказки категорий
/api/category/suggestПроизводит поиск категории клиента для саджеста
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/suggest?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/suggest?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/suggest?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/suggest?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/suggest?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/suggest?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/suggest?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
Category[]
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount[
"string"
]Ошибки5
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
Поиск новой категории Озон
/api/category/ozon/findПолучение списка категорий Озон по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/ozon/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/ozon/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/ozon/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/ozon/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/ozon/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/ozon/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/ozon/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
OzonDescriptionCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Национального каталога
/api/category/national_catalog/findПолучение списка листовых опубликованных категорий Национального каталога
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/national_catalog/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
NationalCatalogCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
shortName |
string | Нет | Поле shortName. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Поле isLeaf. |
published |
boolean | Нет | Поле published. |
categoryClasses |
string | Нет | Поле categoryClasses. |
lastSyncDate |
string · date | Нет | Поле lastSyncDate. |
notChangedDays |
integer · int32 | Нет | Поле notChangedDays. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Магнит Маркета
/api/category/magnit/findПоиск категории Магнит Маркета.
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/magnit/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/magnit/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/magnit/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/magnit/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/magnit/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/magnit/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/magnit/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
MagnitCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
isLeaf |
boolean | Нет | Поле isLeaf. |
lastSyncDate |
string · date-time | Нет | Поле lastSyncDate. |
notChangedDays |
integer · int32 | Нет | Поле notChangedDays. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск связанных категорий
/api/category/linksПозволяет найти связанные категории для категорий маркетплейсов,чтобы их быстро указать
Параметры запроса
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
filter |
ParamsFilter | Да | Поле filter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
limit |
integer · int32 | Нет | Ограничение на количество записей. Максимальное значение - 500 |
page |
integer · int32 | Нет | Номер страницы начиная с 1 |
count |
boolean | Нет | Возвратить в ответе общее количество записей |
sortBy |
string | Нет | Поле сортировки записей. Работает только при получении списка. |
ascending |
boolean | Нет | Порядок сортировки - по возрастанию?. Работает только при получении списка. |
nationalCatalogId |
integer · int64 | Нет | Категория Национального каталога, для которой необходимо получить список значений |
wildberriesTypeId |
integer · int64 | Нет | Предмет Вайлдбериз для которой неободимо получить список значений |
wildberriesCategoryId |
integer · int64 | Нет | Категория Вайлдбериз для которой неободимо получить список значений |
ozonCategoryId |
integer · int64 | Нет | Категория Озон для которой неободимо получить список значений |
ozonDescriptionCategoryId |
integer · int64 | Нет | Новая категория Озон для которой неободимо получить список значений |
aliexpressCategoryId |
integer · int64 | Нет | Категория Aliexpress для которой неободимо получить список значений |
lamodaCategoryId |
integer · int64 | Нет | Категория Lamoda для которой необходимо получить список значений |
kaspiCategoryId |
string | Нет | Код категории Kaspi для получения характеристик |
magnitCategoryId |
integer · int64 | Нет | Категория Магнит Маркета |
detmirCategoryId |
integer · int64 | Нет | Категория Детского мира для получения характеристик |
avitoCategoryId |
integer · int64 | Нет | Категория Avito для которой неободимо получить список значений |
yandexMarketCategoryId |
integer · int64 | Нет | Категория Яндекс.Маркета для которой неободимо получить список значений |
categoryId |
integer · int32 | Нет | Категория SelSup, используется только для параметров клиента вместе с clientId |
useAllCategories |
boolean | Нет | Используется только параметров клиента |
useCategoryOption |
boolean | Нет | Поле useCategoryOption. |
curl --request GET 'https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/links?filter=%5Bobject+Object%5D"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
CategoryLink[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
sourceServiceId |
integer · int32 | Нет | Поле sourceServiceId. |
sourceCategoryId |
string | Нет | Поле sourceCategoryId. |
resultServiceId |
integer · int32 | Нет | Поле resultServiceId. |
resultCategoryId |
string | Нет | Поле resultCategoryId. |
resultCategory |
object | Нет | Поле resultCategory. |
probability |
number · double | Нет | Поле probability. |
resultService |
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 | Нет | Сервис |
sourceService |
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 | Нет | Сервис |
[
"string"
]Ошибки4
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Поиск категории Lamoda
/api/category/lamoda/findПолучение списка категорий Lamoda по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/lamoda/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
LamodaCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Kaspi
/api/category/kaspi/findПолучение списка категорий Kaspi по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/kaspi/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
KaspiCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
code |
string | Нет | Поле code. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
isLeaf |
boolean | Нет | Поле isLeaf. |
lastSyncDate |
string · date-time | Нет | Поле lastSyncDate. |
notChangedDays |
integer · int32 | Нет | Поле notChangedDays. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории
/api/category/findПозволяет найти категории по фильтру
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Нет | Поисковый запрос по названию категории |
actual |
boolean | Нет | Поиск актуальных категорий |
ozonCategoryId |
integer · int64 | Нет | Поиск по категории Ozon |
aliexpressCategoryId |
integer · int64 | Нет | Поиск по категории Aliexpress |
categoryOneCId |
string | Нет | Идентификатор категории в 1С |
services |
string[] | Нет | Список сервисов в которых не указана связь |
withProductCount |
boolean | Нет | Отдавать количество товаров в категории |
limit |
integer · int32 | Нет | Ограничение на количество записей. Максимальное значение - 500 |
page |
integer · int32 | Нет | Номер страницы начиная с 1 |
count |
boolean | Нет | Возвратить в ответе общее количество записей |
sortBy |
stringCATEGORYID, NAME, CATEGORYCLASS, TNVED, MARKED | Нет | Поле для сортировки |
ascending |
boolean | Нет | Порядок сортировки - по возрастанию?. Работает только при получении списка. |
curl --request GET 'https://api.selsup.ru/api/category/find?limit=50&page=1' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/find?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/find?limit=50&page=1', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/find?limit=50&page=1',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/find?limit=50&page=1',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/find?limit=50&page=1", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/find?limit=50&page=1"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Поля объекта
FindResponseCategory
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rows |
Category[] | Нет | Строки с результатом поиска | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура элемента массива
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
categoryId |
integer · int32 | Нет | Идентификатор категории. Проставляется автоматически | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name |
string | Да | Наименование категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deleted |
boolean | Нет | Признак удаленных категорий | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parentId |
integer · int32 | Нет | Идентификатор родительской категории | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
clientId |
integer · int64 | Нет | Идентификатор клиента | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
marked |
boolean | Нет | Маркируется ли категория | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Нет | Тип категории для Честного знака. По умолчанию ставится OTHER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wildberriesType |
WildberriesType | Нет | Предмет Вайлдбериз. Можно устанавливать либо объект,либо только идентификатор | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поля объекта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
published |
boolean | Нет | Опубликованность предмета Вайлдбериз |
hasSize |
boolean | Нет | Атрибут, указывающий наличие размера |
monoBoxMinQuantity |
integer · int32 | Нет | Поле monoBoxMinQuantity. |
monoType |
stringALWAYS, NEVER, MONO_IF_MIN_PRICE | Нет | Поле monoType. |
monoMinPrice |
integer · int32 | Нет | Поле monoMinPrice. |
hasParent |
boolean | Нет | Поле hasParent. |
parentId |
integer · int64 | Нет | Поле parentId. |
wildberriesId |
integer · int64 | Нет | Идентификатор предмета на Вайлдбериз |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации предмета с Вайлдбериз |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
commission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBM |
fbsCommission |
number · double | Нет | Комиссия для товаров данного предмета в Вайлдбериз по FBS |
fbwCommission |
number · double | Нет | Комиссия по тарифу FBW |
dbsCommission |
number · double | Нет | Комиссия по тарифу DBS |
edbsCommission |
number · double | Нет | Комиссия по тарифу EDBS |
cAndCCommission |
number · double | Нет | Комиссия по тарифу C&C |
bookingCommission |
number · double | Нет | Комиссия за бронирование |
logisticPrice |
integer · int32 | Нет | Стоимость доставки товара к клиенту на Вайлдбериз |
storagePrice |
number · double | Нет | Стоимость хранения товара на складе Вайлдбериз за штуку в день |
acceptancePrice |
number · double | Нет | Стоимость приемки товара на складе Вайлдбериз за штуку |
needDimensions |
boolean | Нет | Атрибут обязательности габаритов товара, тк стоимость хранения рассчитывается на основе габаритов |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДПП. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
candCCommission |
number · double | Нет | Поле candCCommission. |
wildberriesCategoryIdwildberriesFbmCommissionwildberriesFbwCommissionwildberriesFbsCommissionwildberriesDbsCommissionwildberriesEdbsCommissionwildberriesCAndCCommissionwildberriesBookingCommissionozonDescriptionCategoryIdyandexMarketCategoryIdyandexMarketCategory
Поля объекта
YandexMarketCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
ozonDescriptionCategory
Поля объекта
OzonDescriptionCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор категории на Ozon. Состоит из двух идентификаторов Категории + ID типа на самом Ozon |
name |
string | Да | Название категории |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
isLeaf |
boolean | Нет | Признак листовой категории, в которой могут находиться товары |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории с Озон |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isError |
boolean | Нет | Поле isError. |
errorDate |
string · date | Нет | Поле errorDate. |
types |
string | Нет | Поле types. |
typeId |
integer · int64 | Нет | Идентификатор типа на Ozon |
purchasePercentAvg |
number · double | Нет | Среднее значение процента выкупа. Используется в AI Финдире |
purchasePercentMin |
number · double | Нет | Минимально допустимое значение процента выкупа. Используется в AI Финдире |
photoAvg |
integer · int32 | Нет | Среднее кол-во фотографий. Используется в AI Финдире |
photoMin |
integer · int32 | Нет | Минимально допустимое кол-во фотографий. Используется в AI Финдире |
drrAvg |
number · double | Нет | Среднее значение ДРР. Используется в AI Финдире |
drrMin |
number · double | Нет | Минимально допустимое значение ДРР. Используется в AI Финдире |
marginAvg |
number · double | Нет | Среднее значение маржинальности. Используется в AI Финдире |
marginMin |
number · double | Нет | Минимально допустимое значение маржинальности. Используется в AI Финдире |
promotionCtrAvg |
number · double | Нет | Среднее значение CTR рекламной кампании. Используется в AI Финдире |
promotionCtrMin |
number · double | Нет | Минимально допустимое значение CTR рекламной кампании. Используется в AI Финдире |
ozonCommissiontnved
Поля объекта
Tnved
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Идентификатор кода ТНВЭД без нулей в начале |
name |
string | Нет | Название кода ТНВЭД |
deleted |
boolean | Нет | Поле deleted. |
type |
stringSECTION, GROUP, PRODUCT, MAIN | Нет | Тип |
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 | Нет | Информационное поле, чтобы автоматически заполнять значение в категории,при выборе ТНВЭД, но никогда не используется в документах |
parentId |
integer · int64 | Нет | Родительский ТНВЭД |
keywords |
string | Нет | Ключевые слова для кода ТНВЭД |
description |
string | Нет | Описание кода ТНВЭД |
paramsTnvedId |
integer · int64 | Нет | Идентификатор категории национального каталога (cat_id) |
isInParam |
boolean | Нет | Означает что ТНВЭД есть в параметре Вайлдбериз - их нужно выбирать в приоритете |
certification |
string | Нет | Необходимость сертификации товаров с этим ТНВЭД |
code |
string | Нет | Поле code. |
parentCode |
string | Нет | Поле parentCode. |
certificationRequired |
boolean | Нет | Поле certificationRequired. |
tnvedIdlaundryparamsnamePatternaliexpressCategory
Поля объекта
AliexpressCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
aliexpressCategoryIdavitoCategory
Поля объекта
AvitoCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
lamodaCategory
Поля объекта
LamodaCategory
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Название |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликованность категории |
isLeaf |
boolean | Нет | Листовая категория |
parentId |
integer · int64 | Нет | Поле parentId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
lamodaCategoryIdavitoCategoryIdpackDepthpackWidthpackHeightpackWeighthasSizehasColorautoNameremoveFbsStockoneCIdexternalIdmoySkladIduseClientParamsrequiredExpirationDateserviceCategoryMappingsproductCount{
"rows": "string"
}Ошибки5
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
Поиск категории Детского мира
/api/category/detmir/findПолучение списка категорий Детского мира по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/detmir/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/detmir/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/detmir/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/detmir/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/detmir/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/detmir/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/detmir/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
DetmirCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
isLeaf |
boolean | Нет | Поле isLeaf. |
parentId |
integer · int64 | Нет | Поле parentId. |
level |
integer · int32 | Нет | Поле level. |
productType |
string | Нет | Поле productType. |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Avito
/api/category/avito/findПолучение списка категорий Avito по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/avito/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/avito/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/avito/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/avito/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/avito/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/avito/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/avito/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
AvitoCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Да | Идентификатор категории на Авито.Совпадает с идентификатором Авито |
name |
string | Да | Полное название категории (включает в себя названия родительских категорий) |
shortName |
string | Нет | Краткое название категории |
published |
boolean | Нет | Опубликована категория |
parentId |
integer · int64 | Нет | id родительской категории Авито. Используется при импорте обьявлений с Авито |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
goodsType |
string | Нет | Тег GoodsType в фиде |
category |
string | Нет | Тег Category в фиде |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Поиск категории Aliexpress
/api/category/aliexpress/findПолучение списка категорий Aliexpress по запросу
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
query |
string | Да | Поле query. |
limit |
integer · int32 | Да | Поле limit. |
curl --request GET 'https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50', {
method: 'GET',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.get(
'https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50',
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/aliexpress/find?query=string&limit=50"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200
Структура элемента массива
AliexpressCategory[]
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id |
integer · int64 | Нет | Поле id. |
name |
string | Нет | Поле name. |
published |
boolean | Нет | Поле published. |
parentId |
integer · int64 | Нет | Поле parentId. |
aliexpressId |
integer · int64 | Нет | Поле aliexpressId. |
lastSyncDate |
string · date-time | Нет | Дата последней синхронизации категории |
notChangedDays |
integer · int32 | Нет | Количество дней, в течение которых данные категории не менялась. Используется для того, чтобы сократить обновление категорий, которые не меняются |
isLeaf |
boolean | Нет | Категория является листовой. Карточки можно добавлять только в листовые |
[
"string"
]Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Удалить связать параметра с категорией
/api/category/{categoryId}/param/{paramId}Удаляет связь пользовательского параметра с категорией
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
paramId |
integer · int64 | Да | Поле paramId. |
categoryId |
integer · int32 | Да | Поле categoryId. |
curl --request DELETE 'https://api.selsup.ru/api/category/1001/param/1001' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/1001/param/1001', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const response: Response = await fetch('https://api.selsup.ru/api/category/1001/param/1001', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/category/1001/param/1001',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001/param/1001',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/category/1001/param/1001", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001/param/1001"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200Тело ответа пустое.
Ошибки6
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
error_cant_extract_tariffsПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_cant_extract_tariffs; localMessage содержит приведённый выше перевод.
error_no_clientПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_no_client; localMessage содержит приведённый выше перевод.
error_subscription_expiredПерсональная ошибка этого метода. Для программной логики используйте стабильный код error_subscription_expired; localMessage содержит приведённый выше перевод.
Добавить в архив категорию
/api/category/{categoryId}/archiveПозволяет пометить категорию удаленной
Параметры пути
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryId |
integer · int32 | Да | Идентификатор категории |
curl --request DELETE 'https://api.selsup.ru/api/category/1001/archive' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category/1001/archive', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category/1001/archive', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/category/1001/archive',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category/1001/archive',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/category/1001/archive", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category/1001/archive"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200"string"Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.
Удалить категории
/api/categoryПозволяет удалить категории или пометить их удаленными
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
categoryIds |
integer[] | Да | Идентификаторы категорий |
deleted |
boolean | Да | Для восстановления удаленных категорий, необходимо передать deleted=false |
curl --request DELETE 'https://api.selsup.ru/api/category?categoryIds=1&deleted=false' \
--header 'Authorization: YOUR_API_TOKEN'
const response = await fetch('https://api.selsup.ru/api/category?categoryIds=1&deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN },
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'selsup_request_failed');
}
const result = await response.json();
const response: Response = await fetch('https://api.selsup.ru/api/category?categoryIds=1&deleted=false', {
method: 'DELETE',
headers: { Authorization: process.env.SELSUP_API_TOKEN! },
});
if (!response.ok) {
const error = await response.json() as { error?: string };
throw new Error(error.error ?? 'selsup_request_failed');
}
const result: unknown = await response.json();
import os
import requests
response = requests.delete(
'https://api.selsup.ru/api/category?categoryIds=1&deleted=false',
headers={'Authorization': os.environ['SELSUP_API_TOKEN']},
)
response.raise_for_status()
result = response.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.selsup.ru/api/category?categoryIds=1&deleted=false',
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ' . getenv('SELSUP_API_TOKEN')],
]);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($response === false || $status >= 400) {
throw new RuntimeException($response ?: 'selsup_request_failed');
}
echo $response;
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("DELETE", "https://api.selsup.ru/api/category?categoryIds=1&deleted=false", nil)
if err != nil { panic(err) }
req.Header.Set("Authorization", os.Getenv("SELSUP_API_TOKEN"))
response, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer response.Body.Close()
result, _ := io.ReadAll(response.Body)
fmt.Printf("%d\n%s\n", response.StatusCode, result)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SelSupExample {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.selsup.ru/api/category?categoryIds=1&deleted=false"))
.header("Authorization", System.getenv("SELSUP_API_TOKEN"))
.method("DELETE", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
Успешный ответ
200"string"Ошибки3
При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑
auth_requiredЗаголовок Authorization отсутствует, пуст или содержит недействительный токен.
error_access_deniedТокен существует, но его роль не позволяет выполнить операцию.
error_unknownНе удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.