Bonus rules
list
GET /api/v2/bonus/rules?mode=ACCUMULATION&ruleType=ALL&isActive=true&departmentId=1000000003 HTTP/1.1
Parameter | Description |
---|---|
|
Bonus rule mode type: [SPENDING, ACCUMULATION] |
|
Should server return active bonus rules or not |
|
Rule type |
|
Department id |
|
HTTP/1.1 200 OK
{
"content" : [ {
"id" : 18,
"name" : "Новое правило",
"priceFrom" : 0.0,
"priceTo" : 1000000.0,
"bonusPoints" : 100,
"discount" : null,
"duration" : null,
"mobileBonusPoints" : null,
"mobileDiscount" : null,
"departments" : [ {
"id" : 1000000003,
"name" : "Первый магазин"
} ],
"active" : true,
"ruleType" : "ALL",
"startDate" : "2025-08-27",
"finishDate" : "2026-08-27",
"lastUpdate" : "2025-08-27",
"creator" : {
"id" : 9000000008,
"firstName" : "topmanager",
"familyName" : "topmanager",
"patronymicName" : "topmanager",
"fullName" : "topmanager topmanager topmanager",
"shortName" : "topmanager t. t."
},
"cancelDate" : null,
"canceller" : null
} ],
"pageable" : {
"pageNumber" : 0,
"pageSize" : 10,
"sort" : {
"empty" : false,
"sorted" : true,
"unsorted" : false
},
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"last" : true,
"totalElements" : 1,
"totalPages" : 1,
"first" : true,
"size" : 10,
"number" : 0,
"sort" : {
"empty" : false,
"sorted" : true,
"unsorted" : false
},
"numberOfElements" : 1,
"empty" : false
}
Path | Type | Description |
---|---|---|
|
|
bonus rules |
|
|
id |
|
|
name |
|
|
Тип правила |
|
|
Дата начала действия правила |
|
|
Дата конца действия правила |
|
|
Нижний порог ценника |
|
|
Верхний порог ценника |
|
|
Бонусы (для накопительного правила) |
|
|
Скидка (для ненакопительного правила) |
|
|
duration |
|
|
mobileBonusPoints |
|
|
mobileDiscount |
|
|
Время последнего изменения |
|
|
Пользователь, создавший правило |
|
|
creator.id |
|
|
creator.firstName |
|
|
creator.familyName |
|
|
creator.patronymicName |
|
|
Время отмены правила |
|
|
Пользователь, отменивший правило |
|
|
canceller.id |
|
|
canceller.firstName |
|
|
canceller.familyName |
|
|
canceller.patronymicName |
|
|
Активно ли правило |
|
|
Департаменты, в которых действует это правило. Пустой список = правило действует во всех департаментах |
get
GET /api/v2/bonus/rules/16 HTTP/1.1
Parameter | Description |
---|---|
|
ruleId |
HTTP/1.1 200 OK
{
"id" : 16,
"name" : "Новое правило",
"priceFrom" : 0.0,
"priceTo" : 1000000.0,
"bonusPoints" : 100,
"discount" : null,
"duration" : null,
"mobileBonusPoints" : null,
"mobileDiscount" : null,
"departments" : [ {
"id" : 1000000003,
"name" : "Первый магазин"
} ],
"active" : true,
"ruleType" : "ALL",
"startDate" : "2025-08-27",
"finishDate" : "2026-08-27",
"lastUpdate" : "2025-08-27",
"creator" : {
"id" : 9000000008,
"firstName" : "topmanager",
"familyName" : "topmanager",
"patronymicName" : "topmanager",
"fullName" : "topmanager topmanager topmanager",
"shortName" : "topmanager t. t."
},
"cancelDate" : null,
"canceller" : null
}
Path | Type | Description |
---|---|---|
|
|
id |
|
|
name |
|
|
Тип правила |
|
|
Дата начала действия правила |
|
|
Дата конца действия правила |
|
|
Нижний порог ценника |
|
|
Верхний порог ценника |
|
|
Бонусы (для накопительного правила) |
|
|
Скидка (для ненакопительного правила) |
|
|
duration |
|
|
mobileBonusPoints |
|
|
mobileDiscount |
|
|
Время последнего изменения |
|
|
Пользователь, создавший правило |
|
|
creator.id |
|
|
creator.firstName |
|
|
creator.familyName |
|
|
creator.patronymicName |
|
|
Время отмены правила |
|
|
Пользователь, отменивший правило |
|
|
canceller.id |
|
|
canceller.firstName |
|
|
canceller.familyName |
|
|
canceller.patronymicName |
|
|
Активно ли правило |
|
|
Департаменты, в которых действует это правило. Пустой список = правило действует во всех департаментах |
create
POST /api/v2/bonus/rules HTTP/1.1
{
"mode" : "SPENDING",
"name" : "Новое правило на всё",
"priceFrom" : 1000.0,
"priceTo" : 100000.0,
"points" : 100,
"mobilePoints" : null,
"departmentIds" : [ 1000000003 ],
"startDate" : "2025-08-27",
"finishDate" : "2026-08-27"
}
Path | Type | Description | Constraints |
---|---|---|---|
mode |
String |
Тип бонусного правила: [SPENDING, ACCUMULATION] |
Must not be null |
name |
String |
name |
Length must be between 0 and 100 inclusive. |
startDate |
String |
Дата начала действия правила |
|
finishDate |
String |
Дата конца действия правила |
|
priceFrom |
Number |
Нижний порог ценника |
|
priceTo |
Number |
Верхний порог ценника |
|
points |
Number |
Скидка по бонусному правилу (независимо от типа) |
Must not be null |
mobilePoints |
Number |
? |
|
departmentIds |
Array |
Id департаментов |
HTTP/1.1 201 Created
Location: /api/v2/bonus/rules/11
{
"id" : 11,
"name" : "Новое правило на всё",
"priceFrom" : 1000.0,
"priceTo" : 100000.0,
"bonusPoints" : null,
"discount" : 100,
"duration" : null,
"mobileBonusPoints" : null,
"mobileDiscount" : null,
"departments" : null,
"active" : true,
"ruleType" : "ALL",
"startDate" : "2025-08-27",
"finishDate" : "2026-08-27",
"lastUpdate" : "2025-08-27",
"creator" : {
"id" : 9000000008,
"firstName" : "topmanager",
"familyName" : "topmanager",
"patronymicName" : "topmanager",
"fullName" : "topmanager topmanager topmanager",
"shortName" : "topmanager t. t."
},
"cancelDate" : null,
"canceller" : null
}
Path | Type | Description |
---|---|---|
|
|
id |
|
|
name |
|
|
Тип правила |
|
|
Дата начала действия правила |
|
|
Дата конца действия правила |
|
|
Нижний порог ценника |
|
|
Верхний порог ценника |
|
|
Бонусы (для накопительного правила) |
|
|
Скидка (для ненакопительного правила) |
|
|
duration |
|
|
mobileBonusPoints |
|
|
mobileDiscount |
|
|
Время последнего изменения |
|
|
Пользователь, создавший правило |
|
|
creator.id |
|
|
creator.firstName |
|
|
creator.familyName |
|
|
creator.patronymicName |
|
|
Время отмены правила |
|
|
Пользователь, отменивший правило |
|
|
canceller.id |
|
|
canceller.firstName |
|
|
canceller.familyName |
|
|
canceller.patronymicName |
|
|
Активно ли правило |
|
|
Департаменты, в которых действует это правило. Пустой список = правило действует во всех департаментах |
update
PUT /api/v2/bonus/rules/14 HTTP/1.1
{
"name" : "Новое имя бонусного правила",
"departmentIds" : [ 1000000003 ],
"finishDate" : "2028-08-27"
}
Parameter | Description |
---|---|
|
ruleId |
Path | Type | Description | Constraints |
---|---|---|---|
name |
String |
name |
Must not be null |
finishDate |
String |
Дата конца действия правила |
|
departmentIds |
Array |
Id департаментов |
HTTP/1.1 200 OK
deactivate
DELETE /api/v2/bonus/rules/5 HTTP/1.1
Parameter | Description |
---|---|
|
ruleId |
HTTP/1.1 200 OK
types
GET /api/v2/bonus/rules/category HTTP/1.1
HTTP/1.1 200 OK
[ {
"label" : "На все товары",
"code" : "ALL"
}, {
"label" : "Услуги",
"code" : "SERVE"
}, {
"label" : "Аксессуары",
"code" : "ACCESSORIES"
}, {
"label" : "Контактные линзы",
"code" : "CONTACT_LENSES"
}, {
"label" : "Линзы",
"code" : "LENSES"
}, {
"label" : "Оправы",
"code" : "GLASSES"
}, {
"label" : "Солнцезащитные очки",
"code" : "SUNGLASSES"
}, {
"label" : "Массовка",
"code" : "EXTRAS"
} ]
Path | Type | Description |
---|---|---|
|
|
Типы бонусых правил |
departments
GET /api/v2/bonus/rules/departments HTTP/1.1
HTTP/1.1 200 OK
[ {
"id" : 1000000007,
"name" : "Второй магазин"
}, {
"id" : 1000000003,
"name" : "Первый магазин"
}, {
"id" : 1000000008,
"name" : "Третий магазин"
}, {
"id" : 1000000006,
"name" : "Четвертый магазин"
} ]
Path | Type | Description |
---|---|---|
|
|
Все департаменты, в которых действует данное правило. Пустой список = все департаменты |
mobile access
GET /api/v2/bonus/rules/mobile-access HTTP/1.1
HTTP/1.1 200 OK
{
"hasMobileAccess" : true
}
Path | Type | Description |
---|---|---|
|
|
hasMobileAccess |