Микросервис export-orchestration
Микросервис export-orchestration служит для экспорта файлов.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса используются следующие сущности:
- Template - содержит название шаблона файла для экспорта
- Region - используется в экспорте файла со списком регионов и содержит данные о регионе
- Product - используется в экспорте файла со списком товаров каталога и содержит данные о продуктах
- Price - используется в экспорте файла со списком товаров каталога для отображения информации о стоимости продуктов, а также в экспорте файла со списком цен
- Order - используется в экспорте файла со списком заказов и содержит данные о заказе
- Feature - используется в экспорте файла со списком характеристик и содержит данные характеристики
- Category - используется в экспорте файла со списком категорий и содержит данные категории
- Availability - используется в экспорте файла со списком остатков товаров и содержит данные об остатке
- Location - используется в экспорте файла со списком локаций и содержит данные о локации
- Route - используется в экспорте файла со списком маршрутов и содержит данные о маршруте
- Event - используется в экспорте файла со списком действий пользователей и содержит данные о действии
Аутентификация и авторизация
При обращении к микросервису через API необходимо в заголовке Authorization
указывать токен: Authorization: Bearer
<токен>
.
Service context path
/api/export-orchestration/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm"
}
}
// пример взят с тестового стенда
{
"env": {
"KAFKA_BROKER_ADDRESS": "сокет_для_брокера_kafka",
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel",
"ZITADEL_SERVICE_USER_TOKEN": "токен_пользователя_zitadel",
"ZITADEL_URL": "url_доступа_к_zitadel"
}
}
Методы микросервиса
Работа с регионами
- Экспорт файла со списком регионов - GET запрос, /v1/regions/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
name - query-параметр: значение поискового запроса
level - query-параметр: уровень региона в иерархии
defaultRegion - query-параметр: флаг, указывающий, является ли регион
регионом по умолчанию
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с каталогом
- Экспорт XLSX файла со списком товаров каталога - GET запрос, /wb/v1/catalog/xlsx
Отсутствуют.
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с заказами
- Экспорт файла со списком заказов - GET запрос, /v1/orders/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
searchTerm - query-параметр: поисковый запрос
пользователя
customerId - query-параметр: id покупателя
orderNum - query-параметр: id заказа
createTimeFrom -
query-параметр: дата, использующаяся в фильтре "Дата с"
createTimeTo - query-параметр: дата, использующаяся в фильтре "Дата
до"
orderStatuses - query-параметр: статус(ы) заказа
userFirstName - query-параметр: имя покупателя
userLastName -
query-параметр: фамилия покупателя
discountPriceFirstValue -
query-параметр: первый числовой параметр фильтра "Стоимость"
discountPriceFirstOperator - query-параметр: первый числовой оператор
фильтра "Стоимость"
discountPriceFilterConnectiveType -
query-параметр: тип соединения числовых параметров фильтра "Стоимость"
(например, "AND" или "OR")
discountPriceSecondValue -
query-параметр: второй числовой параметр фильтра "Стоимость"
discountPriceSecondOperator - query-параметр: второй числовой оператор
фильтра "Стоимость" (например, "больше")
orderStatutesToExclude -
query-параметр: статус(ы) заказов, которые не должны отображаться на
странице
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с ценами
- Экспорт файла со списком цен - POST запрос, /v1/prices/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
{
"articleId":
"D022283DC",
"statusSet": [
"ACTIVE"
],
"priceListId":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"validFrom": "",
"validTo": "",
"minQuantityFirstValue": "",
"minQuantityFirstOperator": "EQ",
"minQuantityFilterConnectiveType": "AND",
"minQuantitySecondValue": "",
"minQuantitySecondOperator": "EQ",
"priceFirstValue": "",
"priceFirstOperator":
"EQ",
"priceFilterConnectiveType":
"AND",
"priceSecondValue": "",
"priceSecondOperator": "EQ",
"currenciesIds": [
"02d3eb94-8d0c-4e21-a952-db8684a1534d"
]
}
200 - операция выполнена успешно, файл экспортирован
Работа с категориями
- Экспорт файла со списком категорий - POST запрос, /v1/categories/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
{
"searchTerm": "электрон",
"url": "lektr",
"catalogId": "c1000001DC"
}
В ответе приходят данные файла экспорта.
200 - операция выполнена успешно, файл экспортирован
Работа с характеристиками
- Экспорт файла со списком характеристик - POST запрос, /v1/features/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
{
"searchTerm": "параметры"
}
В ответе приходят данные файла экспорта.
200 - операция выполнена успешно, файл экспортирован
Работа с товарами
- Экспорт файла со списком товаров - POST запрос, /v1/products/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
{
"searchTerm": "сумка",
"articleId": "1021539DC",
"statusList": [
300
],
"catalogId": "c1000025DC"
}
В ответе приходят данные файла экспорта.
200 - операция выполнена успешно, файл экспортирован
Работа с остатками
- Экспорт файла со списком остатков товаров - POST запрос, /v1/availabilities/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для
экспорта
{
"searchTerm": "Главный
склад",
"articleIds": [
"1021617DC"
],
"quantityFirstOperator": "EQ",
"quantityFilterConnectiveType": "AND",
"quantitySecondOperator": "EQ"
}
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с локациями
- Экспорт файла со списком локаций, где хранятся товары интернет-магазина - POST запрос, /v1/locations/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для экспорта
{
"searchTerm": "сочи"
}
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с маршрутами
- Экспорт файла со списком маршрутов доставки товаров - POST запрос, /v1/routes/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для экспорта
{
"searchTerm": "сочи"
}
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован
Работа с действиями пользователей
- Экспорт файла со списком действий пользователей - POST запрос, /v1/events/{templateName}
templateName - path-параметр, обязательный: имя шаблона файла для экспорта
{
"searchTerm": "",
"eventTypes": [
"DELETE"
],
"statusList": [],
"entityId": "",
"entityType": "",
"email": "",
"startDate": "",
"endDate": ""
}
В ответе приходит код операции (например, 200) и данные экспортированного файла.
200 - операция выполнена успешно, файл экспортирован