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

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

Sitemap Copy-icon

  • Создание 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 запрос, /v1/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 запрос, /v1/sitemap/{id}
Request parameters

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

Copy-icon
Response sample

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

Response codes
  • 204 - операция прошла успешно, sitemap удалена
  • 404 - sitemap не найдена
  • Редактирование sitemap по id - PATCH запрос, /v1/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 Copy-icon

  • Создание 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 Copy-icon

  • Создание 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 категории не отредактировано