Верификация корзиы

Версия 1.0 от 01.01.2001

Метод получает на вход полную модель корзины и информацию о пользователе. Основная задача метода проверить актуальность цен, наличие и по возможности применить скидки / купоны для текущего пользователя. Другими словами сделать обсчет корзины.

Пример адреса http:///api/verify-basket

Входные данные

Параметр

Тип

Значение

Basket

Модель корзины

AuthCode

Строка

Код, полученный в процессе авторизации

Параметры, вложенные в Basket

Products

Модель товара

PromoCodes

Список промокодов, купонов на скидку или списания бонусных баллов с карты

Параметры, вложенные в PromoCodes

Type

Число

Тип запрашиваемой информации
Возможные значения:

    1 – Бонусная карта 2 – Купон (промокод)

Value

Число (цена)

Значение скидки, применяемое к заказу. Например, для бонусной карты количество списываемых бонусов

Code

Строка

Код купона или номер дисконтной карты

Параметры, вложенные в Products

Quantity

Число

Кол-во товаров

ID

Строка

Идентификатор товара

Name

Строка

Название товара

Params

Список параметров для конкретного товара

Price

Число (цена)

Цена товара

Параметры, вложенные в Params

Name

Строка

Название параметра

Value

Строка

Значение параметра

Пример json запроса

{
"AuthCode":"OI0*2nw34f-29jvwer=",
"Basket":{
"PromoCodes":[
{
"Type":1,
"Code":"10289371203912",
"Value":500
},
{
"Type":2,
"Code":"LETO_2015"
}
],
"Products":[
{
"Quantity":2,
"ID":12001483,
"Name":"Жилет",
"Params":[
{
"Name":"Пол",
"Value":"Женский"
},
{
"Name":"Цвет",
"Value":"черный"
},
{
"Name":"Размер",
"Value":"M"
},
{
"Name":"size",
"Value":"M"
},
{
"Name":"color",
"Value":"черный"
},
{
"Name":"article",
"Value":"4018068"
},
{
"Name":"group_id",
"Value":"24073"
}
],
"Price":2799.000,
"RelatedProducts":[

]
},
{
"Quantity":1,
"ID":12001386,
"Name":"Куртка",
"Params":[
{
"Name":"Пол",
"Value":"Женский"
},
{
"Name":"Цвет",
"Value":"светло-розовый"
},
{
"Name":"Размер",
"Value":"M"
},
{
"Name":"size",
"Value":"M"
},
{
"Name":"color",
"Value":"светло-розовый"
},
{
"Name":"article",
"Value":"1430232"
},
{
"Name":"group_id",
"Value":"24106"
}
],
"Price":2999.000
}
]
}
}


Выходные данные

Метод должен обработать переданный объект и вернуть его в том же составе, но с дополнительными полями (эти поля будут передаваться при запросе, но пустыми).

Для каждого переданного товара будет обновлено кол-во и цена. Также выведен пользователю для информации текст из поля VerifyText.

Сама модель объекта содержит 2 дополнительных поля

Поля, отвечающие за верификацию корзины на стороне клиента

IsValid

Bool (true, false)

Если установлено значение true, оформление заказа возможно. Если установлено значение false оформление заказа будет запрещено.

InfoMessage

Строка

Сообщение, которое будет выведено пользователю в любом случае (если не пустое). Если IsValid = true, оформление заказ может быть продолжено.

{
"AuthCode":"OI0*2nw34f-29jvwer=",
"Basket":{
"PromoCodes":[
{
"Type":1,
"Code":"10289371203912",
"Value":500
},
{
"Type":2,
"Code":"LETO_2015"
}
],
"Products":[
{
"Quantity":2,
"ID":12001483,
"Name":"Жилет",
"Params":[
{
"Name":"Пол",
"Value":"Женский"
},
{
"Name":"Цвет",
"Value":"черный"
},
{
"Name":"Размер",
"Value":"M"
},
{
"Name":"size",
"Value":"M"
},
{
"Name":"color",
"Value":"черный"
},
{
"Name":"article",
"Value":"4018068"
},
{
"Name":"group_id",
"Value":"24073"
}
],
"Price":3799.000,
"RelatedProducts":[

],
"VerifyText":"Цена товара изменилась"
},
{
"Quantity":1,
"ID":12001386,
"Name":"Куртка",
"Params":[
{
"Name":"Пол",
"Value":"Женский"
},
{
"Name":"Цвет",
"Value":"светло-розовый"
},
{
"Name":"Размер",
"Value":"M"
},
{
"Name":"size",
"Value":"M"
},
{
"Name":"color",
"Value":"светло-розовый"
},
{
"Name":"article",
"Value":"1430232"
},
{
"Name":"group_id",
"Value":"24106"
}
],
"Price":2999.000,
"VerifyText":null
}
],
"IsValid":true,
"InfoMessage":"Обратите внимание, цены на некоторые товары изменились."
}
}


Пример json ответа

История

1.0