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

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

Микросервис seo-orchestration предоставляет функциональность по управлению SEO категорий и товаров.

Логика работы

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

  • Seo - содержит seo данные страницы (заголовок, описание, ключевые слова)
  • Sitemap - содержит два списка паттернов, на основе которых страницы включаются/исключаются из sitemap сайта

Аутентификация

При обращении к микросервису seo-orchestration через API в запросах на создание, редактирование и удаление требуется в заголовке Authorization указать токен: Authorization: Bearer <токен>.

Service context path

/api/seo-orchestration/

Настройки и параметры конфигурации

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

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

По умолчанию

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

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

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


{
  "env": {

    "OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
    "OAUTH_ECOM_ISSUER_URI": "url_ECOM_OAuth,
    "OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
    "OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel",
    "SEO_URL": "url_доступа_к_сервису_seo"
  }
}


Copy-icon

Sitemap

Создание sitemap - POST запрос, /v1/sitemap

Request body sample

{
  "id": 0,
  "include": "*.php, *.html",
  "exclude": "*.xml, *.pdf"
}

Copy-icon
Response codes
  • 201 - операция прошла успешно, sitemap создана
  • 400 - не удалось создать sitemap

Отображение sitemap по id - GET запрос, /sitemap/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор sitemap

Copy-icon
Response sample

{
  "id": 0,
  "include": "*.php, *.html",
  "exclude": "*.xml, *.pdf"
}

Copy-icon
Response codes
  • 200 - операция прошла успешно, получена sitemap
  • 404 - sitemap не найдена

Удаление sitemap по id - DELETE запрос, sitemap/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор sitemap

Copy-icon
Response sample

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

Response codes
  • 204 - операция прошла успешно, sitemap удалена
  • 404 - sitemap не найдена

Редактирование sitemap по id - PATCH запрос, sitemap/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор sitemap

Copy-icon
Request body sample

{
  "id": 0,
  "include": "*.php, *.html",
  "exclude": "*.xml, *.pdf"
}

Copy-icon
Response codes
  • 200 - операция прошла успешно, sitemap отредактирована
  • 400 - sitemap не отредактирована

Products

Создание seo для товара - POST запрос,/v1/products

Request body sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526", //для глобального SEO товаров используется id "GLOBAL"
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 201 - операция прошла успешно
  • 400 - не удалось создать seo для товара

Отображение seo товара по его id - GET запрос, /v1/products/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор товара

Copy-icon
Response sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526",
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 200 - операция прошла успешно, получена seo товара
  • 404 - seo товара не найдено

Удаление seo товара по его id - DELETE запрос, /v1/products/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор товара

Copy-icon
Response sample

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

Response codes
  • 204 - операция прошла успешно, seo товара удалено
  • 404 - seo товара не найдена

Редактирование seo товара, по его id - PATCH запрос, /v1/products/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор товара

Copy-icon
Request body sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526", //для глобального SEO товаров используется id "GLOBAL"
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 204 - операция прошла успешно, seo товара отредактировано
  • 400 - seo товара не отредактировано

Categories

Создание seo для категории - POST запрос, /v1/categories

Request body sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526", //для глобального SEO категорий используется id "GLOBAL"
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 201 - операция прошла успешно
  • 400 - не удалось создать seo для категории

Отображение seo категории по ее id - GET запрос, /v1/categories/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор категории

Copy-icon
Response sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526",
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 200 - операция прошла успешно, получена seo категории
  • 404 - seo категории не найдено

Удаление seo категории по ее id - DELETE запрос, /v1/categories/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор категории

Copy-icon
Response sample

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

Response codes
  • 204 - операция прошла успешно, seo категории удалено
  • 404 - seo категории не найдена

Редактирование seo категории по ее id - PATCH запрос, /v1/categories/{id}

Request parameters

id - path-параметр, обязательный: уникальный идентификатор категории

Copy-icon
Request body sample

{
  "objectId": "5dc618af-af49-4adc-bccd-4d17aeff7526", //для глобального SEO категорий используется id "GLOBAL"
  "title": "clothes",
  "keywords": "clothes, trousers",
  "description": "Louis VuAtton trousers"
}

Copy-icon
Response codes
  • 204 - операция прошла успешно, seo категории отредактировано
  • 400 - seo категории не отредактировано