Микросервис import-orchestration

В статье описываются функции, конфигурация, логика работы и методы микросервиса import-orchestration.

Микросервис import-orchestration служит для импорта файлов.

Доступ к сервису предоставляется по запросу.

В работе микросервиса используются следующие сущности:

  • Template - содержит название шаблона файла для импорта
  • Region - используется в импорте файла со списком регионов и содержит данные о регионе
  • Price - используется в импорте файла со списком цен и содержит данные о цене
  • Feature - используется в импорте файла со списком характеристик и содержит данные о характеристике
  • Category - используется в импорте файла со списком категорий и содержит данные о категории
  • Product - используется в импорте файла со списком товаров каталога и содержит данные о товаре
  • Availability - используется в импорте файла со списком остатков товаров и содержит данные об остатке
  • Location - используется в импорте файла со списком локаций и содержит данные о локации

Для работа с микросервисом аутентификация и авторизация не требуется.

/api/import-orchestration/

Параметры конфигурации указываются в Vault.

Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.

По умолчанию

{
  "env": {
    "JAVA_XMS": "XXm",
    "JAVA_XMX": "YYYm",
    "LOGGING_LEVEL": "уровень_логирования",
    "SERVER_PORT": "порт_сервера"
  }
}


Copy-icon
Указываемые на каждом отдельном стенде

// пример взят с тестового стенда


{
  "env": {
    "AVAILABILITY_URL": "url_доступа_к_сервису_availability",
    "CATALOG_URL": "url_доступа_к_сервису_catalog",

    "OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
    "OAUTH_ECOM_ISSUER_URI": "url_ECOM_OAuth",
    "OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
    "OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel",
    "ORDER_URL": "url_доступа_к_сервису_order",
    "PRICE_URL": "url_доступа_к_сервису_price",
    "PROMO_URL": "url_доступа_к_сервису_promo",
    "REGION_URL": "url_доступа_к_сервису_region",
    "ROUTE_URL": "url_доступа_к_сервису_route",
    "STORE_URL": "url_доступа_к_сервису_store",
    "TEMPLATE_URL": "url_доступа_к_сервису_load-template"
  }
}



Copy-icon

Импорт файла со списком регионов - PUT запрос, /v1/regions

Request parameters

Отсутствутют.

Request body sample

{
  "file": "RegionList",
  "templateName": "RegionTemplate"
}

Copy-icon
Response codes

В ответе приходит только код операции, например, 204.

Response codes:

204 - операция выполнена успешно, файл со списком регионов импортирован

Работа с ценами

Импорт файла со списком цен - PUT запрос, /v1/prices

Request parameters

Отсутствуют.

Request body sample

{
  "file": "PriceList",
  "templateName": "PriceTemplate"
}

Copy-icon
Response sample

{
  "created": 3,
  "updated": 1
}

Copy-icon

Response codes:

200 - операция выполнена успешно, файл со списком цен импортирован

Работа с характеристиками

Импорт файла со списком характеристик - PUT запрос, /v1/features

Request body sample

{
  "file": "FeatureList",
  "templateName": "FeatureTemplate"
}

Copy-icon
Response sample

{
  "created": 3,
  "updated": 1
}

Copy-icon
Response codes

200 - операция выполнена успешно, файл со списком характеристик импортирован

Работа с категориями

Импорт файла со списком категорий - PUT запрос, /v1/categories

Request body sample

{
  "file": "CategoriesList",
  "templateName": "CategoriesTemplate"
}

Copy-icon
Response sample

{
  "created": 3,
  "updated": 0
}

Copy-icon
Response sample

200 - операция выполнена успешно, файл со списком категорий импортирован

Работа с товарами

Импорт файла со списком товаров - PUT запрос, /v1/products

Request parameters

Отсутствуют.

Request body sample

{
  "file": "ProductsList",
  "templateName": "ProductsTemplate"
}

Copy-icon
Response sample

{
  "created": 137,
  "updated": 14
}

Copy-icon

Response codes:

200 - операция выполнена успешно, файл со списком товаров импортирован

Работа с остатками товаров

Импорт файла со списком остатков товаров - PUT запрос, /v1/availabilities

Request parameters

Отсутствуют.

Request body sample

{
  "file": "AvailabilityList",
  "templateName": "AvailabilityTemplate"
}

Copy-icon
Response sample

{
  "created": 2578,
  "updated": 227
}

Copy-icon

Response codes:

200 - операция выполнена успешно, файл со списком остатков импортирован

Импорт файла со списком локаций, где хранятся товары интернет-магазина - PUT запрос, /v1/locations

Request parameters

Отсутствуют.

Request body sample

{
  "file": "LocationsList",
  "templateName": "LocationsTemplate"
}

Copy-icon
Response sample

{
  "created": 32,
  "updated": 2
}

Copy-icon

Response codes:

200 - операция выполнена успешно, файл со списком локаций импортирован