Sunglasses bonus rule

get

request
GET /api/v2/bonus/rules/sunglasses/76 HTTP/1.1
Table 31. /api/v2/bonus/rules/sunglasses/{ruleId}
Parameter Description

ruleId

ruleId

response
HTTP/1.1 200 OK

{
  "id" : 76,
  "name" : "Новое правило",
  "priceFrom" : 0.0,
  "priceTo" : 1000000.0,
  "bonusPoints" : 100,
  "discount" : null,
  "duration" : null,
  "mobileBonusPoints" : null,
  "mobileDiscount" : null,
  "departments" : [ {
    "id" : 1000000003,
    "name" : "Первый магазин"
  } ],
  "manufacturer" : null,
  "brand" : "Renome",
  "targetGroup" : null,
  "lensesType" : null,
  "glassesMaterial" : null,
  "models" : null,
  "active" : true,
  "ruleType" : "SUNGLASSES",
  "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,
  "frameType" : null
}
Table 32. response description
Path Type Description

id

Number

id

name

String

name

ruleType

String

Тип правила

startDate

String

Дата начала действия правила

finishDate

String

Дата конца действия правила

priceFrom

Number

Нижний порог ценника

priceTo

Number

Верхний порог ценника

bonusPoints

Number

Бонусы (для накопительного правила)

discount

Number

Скидка (для ненакопительного правила)

duration

Number

duration

mobileBonusPoints

Number

mobileBonusPoints

mobileDiscount

Number

mobileDiscount

lastUpdate

String

Время последнего изменения

creator

Object

Пользователь, создавший правило

creator.id

Number

creator.id

creator.firstName

String

creator.firstName

creator.familyName

String

creator.familyName

creator.patronymicName

String

creator.patronymicName

cancelDate

String

Время отмены правила

canceller

Object

Пользователь, отменивший правило

canceller.id

Number

canceller.id

canceller.firstName

String

canceller.firstName

canceller.familyName

String

canceller.familyName

canceller.patronymicName

String

canceller.patronymicName

active

Boolean

Активно ли правило

departments

Array

Департаменты, в которых действует это правило. Пустой список = правило действует во всех департаментах

manufacturer

String

manufacturer

brand

String

brand

targetGroup

String

targetGroup

lensesType

String

lensesType

glassesMaterial

String

glassesMaterial

frameType

String

frameType

models

Array

models

create

request
POST /api/v2/bonus/rules/sunglasses HTTP/1.1

{
  "mode" : "SPENDING",
  "name" : "Новое правило на всё",
  "priceFrom" : 1000.0,
  "priceTo" : 100000.0,
  "points" : 100,
  "mobilePoints" : null,
  "departmentIds" : [ 1000000003 ],
  "manufacturer" : null,
  "brand" : null,
  "targetGroup" : null,
  "lensesType" : null,
  "glassesMaterial" : null,
  "frameType" : null,
  "models" : null,
  "startDate" : "2025-08-27",
  "finishDate" : "2026-08-27"
}
Table 33. request description
Path Type Description Constraints

mode

String

Тип бонусного правила: [SPENDING, ACCUMULATION]

Must not be null

name

String

name

Length must be between 0 and 100 inclusive.
Must not be null

startDate

String

Дата начала действия правила

finishDate

String

Дата конца действия правила

priceFrom

Number

Нижний порог ценника

priceTo

Number

Верхний порог ценника

points

Number

Скидка по бонусному правилу (независимо от типа)

Must not be null

mobilePoints

Number

?

departmentIds

Array

Id департаментов

manufacturer

String

manufacturer

brand

String

brand

targetGroup

String

targetGroup

lensesType

String

lensesType

glassesMaterial

String

glassesMaterial

frameType

String

frameType

models

Array

Список моделей через запятую

response
HTTP/1.1 201 Created
Location: /api/v2/bonus/rules/sunglasses/73

{
  "id" : 73,
  "name" : "Новое правило на всё",
  "priceFrom" : 1000.0,
  "priceTo" : 100000.0,
  "bonusPoints" : null,
  "discount" : 100,
  "duration" : null,
  "mobileBonusPoints" : null,
  "mobileDiscount" : null,
  "departments" : null,
  "manufacturer" : null,
  "brand" : null,
  "targetGroup" : null,
  "lensesType" : null,
  "glassesMaterial" : null,
  "models" : null,
  "active" : true,
  "ruleType" : "SUNGLASSES",
  "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,
  "frameType" : null
}
Table 34. response description
Path Type Description

id

Number

id

name

String

name

ruleType

String

Тип правила

startDate

String

Дата начала действия правила

finishDate

String

Дата конца действия правила

priceFrom

Number

Нижний порог ценника

priceTo

Number

Верхний порог ценника

bonusPoints

Number

Бонусы (для накопительного правила)

discount

Number

Скидка (для ненакопительного правила)

duration

Number

duration

mobileBonusPoints

Number

mobileBonusPoints

mobileDiscount

Number

mobileDiscount

lastUpdate

String

Время последнего изменения

creator

Object

Пользователь, создавший правило

creator.id

Number

creator.id

creator.firstName

String

creator.firstName

creator.familyName

String

creator.familyName

creator.patronymicName

String

creator.patronymicName

cancelDate

String

Время отмены правила

canceller

Object

Пользователь, отменивший правило

canceller.id

Number

canceller.id

canceller.firstName

String

canceller.firstName

canceller.familyName

String

canceller.familyName

canceller.patronymicName

String

canceller.patronymicName

active

Boolean

Активно ли правило

departments

Array

Департаменты, в которых действует это правило. Пустой список = правило действует во всех департаментах

manufacturer

String

manufacturer

brand

String

brand

targetGroup

String

targetGroup

lensesType

String

lensesType

glassesMaterial

String

glassesMaterial

frameType

String

frameType

models

Array

models