SelSup Developers

Публичный API · Справочник API

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

Создание и поиск меток, привязка меток к товарам и моделям.

Методы: 9/api/tagСтабильныйСпецификация OpenAPI ↗
{ }

Создание, поиск и удаление меток, добавление их к товарам. Поиск поддерживает разбивку по страницам и сортировку.

/api/tag

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

Структуры данных

Поля объектов, которые используются в запросах и ответах этого раздела.

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 показывайте пользователю.

error

Код ошибки для обработки в программе.

localMessage

Сообщение на языке пользователя, которому принадлежит токен.

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
}
Ошибки8

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

Ошибки7

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

Ошибки6

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

Ошибки7

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

Ошибки6

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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
}
Ошибки7

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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"
}
Ошибки5

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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"
}
Ошибки5

При ошибке проверьте HTTP-статус и тело ответа. Поле error содержит код ошибки, localMessage — сообщение для пользователя, params — дополнительные сведения. Обработка ошибок ↑

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

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

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

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

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

Не удалось выполнить запрос из-за внутренней ошибки. Если запрос изменял данные, проверьте результат перед повторной отправкой. Для обращения в поддержку сохраните время запроса и полученный ответ.

400error_cant_extract_tariffs
Не удается получить тарифы. Напишите в поддержку

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

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

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

Authorization

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

Получить токен

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

Попробовать

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

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

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