Discounts

get discount

request
GET /api/v2/discounts/1000000001 HTTP/1.1
response
HTTP/1.1 200 OK

{
  "name" : "на все 10%",
  "discountDepartments" : [ ],
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "accessories" : true,
  "sunglasses" : true,
  "glasses" : true,
  "lenses" : true,
  "contactLenses" : true,
  "extras" : true,
  "serves" : true
}
Path Type Description

name

String

Название скидки

discountDepartments

Array

Департаменты, в которых действует скидка

percentageDiscount

Number

Процент скидки

fixedDiscount

Number

Сумма скидки

accessories

Boolean

Распространяется ли на аксессуары

sunglasses

Boolean

Распространяется ли на солнцезащитные очки

glasses

Boolean

Распространяется ли на оправы

lenses

Boolean

Распространяется ли на линзы

contactLenses

Boolean

Распространяется ли на контактные линзы

extras

Boolean

Распространяется ли на массовку

serves

Boolean

Распространяется ли на услуги

cart discount list

Сортировка по умолчанию в порядке: name → discountPercentage → discountSum

request
GET /api/v2/carts/discounts?deleted=false HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 8999000008,
  "name" : "Test discount",
  "percentageDiscount" : null,
  "fixedDiscount" : 10.0,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000013,
  "name" : "Аксессуары 80% test",
  "percentageDiscount" : 80.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000006,
  "name" : "День Рождения",
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000011,
  "name" : "Услуги 14% test",
  "percentageDiscount" : 14.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000005,
  "name" : "мкл",
  "percentageDiscount" : 15.86,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000001,
  "name" : "на все 10%",
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000007,
  "name" : "утилизация",
  "percentageDiscount" : null,
  "fixedDiscount" : 1000.0,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
} ]
Path Type Description

id

Number

Id

name

String

Название правила

discountPercentage

Number

Скидка в процентах

discountSum

Number

Абсолютная скидка (в рублях или другой валюте)

serve discount list

request
GET /api/v2/serve/discounts?deleted=false HTTP/1.1
response
HTTP/1.1 200 OK

[ {
  "id" : 8999000008,
  "name" : "Test discount",
  "percentageDiscount" : null,
  "fixedDiscount" : 10.0,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000006,
  "name" : "День Рождения",
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000011,
  "name" : "Услуги 14% test",
  "percentageDiscount" : 14.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000001,
  "name" : "на все 10%",
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}, {
  "id" : 1000000007,
  "name" : "утилизация",
  "percentageDiscount" : null,
  "fixedDiscount" : 1000.0,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
} ]
Path Type Description

id

Number

Id

name

String

Название правила

discountPercentage

Number

Скидка в процентах

discountSum

Number

Абсолютная скидка (в рублях или другой валюте)

discount journal

request
GET /api/v2/discounts?coupon=false&active=false&name=%D0%BC%D0%BA%D0%BB HTTP/1.1
Parameter Description

departmentId

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

category

Категория товара

coupon

Является ли купоном

name

Название

active

Активность скидки

pageable

Pageable description

response
HTTP/1.1 200 OK

{
  "content" : [ {
    "id" : 1000000002,
    "name" : "МКЛ",
    "percentageAndScope" : {
      "15,86%" : [ "CONTACT_LENS" ]
    },
    "departments" : null,
    "createdBy" : "Иванов Иван",
    "createdAt" : "13.06.2019 09:08",
    "deletedBy" : "Иванов Иван",
    "deletedAt" : "13.06.2019 09:12",
    "percentageDiscount" : 15.86,
    "fixedDiscount" : null
  }, {
    "id" : 1000000003,
    "name" : "мкл",
    "percentageAndScope" : {
      "16%" : [ "CONTACT_LENS" ]
    },
    "departments" : null,
    "createdBy" : "Иванов Иван",
    "createdAt" : "13.06.2019 09:12",
    "deletedBy" : "Иванов Иван",
    "deletedAt" : "13.06.2019 09:12",
    "percentageDiscount" : 16.0,
    "fixedDiscount" : null
  }, {
    "id" : 1000000004,
    "name" : "мкл 16",
    "percentageAndScope" : {
      "16%" : [ "CONTACT_LENS" ]
    },
    "departments" : null,
    "createdBy" : "Иванов Иван",
    "createdAt" : "13.06.2019 09:13",
    "deletedBy" : "Иванов Иван",
    "deletedAt" : "13.06.2019 09:15",
    "percentageDiscount" : 16.0,
    "fixedDiscount" : null
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 10,
    "sort" : {
      "empty" : false,
      "sorted" : true,
      "unsorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalElements" : 3,
  "totalPages" : 1,
  "first" : true,
  "size" : 10,
  "number" : 0,
  "sort" : {
    "empty" : false,
    "sorted" : true,
    "unsorted" : false
  },
  "numberOfElements" : 3,
  "empty" : false
}
Path Type Description

content[].

Array

an array of filtered common discounts

[].id

Number

Id скидки

[].name

String

Название скидки

[].percentageDiscount

Number

Процент скидки

[].fixedDiscount

Number

Сумма скидки

[].percentageAndScope

String

Разбивка процентов по категориям товаров

[].departments

Array

Департаменты

[].createdAt

String

Когда было создано

[].createdBy

String

Кем было создано

[].deletedAt

String

Когда было удалено

[].deletedBy

String

Кем было удалено

create discount

request
POST /api/v2/discounts HTTP/1.1

{
  "name" : "Тестовая скидка номер 1348143434",
  "departmentIds" : null,
  "percentage" : 10.0,
  "fixedSum" : null,
  "accessories" : true,
  "contactlenses" : false,
  "lenses" : false,
  "glasses" : false,
  "sunglasses" : false,
  "extras" : false,
  "serves" : false,
  "accessoriesPercentage" : null,
  "contactlensesPercentage" : 20.0,
  "lensesPercentage" : null,
  "glassesPercentage" : null,
  "sunglassesPercentage" : null,
  "extrasPercentage" : null,
  "servesPercentage" : null
}
Path Type Description Constraints

name

String

Название скидки

Must not be blank

departmentIds

Array

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

percentage

Number

Процент скидки

Must be at least 0.
Must be at most 100.
Must have at most 3 integral digits and 2 fractional digits

fixedSum

Number

Сумма скидки

Must be at least 0.00.
Must be at most 9999999999999.99.
Must have at most 16 integral digits and 2 fractional digits

accessories

Boolean

Распространяется ли на аксессуары

sunglasses

Boolean

Распространяется ли на солнцезащитные очки

glasses

Boolean

Распространяется ли на оправы

lenses

Boolean

Распространяется ли на линзы

contactLenses

Boolean

Распространяется ли на контактные линзы

extras

Boolean

Распространяется ли на массовку

serves

Boolean

Распространяется ли на услуги

accessoriesPercentage

Number

Процент на аксессуары

Must be at least 0.
Must be at most 100

contactlensesPercentage

Number

Процент на контактные линзы

Must be at least 0.
Must be at most 100

lensesPercentage

Number

Процент на линзы

Must be at least 0.
Must be at most 100

glassesPercentage

Number

Процент на оправы

Must be at least 0.
Must be at most 100

sunglassesPercentage

Number

Процент на солнцезащитные очки

Must be at least 0.
Must be at most 100

extrasPercentage

Number

Процент на заготовки

Must be at least 0.
Must be at most 100

servesPercentage

Number

Процент на услуги

Must be at least 0.
Must be at most 100

response
HTTP/1.1 201 Created
Location: /api/v2/discounts/1000000015

{
  "id" : 1000000015,
  "name" : "Тестовая скидка номер 1348143434",
  "percentageDiscount" : 10.0,
  "fixedDiscount" : null,
  "maxPercentageDiscount" : null,
  "minPercentageDiscount" : null
}
Path Type Description

id

Number

Id

name

String

Название правила

discountPercentage

Number

Скидка в процентах

discountSum

Number

Абсолютная скидка (в рублях или другой валюте)

restore discount

request
PUT /api/v2/discounts/6999111002/restore HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

delete discount

request
DELETE /api/v2/discounts/6999111003 HTTP/1.1
response
HTTP/1.1 200 OK