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

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

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

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

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

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

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

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

При обращении к микросервису seo через API в запросах на создание, редактирование и удаление аутентификация не требуется.

Service context path

/api/seo/

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

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

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

По умолчанию

{
  "env": {
    "JAVA_XMS": "ХХm",
    "JAVA_XMX": "YYYm",
    "LOGGING_LEVEL": "уровень_логирования",
    "POSTGRES_DATABASE": "seo",
    "POSTGRES_MIGRATION_USER": "seo_migration",
    "POSTGRES_PORT": "5432",
    "POSTGRES_USER": "seo_user",
    "SERVER_PORT": "порт_сервера"
  }
}


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

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


{
  "env": {
    "POSTGRES_HOST": "адрес_хоста",
    "POSTGRES_MIGRATION_PASSWORD": "пароль",
    "POSTGRES_PASSWORD": "пароль"
  }
}



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 sample

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

Copy-icon
Response codes
  • 200 - операция прошла успешно, возвращается 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 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 sample

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

Copy-icon
Response codes
  • 200 - операция прошла успешно, возвращается seo товара
  • 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 sample

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

Copy-icon
Response codes
  • 200 - операция прошла успешно, 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 sample

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

Copy-icon
Response codes
  • 200 - операция прошла успешно, возвращается seo категории
  • 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 sample

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

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