Cart

Для работы с корзиной, необходимо предоставлять uid корзины.
Для этого сначала нужно проинициализировать корзину.

get cart

Получение корзины по ее uuid
request
GET /api/v2/carts/6aec3dc7-a92e-4e34-bea2-81b93c949d96 HTTP/1.1
Table 62. /api/v2/carts/{cartUuid}
Parameter Description

cartUuid

UUID корзины

response
HTTP/1.1 200 OK

{
  "cartUuid" : "6aec3dc7-a92e-4e34-bea2-81b93c949d96",
  "cartGroups" : [ {
    "cartItems" : [ {
      "id" : "1000001038",
      "sellableId" : 1000001038
    }, {
      "id" : "1000001037",
      "sellableId" : 1000001037
    } ],
    "sellable" : {
      "className" : "AccessoryResponse",
      "id" : null,
      "retailPrice" : 130.0,
      "purchasingPrice" : 25.0,
      "soldPrice" : null,
      "baseSalePrice" : 25.0,
      "sellableCategory" : "ACCESSORY",
      "expected" : false,
      "basePrice" : 20.0,
      "barcode" : null,
      "factory" : false,
      "departmentName" : null,
      "goodsStatus" : "IN_DEPARTMENT",
      "accessoryCategory" : "Салфетка микрофибра",
      "model" : "с рисунком",
      "orderId" : null
    },
    "createdAt" : "2025-11-19T14:37:32.791089096",
    "localCreatedAt" : null,
    "groupSize" : 2,
    "maxSize" : null,
    "countUpdatable" : false,
    "activeDiscount" : null,
    "extraDiscount" : null,
    "bonusDiscount" : null,
    "spendBonusRule" : null,
    "accumulationBonusRule" : null,
    "price" : 130.0,
    "discountPrice" : 130.0,
    "totalPrice" : 260.0,
    "totalDiscountPrice" : 260.0
  }, {
    "cartItems" : [ {
      "id" : "1000001046",
      "sellableId" : 1000001046
    }, {
      "id" : "1000001045",
      "sellableId" : 1000001045
    } ],
    "sellable" : {
      "className" : "AccessoryResponse",
      "id" : null,
      "retailPrice" : 600.0,
      "purchasingPrice" : 100.0,
      "soldPrice" : null,
      "baseSalePrice" : 100.0,
      "sellableCategory" : "ACCESSORY",
      "expected" : false,
      "basePrice" : 100.0,
      "barcode" : null,
      "factory" : false,
      "departmentName" : null,
      "goodsStatus" : "IN_DEPARTMENT",
      "accessoryCategory" : "Футляр",
      "model" : "FM-807-L18",
      "orderId" : null
    },
    "createdAt" : "2025-11-19T14:37:32.736311946",
    "localCreatedAt" : null,
    "groupSize" : 2,
    "maxSize" : null,
    "countUpdatable" : false,
    "activeDiscount" : null,
    "extraDiscount" : null,
    "bonusDiscount" : null,
    "spendBonusRule" : null,
    "accumulationBonusRule" : null,
    "price" : 600.0,
    "discountPrice" : 600.0,
    "totalPrice" : 1200.0,
    "totalDiscountPrice" : 1200.0
  } ],
  "cartInfo" : {
    "cartUuid" : "6aec3dc7-a92e-4e34-bea2-81b93c949d96",
    "orderType" : "SALE",
    "orderComment" : null,
    "department" : {
      "id" : 1000000003,
      "name" : "Первый магазин",
      "otherDepartmentSearchId" : null,
      "otherDepartmentSearchName" : null
    },
    "client" : {
      "id" : 1000000002,
      "fullName" : "Аноним",
      "vipDiscount" : null,
      "contactLensReplacementBefore" : null,
      "mobileClient" : false
    },
    "clientCard" : null,
    "giftCertificateAddingMode" : "BARCODE_SCAN",
    "contactLensPrescription" : null,
    "selectedDiscount" : null,
    "extraDiscount" : null,
    "contactLensReplacementBefore" : null,
    "banDiscounts" : true,
    "discountsInCheckVision" : null,
    "cartPrice" : 1460.0,
    "cartDiscountPrice" : 1460.0,
    "cartDiscount" : 0.0,
    "minimumPaymentPrice" : 1460.0,
    "mainOnly" : true,
    "insuranceAvailable" : true,
    "creditAvailable" : true
  }
}
Table 63. response description
Path Type Description

cartUuid

String

Uuid корзины

orderType

String

Тип заказа

cartGroups

Array

Сгрупированные группы корзины

cartGroups.cartItems

Array

Элементы корзины

cartGroups.cartItems.id

String

Id позиции в корзине

cartGroups.cartItems.sellableId

Object

Id товара/услуги

cartGroups.sellable

Object

Товар/услуга

cartGroups.sellable.barcode

Object

Заводской штрихкод

cartGroups.sellable.factory

Object

Был ли товар отсканирован по заводскому штрихкоду

cartGroups.createdAt

Object

Время добавления первого товара в группе

cartGroups.groupSize

Object

Количество позиций в группе

cartGroups.maxSize

Object

Максимально допустимое кол-во в группе

cartGroups.countUpdatable

Object

Можно ли изменить кол-во позиций

cartGroups.activeDiscount

Object

Основная скидка

cartGroups.extraDiscount

Object

Доп.скидка

cartGroups.bonusDiscount

Object

Бонусная скидка

cartGroups.accumulationBonusRule

Object

Накопительное бонусное правило

cartGroups.spendBonusRule

Object

Бонусное правило на списание

cartGroups.price

Object

Стоимость одного товара в группе

cartGroups.discountPrice

Object

Стоимость одного товара в группе со скидкой

cartGroups.totalPrice

Object

Стоимость товаров группы

cartGroups.totalDiscountPrice

Object

Стоимость товаров группы со скидкой

cartInfo

Object

Информация о корзине

cartInfo.userId

Object

Id продавца заказа

cartInfo.department

Object

Департамент, где совершается заказ

cartInfo.client

Object

Клиент, на которого оформлена корзина

cartInfo.clientCard

Object

Карта клиента со скидками

cartInfo.giftCertificateAddingMode

String

[NUMBER_NOT_REQUIRED, NUMBER_REQUIRED, BARCODE_SCAN]

cartInfo.selectedDiscount

Object

Выбранная скидка

cartInfo.extraDiscount

Object

Дополнительная скидка

cartInfo.contactLensReplacementBefore

Object

Дата окончания скидки по замене КЛ

cartInfo.banDiscounts

Boolean

Заблочены ли скидки (для анонимных клиентов)

cartInfo.cartPrice

Number

Стоимость корзины без скидок

cartInfo.cartDiscountPrice

Number

Стоимость корзины со скидками

cartInfo.cartDiscount

Number

Сумма всех скидок

cartInfo.minimumPaymentPrice

Number

Минимальная сумма для оплаты заказа

cartInfo.insuranceAvailable

Boolean

true - можно платить страховкой

cartInfo.creditAvailable

Boolean

true - можно платить кредитным договором

get cart info

Получение информации о корзине (без элементов) по ее uuid
request
GET /api/v2/carts/0912dd06-13e6-4dde-90c8-56551854340f/info HTTP/1.1
Table 64. /api/v2/carts/{cartUuid}/info
Parameter Description

cartUuid

UUID корзины

response
HTTP/1.1 200 OK

{
  "cartUuid" : "0912dd06-13e6-4dde-90c8-56551854340f",
  "orderType" : "SALE",
  "orderComment" : null,
  "department" : {
    "id" : 1000000003,
    "name" : "Первый магазин",
    "otherDepartmentSearchId" : null,
    "otherDepartmentSearchName" : null
  },
  "client" : {
    "id" : 1000000002,
    "fullName" : "Аноним",
    "vipDiscount" : null,
    "contactLensReplacementBefore" : null,
    "mobileClient" : false
  },
  "clientCard" : null,
  "giftCertificateAddingMode" : "BARCODE_SCAN",
  "contactLensPrescription" : null,
  "selectedDiscount" : null,
  "extraDiscount" : null,
  "contactLensReplacementBefore" : null,
  "banDiscounts" : true,
  "discountsInCheckVision" : null,
  "cartPrice" : 0.0,
  "cartDiscountPrice" : 0.0,
  "cartDiscount" : 0.0,
  "minimumPaymentPrice" : null,
  "mainOnly" : true,
  "insuranceAvailable" : true,
  "creditAvailable" : true
}
Table 65. response description
Path Type Description

department

Object

Департамент, где совершается заказ

client

Object

Клиент, на которого оформлена корзина

clientCard

Object

Карта клиента со скидками

giftCertificateAddingMode

String

[NUMBER_NOT_REQUIRED, NUMBER_REQUIRED, BARCODE_SCAN]

selectedDiscount

Object

Выбранная скидка

extraDiscount

Object

Дополнительная скидка

contactLensReplacementBefore

Object

Дата окончания скидки по замене КЛ

banDiscounts

Boolean

Заблочены ли скидки (для анонимных клиентов)

cartPrice

Number

Стоимость корзины без скидок

cartDiscountPrice

Number

Стоимость корзины со скидками

cartDiscount

Number

Сумма всех скидок

cartInfo.minimumPaymentPrice

Number

Минимальная сумма для оплаты заказа

get cart payment info

Получение информации перед внесением платежа на кассовом месте по корзине по ее uuid
request
GET /api/v2/carts/063cbaa7-9946-4523-ac88-5f1e480257cc/payment-info?pointOfSaleId=4 HTTP/1.1
Table 66. /api/v2/carts/{cartUuid}/payment-info
Parameter Description

cartUuid

UUID корзины

Parameter Description

pointOfSaleId

ID кассового места

response
HTTP/1.1 200 OK

{
  "mainOnly" : true
}
Table 67. response description
Path Type Description

mainOnly

Boolean

mainOnly

initialize cart

Создает корзину и возвращает ее uid.
Если не предоставить clientId, то создаст корзину на анонимного клиента
request
POST /api/v2/carts HTTP/1.1

{
  "userId" : 9000000008,
  "orderType" : "SALE",
  "clientId" : 1000000220,
  "contactLensPrescriptionId" : null
}
response
HTTP/1.1 200 OK

a8621986-2d27-450a-85a4-15bc0961ae3a

initialize cart with expected contact lenses based on order

Создает корзину с заявками на контактные линзы из существующего заказа и возвращает ее uuid
request
POST /api/v2/carts/expected-contact-lenses/1100001131 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
response
HTTP/1.1 200 OK

08e5c28e-4360-449f-9e1d-1e6cb6b2ca0f
Возможные ошибки:
  • 404 - Если заказ не найден

  • 400 - Если в заказе нет завершенных заявок на контактные линзы

update count

Изменение кол-ва позиций корзины (доступно только для КЛ, услуг и немарк.товаров)
request
PUT /api/v2/carts/1b32f293-887a-499e-aa4c-4ef9fd472685/items/6344c2cd-a78a-44d7-84d2-1d3fbc3abfbf/count HTTP/1.1

{
  "count" : 7
}
response
HTTP/1.1 200 OK

delete item

Удаление позиции в корзине

request
DELETE /api/v2/carts/8e292989-f92b-453e-9098-d6aa01603142/items HTTP/1.1

{
  "cartItemIds" : [ "1000012195" ]
}
Table 68. /api/v2/carts/{cartUuid}/items
Parameter Description

cartUuid

UUID корзины

Path Type Description Constraints

cartItemIds

Array

Ids удаляемых позиций

response
HTTP/1.1 200 OK