Микросервис price-orchestration
Микросервис price-orchestration предоставляет функциональность для управления валютами, ценами и прайс листами.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса задействованы следующие сущности:
- Цена (Price) - содержит данные о цене товара (артикул товара, статус цены, дата действия, минимальное количество товара, стоимость товара и валюта, в которой указана стоимость)
- Валюта (Currency) - содержит данные о валюте (id валюты, пиктограмма, код валюты по ISO, название валюты)
- ProductPriceInfoResponse - содержит артикул товара и цены во всех валютах для этого товара (со скидкой и без)
- Прайс лист (PriceList) - содержит информацию о прайс листе (id и название)
Аутентификация
Аутентификация не нужна для эндпоинтов:
- GET /v1/currencies (получение списка валют)
- GET /v1/currencies/{id} (получение данных о конкретной валюте)
- GET /v1/currencies/symbols/unique (получение уникальных символов валют)
- POST /v1/currencies/page (получение страницы валют)
- POST /v1/currencies/list (получение списка валют с возможностью фильтрации)
Для остальных запросов необходимо в
заголовке Authorization
указать
токен: Authorization: Bearer
<токен>
Авторизация
Для работы с валютами (создание, редактирование и удаление) у пользователя должна быть роль Admin или Admin_Currency.
Для работы с ценами (создание, редактирование и удаление) - Admin или Admin_Price.
Подробнее о ролях пользователей можно узнать здесь.
Service context path
/api/price-orchestration/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm"
}
}
// пример взят с тестового стенда
{
"env": {
"KAFKA_BROKER_ADDRESS": "сокет_для_брокера_kafka",
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_zitadel",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel"
}
}
Методы микросервиса
Работа с валютами
- Получение списка валют, отсортированных по ISO коду по возрастанию - GET запрос, /v1/currencies
page, size - query-параметр, необязательный: номер и размер страницы
с валютами
sort - query-параметр, необязательный: сортировка
валют
{
"content": [
{
"id":
"90e5fed1-1eaa-4e45-8574-b687605817fd",
"isoCode": "RUB",
"name": "Российский рубль",
"symbol": "₽"
},
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol":
"€"
}
],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"paged": true,
"unpaged": false
},
"totalElements": 2,
"totalPages": 1,
"last": true,
"numberOfElements":
2,
"first": true,
"sort": {
"sorted": false,
"unsorted": true,
"empty": true
},
"size": 10,
"number": 0,
"empty": false
}
200 - операция выполнена успешно, список валют получен
- Получение валюты по ее id - GET запрос, /v1/currencies/{id}
id - path-параметр, обязательный: идентификатор
валюты
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
}
200 - операция
выполнена успешно, получены данные о запрашиваемой валюте
- Получение списка валют (с возможностью поиска и фильтрации) - POST запрос, /v1/currencies/list
{
"searchTerm": "euro"
}
[
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
}
]
200 - операция выполнена успешно, получен список валют
- Получение страницы с валютами (с возможностью фильтрации) - POST запрос, /v1/currencies/page
{
"page": 0,
"size": 10,
"sort": [
{
"sortBy":
"isoCode",
"direction": "ASC"
}
],
"filter": {}
}
{
"content": [
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol":
"€"
},
{
"id":
"90e5fed1-1eaa-4e45-8574-b687605817fd",
"isoCode": "RUB",
"name": "Российский рубль",
"symbol": "₽"
}
],
"pageable": {
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"pageNumber": 0,
"pageSize": 10,
"offset": 0,
"paged": true,
"unpaged": false
},
"totalElements": 2,
"totalPages": 1,
"last": true,
"numberOfElements":
2,
"first": true,
"sort": {
"sorted": true,
"unsorted": false,
"empty": false
},
"size": 10,
"number": 0,
"empty": false
}
200 - операция выполнена успешно, получена страница с валютами
- Получение символов валют - GET запрос, /v1/currencies/symbols/unique
Отсутствуют.
[
"€",
"₽"
]
200 - операция выполнена успешно, получен список символов валют
- Создание валюты - POST запрос, /v1/currencies
{
"isoCode": "BYN",
"name": "Белорусский рубль",
"symbol": "Р"
}
{
"id":
"58fc8a3d-238b-4251-9af0-e9976738d3c2",
"isoCode":
"BYN",
"name": "Белорусский рубль",
"symbol": "Р"
}
- 201 - операция выполнена успешно, новая валюта создана
- 422 - ошибка, невалидные данные
- Редактирование валюты - PATCH запрос, /v1/currencies/{id}
id - path-параметр, обязательный: уникальный идентификатор
валюты
{
"isoCode": "CAD",
"name": "Канадский доллар",
"symbol": "$"
}
{
"id":
"2e5c9ba8-956e-476b-816a-49ee128a40c9",
"isoCode":
"CAD",
"name": "Канадский доллар",
"symbol": "$"
}
- 204 - операция выполнена успешно, данные о валюте обновлены
- 404 - ошибка, не удалось найти нужную валюту
- 409 - ошибка, id валюты не может быть изменено
- 422 - ошибка, невалидные данные
- Удаление валюты - DELETE запрос, /v1/currencies/{id}
id - path-параметр, обязательный: уникальный идентификатор
валюты
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - операция выполнена успешно, валюта удалена
- 404 - ошибка, запрашиваемая валюта не найдена
- 422 - ошибка, валюта не может быть удалена
Работа с ценами
- Получение списка цен, отсортированного по дате начала действия (по возрастанию) - GET запрос, /v1/prices
page, size - query-параметр, необязательный: номер и размер страницы
с ценами
sort - query-параметр, необязательный: сортировка
цен
articleId - query-параметр, необязательный: идентификатор
товара, для которого нужно вывести цены
statusFilter -
query-параметр, необязательный: статус цен, которые нужно вывести //Может быть
ACTIVE, UPCOMING, INACTIVE, EDITABLE. Если статус не указан, то выводятся все
цены.
currencyId - query-параметр, необязательный: идентификатор
валюты, для которой нужно вывести цены
{
"content": [
{
"id":
"c2122fd7-fef3-4801-aa06-49b4ebc91d05",
"articleId": "1021531DC",
"validFrom": "2024-05-27T00:00:00",
"validTo":
"2024-09-29T23:59:59",
"minQuantity": 1.00,
"unitPrice": 123.00,
"active": true,
"currency": {
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":
"EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id": "2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":
"priceList_Беларусь"
}
},
{
"id":
"03806b5d-2824-46b6-92cc-1039a553b378",
"articleId": "1021531DC",
"validFrom": "2024-05-28T00:00:00",
"validTo":
"2024-07-07T23:59:59",
"minQuantity": 2.00,
"unitPrice": 560.89,
"active": true,
"currency": {
"id":
"0a46630e-76d7-4eb3-b12a-79317dc871d7",
"isoCode":
"TRY",
"name": "турецкая лира1",
"symbol": "₺"
},
"priceList": {
"id": "2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
],
"number": 0,
"size": 2,
"totalElements": 2,
"pageable": "INSTANCE",
"last": true,
"totalPages":
1,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"first": true,
"numberOfElements": 2,
"empty": false
}
200 - операция выполнена успешно, получен список цен
- Получение страницы цен (с возможностью фильтрации) - GET запрос, /v1/prices/page
page, size - query-параметр, необязательный: номер и размер страницы
с ценами
sort - query-параметр, необязательный: сортировка
цен
statusSet - query-параметр, необязательный: статус цен //Может
быть EDITABLE, ACTIVE, INACTIVE, UPCOMING. Если статус не указан, то выводятся
все цены.
{
"content": [
{
"id":
"c2122fd7-fef3-4801-aa06-49b4ebc91d05",
"articleId": "1021531DC",
"validFrom": "2024-05-27T00:00:00",
"validTo": "2024-09-29T23:59:59",
"minQuantity": 1,
"unitPrice": 123,
"active": true,
"currency":
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
},
{
"id":
"03806b5d-2824-46b6-92cc-1039a553b378",
"articleId": "1021531DC",
"validFrom": "2024-05-28T00:00:00",
"validTo": "2024-07-07T23:59:59",
"minQuantity": 2,
"unitPrice": 560.89,
"active": true,
"currency":
{
"id":
"0a46630e-76d7-4eb3-b12a-79317dc871d7",
"isoCode": "TRY",
"name": "турецкая лира1",
"symbol": "₺"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
],
"number": 0,
"size": 2,
"totalElements": 2,
"pageable": "INSTANCE",
"last": true,
"totalPages": 1,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"first": true,
"numberOfElements": 2,
"empty": false
}
200 - операция выполнена успешно, получена страница с ценами
- Получение цены по ее ID - GET запрос, /v1/prices/{id}
id - query-параметр, обязательный: идентификатор цены
{
"id":
"03806b5d-2824-46b6-92cc-1039a553b378",
"articleId":
"1021531DC",
"validFrom": "2024-05-28T00:00:00",
"validTo": "2024-07-07T23:59:59",
"minQuantity": 2,
"unitPrice": 560.89,
"active": true,
"currency": {
"id": "0a46630e-76d7-4eb3-b12a-79317dc871d7",
"isoCode": "TRY",
"name": "турецкая лира1",
"symbol": "₺"
},
"priceList": {
"id": "2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, получены данные о запрашиваемой цене
- 404 - ошибка, запрашиваемая
цена не найдена
- Получение всех цен на товар - GET запрос, /v1/prices/info
articleId - query-параметр, обязательный: идентификатор
товара
[
{
"articleId": "1001108DC",
"prices": {
"02d3eb94-8d0c-4e21-a952-db8684a1534d": {
"unitPrice":
120.00,
"discountUnitPrice": 120.00
},
"e9759201-492f-49f8-a44f-fbddffcd7256": {
"unitPrice": 1200.00,
"discountUnitPrice": 1200.00
}
}
}
]
200 - операция выполнена успешно
- Получение отфильтрованного списка цен - POST запрос, /v1/prices/list
Отсутствуют.
{
"articleId": "1001611DC"
}
[
{
"id":
"c2122fd7-fef3-4801-aa06-49b4ebc91d05",
"articleId": "1021531DC",
"validFrom": "2024-05-27T00:00:00",
"validTo": "2024-09-29T23:59:59",
"minQuantity": 1,
"unitPrice": 123,
"active": true,
"currency":
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
},
{
"id":
"03806b5d-2824-46b6-92cc-1039a553b378",
"articleId": "1021531DC",
"validFrom": "2024-05-28T00:00:00",
"validTo": "2024-07-07T23:59:59",
"minQuantity": 2,
"unitPrice": 560.89,
"active": true,
"currency":
{
"id":
"0a46630e-76d7-4eb3-b12a-79317dc871d7",
"isoCode": "TRY",
"name": "турецкая лира1",
"symbol": "₺"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
]
200 - операция выполнена успешно
- Создание цены для варианта товара - POST запрос, /v2/prices
Отсутствуют.
{
"articleId": "1021612DC",
"validFrom": "2024-06-14T00:00:00.000",
"validTo": "2024-06-15T23:59:59.000",
"minQuantity": "1",
"unitPrice": "198",
"active":
true,
"currency": {
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":198.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, цена для варианта товара создана
- 404 - ошибка, не найден вариант товара
- 422 - ошибка, отсутствуют обязательные данные (например, articleId - артикул варианта товара)
- Создание цены для варианта товара - POST запрос, /v3/prices
Отсутствуют.
{
"articleId": "1021612DC",
"validFrom": "2024-06-14T00:00:00.000",
"validTo": "2024-06-15T23:59:59.000",
"minQuantity": "1",
"unitPrice": "198",
"active":
true,
"currency": {
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":198.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 201 - операция выполнена успешно, цена для варианта товара создана
- 404 - ошибка, не найден вариант товара
- 422 - ошибка, отсутствуют обязательные данные (например, articleId - артикул варианта товара)
- Создание цены для варианта товара (с кэшированием) - POST запрос, /v4/prices
Отсутствуют.
{
"articleId": "1021612DC",
"validFrom": "2024-06-14T00:00:00.000",
"validTo": "2024-06-15T23:59:59.000",
"minQuantity": "1",
"unitPrice": "198",
"active": true,
"currency": {
"id": "02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id": "2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":198.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 201 - операция выполнена успешно, цена для варианта товара создана
- 404 - ошибка, не найден вариант товара
- 422 - ошибка, отсутствуют обязательные данные (например, articleId - артикул варианта товара)
- Изменение цены варианта товара - PATCH запрос, /v2/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
{
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, данные о цене варианта товара обновлены
- 404 - ошибка, цена варианта товара не найдена
- 409 - ошибка, нельзя изменить id (идентификатор цены) и/или articleId (идентификатор варианта товара)
- 422 - ошибка, отсутствуют обязательные данные
- Удаление цены варианта товара - DELETE запрос, /v2/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
Отсутствует. В ответе приходит только код операции.
- 204 - операция выполнена успешно, цена варианта товара удалена
- 404 - ошибка, цена варианта товара не найдена
- Удаление цены варианта товара - DELETE запрос, /v3/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - операция выполнена успешно, цена варианта товара удалена
- 404 - ошибка, цена варианта
товара не найдена
- Удаление цены варианта товара (с кэшированием) - DELETE запрос, /v4/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - операция выполнена успешно, цена варианта товара удалена
- 404 - ошибка, цена варианта товара не найдена
- Получение цены по ее ID - GET запрос, /v2/prices/{id}
id - query-параметр, обязательный: идентификатор цены
{
"id":
"03806b5d-2824-46b6-92cc-1039a553b378",
"articleId":
"1021531DC",
"validFrom": "2024-05-28T00:00:00",
"validTo": "2024-07-07T23:59:59",
"minQuantity": 2,
"unitPrice": 560.89,
"active": true,
"currency": {
"id": "0a46630e-76d7-4eb3-b12a-79317dc871d7",
"isoCode": "TRY",
"name": "турецкая лира1",
"symbol": "₺"
},
"priceList": {
"id": "2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, получены данные о запрашиваемой цене
- 404 - ошибка, запрашиваемая
цена не найдена
- Изменение цены варианта товара - PATCH запрос, /v3/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
{
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, данные о цене варианта товара обновлены
- 204 - No Content
- 404 - ошибка, цена с таким ID не найдена
- 409 - ошибка, нельзя изменить id (идентификатор цены) и/или articleId (идентификатор варианта товара)
- 422 - ошибка, отсутствуют обязательные данные
- Изменение цены варианта товара (с кэшированием) - PATCH запрос, /v4/prices/{id}
id - path-параметр, обязательный: идентификатор цены товара
{
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
{
"id":"c7bd8ba2-2855-466a-8414-3bfb93b89523",
"articleId":"1021612DC",
"validFrom":"2024-06-14T00:00:00",
"validTo":"2024-06-15T23:59:59",
"minQuantity":1.00,
"unitPrice":190.00,
"active":true,
"currency":{
"id":"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode":"EUR",
"name":"Euro",
"symbol":"€"
},
"priceList":{
"id":"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":"priceList_Беларусь"
}
}
- 200 - операция выполнена успешно, данные о цене варианта товара обновлены
- 204 - No Content
- 404 - ошибка, цена с таким ID не найдена
- 409 - ошибка, нельзя изменить id (идентификатор цены) и/или articleId (идентификатор варианта товара)
- 422 - ошибка, отсутствуют обязательные данные
- Получение страницы с ценами (с возможностью фильтрации) - POST запрос, /v2/prices/page
{
"sort": [
{
"sortBy": "articleId",
"direction":
"desc"
}
],
"page":
0,
"size": 3,
"filter": {
"articleId": "",
"priceListIds": [
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c"
],
"statusSet": [
"EDITABLE"
],
"validFrom": "",
"validTo": "",
"minQuantityFirstValue": "",
"minQuantityFirstOperator":
"EQ",
"minQuantityFilterConnectiveType": "AND",
"minQuantitySecondValue": "",
"minQuantitySecondOperator": "EQ",
"priceFirstValue": "",
"priceFirstOperator":
"EQ",
"priceFilterConnectiveType": "AND",
"priceSecondValue": "",
"priceSecondOperator": "EQ",
"currenciesIds": []
}
}
{
"content": [
{
"id":
"f5af1957-f3ed-4cf6-b6bf-9fed81db7c24",
"articleId": "D022283DC",
"validFrom": "2024-06-03T00:00:00",
"validTo": "2024-12-27T23:59:59",
"minQuantity": 1,
"unitPrice": 100,
"active": true,
"currency":
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
},
{
"id":
"24ab59c7-763e-4078-8047-1b0e07fe40b2",
"articleId": "1021617DC",
"validFrom": "2024-04-08T00:00:00",
"validTo": "2024-09-05T23:59:59",
"minQuantity": 1,
"unitPrice": 25,
"active": true,
"currency":
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
},
"asset":
{
"id":
"da1a24b8-32af-4a66-bbdc-188127cebb41",
"media": {
"url":
"master/catalog/images/1713437908714-1882559365.jpg",
"absoluteUrl":
"https://test-ecom-media.digitalchief.tech/master/catalog/images/1713437908714-1882559365.jpg",
"name":
"photo_2024-01-10_19-20-00.jpg",
"type": "PHOTO",
"size": 134254,
"resolution": "900x1200 px",
"createdDate":
"2024-04-18T13:58:30.589"
},
"title":
"photo_2024-01-10_19-20-00",
"altAttr": "photo_2024-01-10_19-20-00",
"description": "",
"sign": "",
"tags": [
""
]
}
},
{
"id":
"1de6ff58-aadc-45ac-9b97-8ad13a36321c",
"articleId": "1021615DC",
"validFrom": "2024-06-11T00:00:00",
"validTo": "2024-06-13T23:59:59",
"minQuantity": 1,
"unitPrice": 100,
"active": true,
"currency":
{
"id":
"02d3eb94-8d0c-4e21-a952-db8684a1534d",
"isoCode": "EUR",
"name": "Euro",
"symbol": "€"
},
"priceList": {
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name": "priceList_Беларусь"
}
}
],
"number": 0,
"size": 3,
"totalElements": 11,
"pageable": "INSTANCE",
"last": false,
"totalPages": 4,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"first": true,
"numberOfElements": 3,
"empty": false
}
200 - операция выполнена успешно, получена страница с ценами
Работа с прайс листами
- Создание прайс листа - POST запрос, /v1/pricelists
{
"name": "Russia_pricelist"
}
Отсутствует.
- 201 - операция выполнена успешно, прайс лист создан
- 422 - ошибка, отсутствуют обязательный данные
- Получение прайс листа по его id - GET запрос, /v1/pricelists/{id}
id - path-параметр, обязательный: уникальный идентификатор прайс
листа
{
"id":
"2bcd9d1a-52cc-4828-98ab-1a013cbb4b9c",
"name":
"priceList_Беларусь"
}
- 200 - операция выполнена успешно, получены данные прайс листа
- 404 - ошибка, прайс лист с
таким ID не найден
- Удаление прайс листа - DELETE запрос, /v1/pricelists/{id}
id - path-параметр, обязательный: уникальный идентификатор прайс
листа
Отсутствует.
- 204 - операция выполнена успешно, прайс лист удален
- 404 - ошибка, прайс лист с таким ID не найден
- Редактирование прайс листа - PATCH запрос, /v1/pricelists/{id}
id - path-параметр, обязательный: уникальный
идентификатор прайс листа
{
"name":
"pricelist_edited"
}
{
"id":
"aa8db513-d7f6-4d29-87d2-11f2b8cd68ca",
"name":
"pricelist_edited"
}
- 202 - операция выполнена успешно, прайс лист отредактирован
- 204 - No Content
- 404 - ошибка, прайс лист с таким ID не найден