Микросервис delivery-orchestration
Микросервис delivery-orchestration предоставляет функциональность для расчета наиболее оптимального срока и стоимости доставки товара.
Доступ к сервису предоставляется по запросу.
Логика работы
Задействованные сущности
Микросервис delivery-orchestration используется для логистического калькулятора, который строится на базе следующих сущностей:
- остатки товара
- склад
- регион
- маршрут
- цена
Сущность | Назначение |
---|---|
Остатки | Хранит актуальную информацию о количестве товара, доступном на складе |
Склад | Содержит информацию о месте хранения товаров |
Регион | Определяет географические зоны, куда могут быть доставлены товары |
Маршрут | 1. Маршрут от точки
отправления (может быть складом или регионом) до точки
прибытия (может быть складом или регионом). 2. Основные свойства маршрута:
|
Цена | Содержит информацию о стоимости конкретной доставки в указанной валюте |
Схема взаимодействия сущностей:
Примеры работы калькулятора
Аутентификация
При обращении к сервису аутентификация не нужна.
Service context path
/api/delivery-orchestration/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "ХХm",
"JAVA_XMX": "YYYm"
}
}
//пример взят с тестового стенда
{
"env": {
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel"
}
}
Методы микросервиса
Расчет стоимости и сроков доставки - POST запрос, /v1/deliveries/info
{
"currencyId":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"regionId":
"5dc618af-af49-4adc-bccd-4d17aeff7526",
"items": [
{
"articleId": "1001471DC",
"quantity": 7,
"status":
"AVAILABLE",
"price": 99.99,
"deliveryDate":
"2024-06-28T07:58:04.915Z"
}
],
"total": {
"deliveryDate": "05.03.2024 12:00",
"price": 99.99,
"status":
"AVAILABLE"
}
}
{
"currencyId":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"regionId":
"5dc618af-af49-4adc-bccd-4d17aeff7526",
"items": [
{
"articleId":
"1001471DC",
"quantity": 7,
"status": "AVAILABLE",
"price": 99.99,
"deliveryDate":
"2024-06-28T07:58:04.915"
}
],
"total": {
"deliveryDate": "28.06.2024
07:58",
"price": 99.99,
"status":
"AVAILABLE"
}
}
200 - операция выполнена успешно, получена информация о сроках и стоимости доставки