Сервис интеграции с Премиум Бонус
Общая информация
Сервис "Premium Bonus" отвечает за интеграцию с сервисом премиум бонусов, предоставляя функциональность для работы с пользователями, их бонусами и покупками.
Premium Bonus
GET /:phone
Описание: Получение информации о пользователе, включая его баланс и информацию о сгорании бонусов.
Теги: Премиум Бонус
Предварительная проверка: Требуется аутентификация пользователя (user role).
Параметры запроса (path):
phone: (string, required) - Номер телефона пользователя.
Ответ:
- 200 OK:
{ "phone": "79991234567", "balance": 120, "balanceExpiration": { "isExists": true, "title": "50 сгорят 01.09.24" } }phone: (string) - Номер телефона пользователя.balance: (number) - Текущий баланс бонусов пользователя.balanceExpiration: (object) - Информация о сгорании бонусовisExists: (boolean) - Есть ли бонусы, которые скоро сгорят.title: (string) - Текст с информацией о сгорании бонусов.
- 400 Bad Request:
{ "error": "Phone number is required" }- Номер телефона не указан.
- 403 Forbidden:
{ "message": "Нет прав для просмотра данной информации" }- Нет прав для просмотра данной информации. (не соответствие телефона пользователя)
- 500 Internal Server Error:
{ "error": "Failed to fetch user info: some error" }- Ошибка при получении информации о пользователе.
POST /buyer-register
Описание: Регистрация пользователя в системе премиум бонусов.
Теги: Премиум Бонус
Предварительная проверка: Требуется аутентификация пользователя (user role).
Тело запроса (body):
{
"phone": "79991234567"
}
phone: (string, required) - Номер телефона пользователя.
Ответ:
- 200 OK:
{
"is_registered": true,
"phone": "79991234567",
"id": "user_id_uuid"
}
is_registered: (boolean) - Флаг регистрации.phone: (string) - Номер телефона пользователя.id: (string) - ID пользователя.- 500 Internal Server Error:
{ "error": "Failed to register user: some error" } - Ошибка при регистрации пользователя.
POST /purchase
Описание: Проведение покупки с использованием бонусов.
Теги: Премиум Бонус
Предварительная проверка: Требуется аутентификация пользователя (user role).
Тело запроса (body):
{
"phone": "79991234567",
"items": [
{
"product_id": "some_product_id",
"amount": 1,
"price": 120
}
],
"total_bonus_write_off": 100
}
phone: (string, required) - Номер телефона пользователя.items: (array, required) - Список товаровproduct_id: (string, required) - ID товараamount: (number, required) - Количество товараprice: (number, required) - Цена товара
total_bonus_write_off: (number, optional) - Количество списываемых бонусов
Ответ:
- 200 OK:
{ "success": true, "message": "OK", "total_write_off_bonus": 100 } success: (boolean) - Флаг успешности запроса.message: (string) - Сообщение об успехе.total_write_off_bonus: (number) - Сумма списанных бонусов.
- 500 Internal Server Error:
{ "error": "Failed to process purchase: some error" }* Ошибка при обработке покупки.
Примечания:
- Все запросы требуют авторизации с ролью
user. - Все запросы возвращают
500 Internal Server Errorв случае внутренней ошибки на сервере.