Микросервис market
Микросервис market предоставляет возможности для управления рынками в системе BackOffice. С его помощью можно просматривать, создавать, редактировать и удалять рынки.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса участвуют следующие сущности:
- Рынок (Market) - содержит данные о рынке (id, название, медиа ассет и описание)
- Медиа ассет (MediaAsset) - содержит данные о медиа ассете, который используется для рынка (id, тайтл, описание, альтернативный текст, тэги и др.)
- Медиа (Media) - содержит данные о медиа (url на соответствующем внешнем ресурсе, название, тип, размер, разрешение, дата создания и др.)
Аутентификация
Для работы с микросервисом аутентификация не требуется.
Авторизация
Для работы с микросервисом в BackOffice у пользователя должна быть роль Admin и/или Admin_Settings.
Подробнее о ролях можно узнать здесь.
Service context path
/api/market/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "ХХm",
"JAVA_XMX": "YYYm",
"SPRING_DATA_MONGODB_DATABASE": "название_бд",
"SPRING_DATA_MONGODB_PORT": "порт_бд",
"SPRING_DATA_MONGODB_USERNAME": "юзернейм_для_бд"
}
}
// пример взят с тестового стенда
{
"env": {
"SPRING_DATA_MONGODB_HOST": "хост_бд",
"SPRING_DATA_MONGODB_PASSWORD": "пароль_для_бд"
}
}
Методы микросервиса
- Получение страницы с рынками - POST запрос, /v1/markets/page
{
"sort": [
{
"sortBy": "name",
"direction": "ASC"
}
],
"page": 0,
"size": 10
}
[
{
"id": "df7d8d66-39d5-466d-876b-f7e4f2bbecfc",
"name": "Беларусь",
"description":
"Республика Беларусь, г. Минск, ул. Кальварийская д.1",
"assets": [
{
"id":
"0e8ffc05-a085-4c5a-9679-de91d9b1367b",
"media": {
"url":
"master/catalog/images/1715161957085-1882559365.png",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1715161957085-1882559365.png",
"name":
"Flag_of_Belarus.svg.png",
"type": "PHOTO",
"size": 5004,
"resolution": "640x320 px",
"createdDate":
"2024-05-08T12:52:38.062"
},
"title":
"Flag_of_Belarus",
"altAttr": "Flag_of_Belarus",
"description": "",
"sign": "",
"tags": [
""
]
}
]
},
{
"id": "4e5d563b-ba98-4d73-a7f0-a3f70514da88",
"name": "Китай",
"description":
"Китай",
"assets": [
{
"id": "d8bebe28-5a6d-4f25-9c05-680a0bcf6080",
"media": {
"url":
"master/catalog/images/1715076260063-1882559365.jpg",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1715076260063-1882559365.jpg",
"name": "Китай
(флаг).jpg",
"type": "PHOTO",
"size": 9712,
"resolution": "612x407 px",
"createdDate":
"2024-05-07T13:04:38.167"
},
"title":
"Китай (флаг)",
"altAttr": "Китай (флаг)",
"description": "",
"sign": "",
"tags": [
""
]
}
]
}
]
200 - операция выполнена успешно, получена страница рынков
- Получение списка рынков - POST запрос, /v1/markets/list
{
"name": ""
}
[
{
"id": "df7d8d66-39d5-466d-876b-f7e4f2bbecfc",
"name": "Беларусь",
"description":
"Республика Беларусь, г. Минск, ул. Кальварийская д.1",
"assets": [
{
"id":
"0e8ffc05-a085-4c5a-9679-de91d9b1367b",
"media": {
"url":
"master/catalog/images/1715161957085-1882559365.png",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1715161957085-1882559365.png",
"name":
"Flag_of_Belarus.svg.png",
"type": "PHOTO",
"size": 5004,
"resolution": "640x320 px",
"createdDate":
"2024-05-08T12:52:38.062"
},
"title":
"Flag_of_Belarus",
"altAttr": "Flag_of_Belarus",
"description": "",
"sign": "",
"tags": [
""
]
}
]
},
{
"id": "4e5d563b-ba98-4d73-a7f0-a3f70514da88",
"name": "Китай",
"description":
"Китай",
"assets": [
{
"id": "d8bebe28-5a6d-4f25-9c05-680a0bcf6080",
"media": {
"url":
"master/catalog/images/1715076260063-1882559365.jpg",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1715076260063-1882559365.jpg",
"name": "Китай
(флаг).jpg",
"type": "PHOTO",
"size": 9712,
"resolution": "612x407 px",
"createdDate":
"2024-05-07T13:04:38.167"
},
"title":
"Китай (флаг)",
"altAttr": "Китай (флаг)",
"description": "",
"sign": "",
"tags": [
""
]
}
]
}
]
200 - операция выполнена успешно, получен список рынков
- Получение рынка по его ID - GET запрос, /v1/markets/{id}
id - path-параметр, обязательный: уникальный идентификатор
рынка
{
"id":
"4e5d563b-ba98-4d73-a7f0-a3f70514da88",
"name":
"Китай",
"description": "Китай",
"assets": [
{
"id": "d8bebe28-5a6d-4f25-9c05-680a0bcf6080",
"media": {
"url":
"master/catalog/images/1715076260063-1882559365.jpg",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1715076260063-1882559365.jpg",
"name": "Китай
(флаг).jpg",
"type":
"PHOTO",
"size":
9712,
"resolution":
"612x407 px",
"createdDate": "2024-05-07T13:04:38.167"
},
"title": "Китай
(флаг)",
"altAttr": "Китай
(флаг)",
"description": "",
"sign": "",
"tags": [
""
]
}
]
}
- 200 - операция выполнена успешно, получены данные рынка
- 404 - ошибка, рынок не найден
- Создание рынка - POST запрос, /v1/markets
{
"name": "Россия",
"description": "Россия",
"assets": []
}
{
"id":
"bae03127-a1a5-4ab2-a89c-5b0a80c10cfb",
"name":
"Россия",
"description": "Россия",
"assets": []
}
- 200 - операция выполнена успешно, рынок создан
- 400 - ошибка, не удалось создать рынок
- Редактирование рынка - PATCH запрос, /v1/markets/{id}
id - path-параметр, обязательный: уникальный идентификатор
рынка
{
"id":
"bae03127-a1a5-4ab2-a89c-5b0a80c10cfb",
"name":
"Россия",
"description": "Новое описание рынка
России",
"assets": []
}
{
"id":
"bae03127-a1a5-4ab2-a89c-5b0a80c10cfb",
"name":
"Россия",
"description": "Новое описание рынка
России",
"assets": []
}
- 200 - операция выполнена успешно, рынок отредактирован
- 400 - ошибка, не удалось отредактировать рынок
- Удаление рынка - DELETE запрос, /v1/markets/{id}
id - path-параметр, обязательный: уникальный
идентификатор рынка
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - операция выполнена успешно, рынок удален
- 404 - ошибка, рынок не найден