SelSup Developers

Публичный API · API Reference

Метки товаров

Методы раздела «Метки товаров»: точные маршруты, параметры, тела запросов и раскрываемые структуры ответов.

9 методов/api/tagСтабильныйМашинное описание ↗
{ }

Страница собрана в отдельный редактируемый контракт. Перед операциями записи проверяйте примеры на тестовых данных.

/api/tag

Готовые сценарии

Готовые сценарии

01

Начать работу с разделом «Метки товаров»

Используйте отдельный API-токен и сначала проверяйте операции чтения на тестовых данных.

  1. Сохраните токен на серверной стороне и передавайте его в заголовке Authorization.
  2. Проверьте обязательные параметры и раскройте структуру запроса или ответа.
  3. Обрабатывайте HTTP-статус и стабильное поле error в прикладных ошибках.

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

Структуры данных раздела

Модели перечислены отдельно и раскрываются также непосредственно у методов, где они используются.

ProductTag3 полей
idinteger · int64

Идентификатор метки

read-only
namestring

Название метки

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

Идентификатор клиента

read-only
FindResponseProductTag1 полей
rowsProductTag[]

Строки с результатом поиска

FindResponseProductTagInfo1 полей
rowsProductTagInfo[]

Строки с результатом поиска

ProductTagInfo2 полей
productIdinteger · int64

Поле productId.

productTagsProductTag[]

Поле productTags.

Контракт ошибок

Как API возвращает прикладные ошибки

Код ошибки одинаков для всех локалей, а текст для пользователя переводится сервером. Поэтому бизнес-логику стройте по error, а localMessage используйте только для отображения.

error

Стабильный машинный код ошибки для логики интеграции.

localMessage

Готовое сообщение на языке пользователя API-токена.

params

Значения

Язык localMessage определяется полем lang пользователя, которому принадлежит API-токен. Язык страницы документации и заголовок Accept-Language его не переключают; если язык пользователя не указан, используется русский.

RUПользователь с локалью ru
{
  "error": "error_brand_already_exists",
  "localMessage": "Бренд Base уже существует",
  "params": {
    "name": "Base"
  }
}
ENПользователь с локалью en
{
  "error": "error_brand_already_exists",
  "localMessage": "Brand Base already exists",
  "params": {
    "name": "Base"
  }
}

Методы

Методы

PUT

Обновление тэга товара

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

Изменяет имя существующего тэга по его идентификатору.

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

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

Тело запроса

application/json
Поля объектаProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
curl --request PUT 'https://api.selsup.ru/api/tag/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Example",
  "id": 1001,
  "clientId": 1001
}'

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

200
Поля объекта ProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
{
  "name": "Example",
  "id": 1001,
  "clientId": 1001
}
Ошибки7

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

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

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

400error_tag_id_and_name_required
Требуются id и имя тега

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

400error_tag_id_required
Требуется id тега

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

400error_tag_update_failed
Не удалось обновить тег с id: {0}

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

DELETE

Удаление тэга товара

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

Удаляет тэг по идентификатору. Тэг отвязывается от всех товаров.

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

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

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

200

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

Ошибки3

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

PUT

Привязать тэг к продукту

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

Привязывает указанный тэг к продукту по их идентификаторам.

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

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

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

200

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

Ошибки6

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_duplicate_tag_association
Тег уже привязан к продукту

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

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

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

400error_tag_and_product_id_required
требуется тег и ID продукта

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

DELETE

Отвязать тэг от продукта

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

Удаляет связь между тэгом и продуктом по их идентификаторам.

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

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

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

200

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

Ошибки5

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

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

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

400error_tag_and_model_id_required
Требуются id тега и id модели

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

PUT

Привязать тэг ко всем товарам модели

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

Привязывает указанный тэг ко всем продуктам модели.

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

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

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

200

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

Ошибки6

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_duplicate_tag_association
Тег уже привязан к продукту

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

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

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

400error_tag_and_model_id_required
Требуются id тега и id модели

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

DELETE

Отвязать тэг от всех товаров модели

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

Удаляет связь между тэгом и всеми продуктами модели.

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

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

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

200

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

Ошибки5

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

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

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

400error_tag_and_model_id_required
Требуются id тега и id модели

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

POST

Создание тэга товара

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

Создаёт новый тэг для товаров клиента. Имя тэга должно быть уникальным в рамках клиента.

Тело запроса

application/json
Поля объектаProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
curl --request POST 'https://api.selsup.ru/api/tag' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Example",
  "id": 1001,
  "clientId": 1001
}'

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

200
Поля объекта ProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
{
  "name": "Example",
  "id": 1001,
  "clientId": 1001
}
Ошибки6

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

400error_duplicate_tag_name
Тег с таким именем уже существует: {0}

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

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

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

400error_tag_name_required
Требуется имя тега

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

GET

Поиск и фильтрация тегов

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

Возвращает список тегов с поддержкой фильтрации, сортировки и пагинации.

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

ПолеТипОбязательноОписание
query string Нет Запрос на поиск тега
productId integer · int64 Нет Идентификатор продукта
limit integer · int32 Нет Ограничение на количество записей. Максимальное значение - 500
page integer · int32 Нет Номер страницы начиная с 1
count boolean Нет Возвратить в ответе общее количество записей
sortBy stringID, NAME Нет Поле для сортировки
ascending boolean Нет Порядок сортировки - по возрастанию?. Работает только при получении списка.
curl --request GET 'https://api.selsup.ru/api/tag/find?limit=50&page=1' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Поля объекта FindResponseProductTag
ПолеТипОбязательноОписание
rows ProductTag[] Нет Строки с результатом поиска
Структура элемента массива ProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
{
  "rows": "string"
}
Ошибки4

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

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

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

GET

Получить теги товаров по id модели

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

Возвращает список объектов,в которых сопоставляются id продукта и его теги

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

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

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

200
Поля объекта FindResponseProductTagInfo
ПолеТипОбязательноОписание
rows ProductTagInfo[] Нет Строки с результатом поиска
Структура элемента массива ProductTagInfo
ПолеТипОбязательноОписание
productId integer · int64 Нет Поле productId.
productTags ProductTag[] Нет Поле productTags.
Структура элемента массива ProductTag
ПолеТипОбязательноОписание
id integer · int64 Нет Идентификатор метки
name string Да Название метки
clientId integer · int64 Нет Идентификатор клиента
{
  "rows": "string"
}
Ошибки4

Прикладные ошибки обычно возвращаются как JSON с полями error, localMessage и params. Ориентируйтесь на error; локализованный текст может меняться. Как API возвращает прикладные ошибки ↑

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

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

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

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

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

Внутренняя ошибка. Сохраните время запроса и обратитесь в поддержку, не повторяя мутацию вслепую.

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

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

Authorization

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

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

Попробовать

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

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

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