SelSup Developers

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

Ключевые слова

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

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

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

/api/keyword

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

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

01

Начать работу с разделом «Ключевые слова»

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

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

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

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

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

Keyword3 полей
idinteger · int64

Поле id.

namestring

Название ключевого слово

usingQuantityinteger · int32

Поле usingQuantity.

KeywordGroup3 полей
idinteger · int64

Поле id.

namestring

Название группы ключевых слова

keywordsKeyword[]

Поле keywords.

KeywordAndGroup2 полей
keywordKeyword[]

Поле keyword.

groupKeywordGroup[]

Поле group.

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

Как 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"
  }
}

Методы

Методы

GET

Получить список всех слов из группы

/api/keyword/group/{groupId}
Токен с правами чтения

Возвращает список всех слов из указанной группе

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

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

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

200
Поля объекта KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "id": 1001,
  "name": "Example",
  "keywords": "string"
}
Ошибки3

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

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

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

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

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

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

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

PUT

Редактировать группу слов

/api/keyword/group/{groupId}
Токен с правами записи

Удаление или добавления слов в группе

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

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

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

ПолеТипОбязательноОписание
newName string Нет Поле newName.

Тело запроса

application/json
curl --request PUT 'https://api.selsup.ru/api/keyword/group/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

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

200
Поля объекта KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "id": 1001,
  "name": "Example",
  "keywords": "string"
}
Ошибки3

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

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

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

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

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

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

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

DELETE

Удаление группы ключевых слов

/api/keyword/group/{groupId}
Токен с правами записи

Удаляет группу ключевых слов и её связи

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

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

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

200
Поля объекта KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "id": 1001,
  "name": "Example",
  "keywords": "string"
}
Ошибки3

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

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

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

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

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

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

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

PUT

Добавляет группу к сущности

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

Добавляет группу слов к одной или нескольким сущностям

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

ПолеТипОбязательноОписание
productId integer · int64 Нет Поле productId.
productViewId integer · int64 Нет Поле productViewId.
modelId integer · int64 Нет Поле modelId.

Тело запроса

application/json
curl --request PUT 'https://api.selsup.ru/api/keyword/add' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  1
]'

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

200

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

Ошибки3

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

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

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

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

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

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

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

GET

Список всех групп слов и слов клиента

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

Возвращает список групп ключевых слов и их содержимое клиента

curl --request GET 'https://api.selsup.ru/api/keyword/group' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Структура элемента массива KeywordGroup[]
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
[
  "string"
]
Ошибки4

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

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

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

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

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

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

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

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

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

POST

Создает новую группу слов

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

Создает новую пустую группу слов в бд

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

ПолеТипОбязательноОписание
groupName string Да Поле groupName.

Тело запроса

application/json
curl --request POST 'https://api.selsup.ru/api/keyword/group?groupName=Example' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  "string"
]'

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

200
Поля объекта KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "id": 1001,
  "name": "Example",
  "keywords": "string"
}
Ошибки3

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

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

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

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

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

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

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

DELETE

Удаление групп ключевых слов

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

Удаляет указанные группы ключевых слов и их связи

Тело запроса

application/json
curl --request DELETE 'https://api.selsup.ru/api/keyword/group' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  1
]'

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

200
"string"
Ошибки3

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

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

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

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

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

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

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

POST

Соединение групп ключевых слов

/api/keyword/group/merge
Токен с правами записи

Объединяет указанные группы ключевых слов и обновляет их связи

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

ПолеТипОбязательноОписание
newGroupName string Да Поле newGroupName.

Тело запроса

application/json
curl --request POST 'https://api.selsup.ru/api/keyword/group/merge?newGroupName=Example' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  1
]'

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

200
Поля объекта KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "id": 1001,
  "name": "Example",
  "keywords": "string"
}
Ошибки7

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

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

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

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

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

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

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

400error_empty_group_name
Название группы ключевых слов не может быть пустым

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

400error_empty_keywords_groups
Группа ключевых слов пустая

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

400error_need_at_least_two_groups
Нужно минимум две группы

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

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

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

GET

Получить список всех слов и групп сущности

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

Возвращает всех слов и список всех групп слов для указанной карточки

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

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

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

200
Поля объекта KeywordAndGroup
ПолеТипОбязательноОписание
keyword Keyword[] Нет Поле keyword.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
group KeywordGroup[] Нет Поле group.
Структура элемента массива KeywordGroup
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
{
  "keyword": "string",
  "group": "string"
}
Ошибки3

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

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

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

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

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

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

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

GET

Найти группу ключевых слов

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

Возвращает список групп ключевых слов найденных по указным словам

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

ПолеТипОбязательноОписание
word string Да Поле word.
curl --request GET 'https://api.selsup.ru/api/keyword/group/find?word=string' \
  --header 'Authorization: YOUR_API_TOKEN'

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

200
Структура элемента массива KeywordGroup[]
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название группы ключевых слова
keywords Keyword[] Нет Поле keywords.
Структура элемента массива Keyword
ПолеТипОбязательноОписание
id integer · int64 Нет Поле id.
name string Нет Название ключевого слово
usingQuantity integer · int32 Нет Поле usingQuantity.
[
  "string"
]
Ошибки3

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

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

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

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

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

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

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

DELETE

Удаление связи группы слов и сущности

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

Удаляет связь между группой слов и сущностью

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

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

Тело запроса

application/json
curl --request DELETE 'https://api.selsup.ru/api/keyword/model/1001' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  1
]'

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

200
"string"
Ошибки3

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

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

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

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

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

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

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

DELETE

Удаление ключевых слов из группы

/api/keyword/group/{groupId}/keywords
Токен с правами записи

Удаляет указанные ключевые слова из группы клиента

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

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

Тело запроса

application/json
curl --request DELETE 'https://api.selsup.ru/api/keyword/group/1001/keywords' \
  --header 'Authorization: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '[
  1
]'

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

200
"string"
Ошибки3

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

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

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

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

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

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

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

Authorization

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

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

Попробовать

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

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

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