Marketplace
{login}
Метод формирования страницы корзины
Path variables
Идентификатор покупателя
Notes
Запрос потоварно в БД:
select
p.id_product,
p.photo,
p.name,
p.price,
c.name,
s.name,
b.quantity,
e.seller_name,
e.review,
f.isFav
from
basket b
left join product_line pl on pl.product_line_id = b.product_line_id
left join product p on p.id_product = pl.id_product
left join color_prod c on c.id_product = p.id.product
left join size_prod s on s.id_product = p.id_product
left join product_evalution e on e.id_product = p.id_product
left join favourites f on f.id_product = p.id_product
where
b.login = '{login}'
На беке потом считаем итого сумму и кол-во
Responses
Body
Код ответа
Текст ошибки
Список товаров в корзине
идентификатор товара
Ссылка на фото товара
Наименование товара
Цена товара
Цвет товара
Размер товара
Количество товара
Наименование продавца
Количество звезд для отзыва
Флаг избранности товара
Цена итого
Количество итого
GET /getOrderBasket/DISAVLE HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "error",
"WareList": [
{
"productId": 1234,
"photoUrl": "https://media.giphy.com/media/jp7jSyjNNz2ansuOS8/giphy.gif",
"name": "мяч",
"price": 1000,
"color": "Серо-буро-малиновый",
"size": "RU 56",
"quantity": 1,
"sellerName": "Яндекс",
"reviewCount": 5,
"isFav": true
}
],
"totalPrice": 2000,
"totalQuantity": 2
}
Добавление/удаление избранного товара
Notes
Запрос на обновления списка фаворитов
update
favourites
set
isFav = {isFav}
where
login = {login}
and id_product = {productID}
Request body
логин пользователя
список товаров
идентификатор товара
флаг
Responses
Body
код ответа
текст ошибки
POST /changeFavourites HTTP/1.1
Content-Type: application/json
{
"login": "DISAVLE",
"wareList": [
{
"productId": "1234",
"isFav": true
}
]
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": ""
}
Метод перерасчета корзины
Notes
Перерасчет корзины, узнаем актульные цены
select
p.id_product,
p.price
from product p
where p.id_product = '{productID}'
Считаем тотал суммы и кол-ва
Request body
список товаров в корзине
ид товара
кол-во товара
Responses
Body
код ответа
текст ошибки
список товаров
идентификатор товара
цена
POST /processBasket HTTP/1.1
Content-Type: application/json
{
"productList": {
"productId": 1234,
"quantity": 2
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "ошибка",
"productList": [
{
"productId": 1234,
"price": 1000
}
]
}
{login}
Метод доставки и способа оплаты
Path variables
логин пользователя
Notes
СД - энам на фронте 0 - Доставка; 1 - ПВЗ. СО - энам на фронте 0 - картой; 1 - при получении
Получаем инфу для страницы
select
p.id_product,
p.price,
b.quantity,
ad.adres,
c.num
from
basket b
left join product_line pl on pl.product_line_id = b.product_line_id
left join product p on p.id_product = pl.id_product
left join card c on c.login = b.login
left join adress ad on ad.login = ad.login
where
b.login = '{login}'
Получаем список ПВЗ
select p.name, p.adress from pickpoint p
Responses
Body
код ответа
текст ошибки
список инфы
карта
адрес
список ПВЗ
наименование ПВЗ
адрес ПВЗ
итого сумма
итого кол-во
GET /getOrderPayDel/{login} HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "",
"infoList": {
"card": "1000 0000 0000 0000",
"adress": "Москва, ул Пупкина, д 3"
}
}
Метод доступных опций получения
select
p.id_product,
p.quantity_in_stock
from
basket b
left join product_line pl on pl.product_line_id = b.product_line_id
left join product p on p.id_product = pl.id_product
where
b.login = '{login}'
если все товары доступны, то ок, иначе ошибка
Request body
список товаров
ид товара
кол-во
Responses
Body
код ответа
текст ошибки
POST /getOptions HTTP/1.1
Content-Type: application/json
{
"productList": {
"productId": 1234,
"quantity": 2
}
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "ошибка"
}
Метод добавления/изменения адреса
Notes
Запрос на обновления адреса клиента
update
buyer
set
adress = {adress}
where
login = {login}
Request body
логин пользователя
адрес
Responses
Body
код ответа
текст ошибки
POST /changeClientAdress HTTP/1.1
Content-Type: application/json
{
"login": "",
"adress": ""
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "ошибка"
}
Метод добавления/изменения адреса
Notes
Запрос на обновления карты клиента
update
card
set
num = {card}
where
login = {login}
Request body
логин пользователя
карта
Responses
Body
код ответа
текст ошибки
POST /changeClientCard HTTP/1.1
Content-Type: application/json
{
"login": "",
"card": ""
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "ошибка"
}
Метод создания заказа
Notes
запрос на создания заказа
insert into order (
basketId, productId, price, color,
size, quantity, sellerName, totalPrice,
totalQuantity, card, adress, receivingMethod,
patmentMethod
)
values
(...)
Request body
ид корзины
список товаров
ид товара
цена
цвет
размер
кол-во
наименование продавца
итого цена
итого кол-во
карта
адрес
способ получения
способ оплаты
Responses
Body
POST /createOrder HTTP/1.1
Content-Type: application/json
{
"basketId": "",
"WareList": [
{
"productId": 1234,
"price": 1000,
"color": "",
"size": "RU 56",
"quantity": 1,
"sellerName": "Яндекс"
}
],
"totalPrice": 2000,
"totalQuantity": 2,
"card": "",
"adress": "",
"receivingMethod": "",
"paymentMethod": ""
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": 1,
"error": "ошибка"
}