Микросервис 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

Методы микросервиса Copy-icon

Работа с регионами Copy-icon

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

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

Request body sample

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

Copy-icon
Response codes

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

Response codes

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

Работа с ценами Copy-icon

  • Импорт файла со списком цен - 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 - операция выполнена успешно, файл со списком цен импортирован

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

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

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

Copy-icon
Response sample

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

Copy-icon
Response codes

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

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

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

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

Copy-icon
Response sample

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

Copy-icon
Response sample

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

Работа с товарами Copy-icon

  • Импорт файла со списком товаров - 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 - операция выполнена успешно, файл со списком товаров импортирован

Работа с остатками товаров Copy-icon

  • Импорт файла со списком остатков товаров - 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 - операция выполнена успешно, файл со списком остатков импортирован

Работа с локациями Copy-icon

  • Импорт файла со списком локаций, где хранятся товары интернет-магазина - 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 - операция выполнена успешно, файл со списком локаций импортирован