- Приветствие
- Помощь
- Получение списка продуктов по категории
- Получение информации об одном продукте
- Получение списка категорий
- Добавление товара в корзину
- Вывести корзину
- Формат запроса:
{
"action": <int>,
"data": <dict|None>
}
- Формат ответа:
{
"code": <int>,
"data": <string>
}
-
Коды ответа и их обозначение:
200 - Успех - запрос успешно обработан
201 - Создано/добавлено - запись успешно добавлена или создана
400 - Неверный запрос - введен неверный или несуществующий запрос
404 - Не найдено или неизвестная команда - например выбран несуществующий товар
409 - Конфликт выполнения запроса - например на складе не хватает товара для покупки
500 - Ошибка обработки запроса - например, введены неверные данные для запроса фильтрации
Функция: hanlders.set_hello_message
Необходимо возвращать сообщение с приветствием пользователя в следующем формате:
Запрос
{
"action": 0,
"data": {}
}
Ответ:
{
"code": 200,
"data": "Привет, пользователь! Рады тебя приветствовать в магазине. Здесь ты можешь просмотреть товары, купить что-то. Для более подробной информации вызови помощь командой '1'"
}
Функция: hanlders.help
Необходимо перечислить имеющиеся команды с расшифровкой того, для чего нужна каждая команда, формат следующий:
Запрос
{
"action": 1,
"data": {}
}
Ответ:
{
"code": 200,
"data": "1 - Вывести это сообщение.\n2 - Показать список продуктов. Можно передать в тело номер категории, чтобы получить товары определенной категории. ..."
}
Функция: hanlders.products.get_product_list
Возвращает либо все товары магазина, если фильтры не указаны, либо товары, отфильтрованные по двум признакам: цена и категория.
Запрос
{
"action": 2,
"data": {
"price": ['>100'|'<100'|'<=100'|'>=100'|None],
"category": <int|None>
}
}
Ответ:
{
"code": 200,
"data": "1. Груша (200 руб/кг) 10 шт.\n2. Яблоки (1000 руб/кг) 10шт."
}
Примечание: Если введен номер несуществующей категории, то вывести пустой список товаров
Функция: hanlders.products.get_single_product
Необходимо возвращать сообщение с приветствием пользователя в следующем формате:
Запрос
{
"action": 4,
"data": {
"id": <int>
}
}
Ответы:
{
"code": 200,
"message": "Груша.\nЦена: 200 рублей за кг\nОстаток на складе: 10 штук\nОписание: Длинное описание"
}
{
"code": 404,
"message": "Товара с таким номер не найдено"
}
Функция: hanlders.categories.get_category_list
Необходимо возвращать список категорий товаров с выводом их идентификаторов для возможности делать запросы:
Запрос
{
"action": 3,
"data": {}
}
Ответ:
{
"code": 200,
"data": "1. Фрукты\n2. Овощи"
}
Функция: hanlders.cart.put_product_to_cart
Добавить выбранный товар в корзину в указанном количестве:
Запрос
{
"action": 5,
"data": {
"id": 1,
"count": 5
}
}
Ответы:
{
"code": 201,
"message": "Товар 'Яблоки' в количестве 5 штук добавлен в корзину успешно"
}
{
"code": 404,
"message": "Товара с таким номер не найдено."
}
{
"code": 409,
"message": "Невозможно добавить товар 'Яблоки' в количестве 11 штук в корзину, потому что их осталось всего 10."
}
Функция: hanlders.cart.get_cart
Необходимо возвращать список товаров в корзине с их количеством:
Ответ:
{
"code": 200,
"message": "1. Яблоки (200 руб/кг) добавлено 5 штук\n2. Груши (150 руб/кг) добавлено 1 штука"
}