Сервис интеграции с Премиум Бонус

Общая информация

Сервис "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 в случае внутренней ошибки на сервере.