external:pro_bonus:10_probonus_api:01_scheme

Это старая версия документа!


Типовые сценарии работы

В зависимости от целей и задач которые преследует внешняя система во взаимодействии с системой лояльности ProBonus можно выделить несколько типовых сценариев интеграции.

В данном разделе описаны базовые кейсы и указаны конкретные методы API необходимые для из реализации.

API ProBonus предусматривает два различных способа авторизации:

  1. Получение bearer токена через авторизацию (/api/v0/auth/login) и его дальнейшее обновление (/api/v0/auth/refresh_token).
  2. Работа через токен для API. Все запросы в заголовках содержат постоянный токен.

Поддерживаются оба варианта. Но вариант 2 проще и удобнее. В сваггере доступны оба варианта.

  1. В качестве сквозного идентификатора гостя используем номер телефона.
  2. Если бизнес логика подразумевает создание новых счетов из внешней системы, тогда каждого нового гостя вы создаете в ПБ методом /api/v0/accounts/insert_by_template.
    По минимум нужно передать только анкетные данные и телефон (email и доп идентификаторы - по желанию). Счет для гостя будет создан в группу accountGroupId и данному гостю будет автоматически назначена лояльность по шаблону настроенному для этой группы в рамках системы ProBonus (уровень, приветственные бонусы, установлено сгорание и т.п.)
    Id нужной группы мы можете получить по API методом /api/v0/account_groups/list, или просто посмотреть в админке (http://probonus.pro:6896/account-groups/) и вынести в настройки на своей стороне.
    ВАЖНО: Для корректного создания новых счетов по шаблону нужна группа с признаком «Шаблон для API» (haveTemplate=true). В тестовой БД это «Самостоятельно зарегистрировавшиеся» (id=3).
  3. Проверить гостя на существование в СЛ можно при помощи метода /api/v0/accounts/find_by_phone. Ищет гостя по номеру телефона. Если гость с указанным номером телефона существует, то в ответ вернется практически вся информация о нем: анкета, текущий остаток на счете, текущий уровень, купоны и так далее.
  1. Начисление бонусов гостю по инициативе внешней системы (например за какую то активность в вашем приложении).
    /api/v0/accounts/refill.
  2. Транзакции по счету (показать в ЛК гостю его транзакции).
    /api/v0/accounts/transactions – вернет все транзакции по счету за указанный период.
    /api/v0/accounts/transactions – вернет N последних транзакций.
  3. Обновить данные счета (изменить анкету, изменить скидку/бонус, срок жизни бонусов и т.п.)
    /api/v0/accounts/update
  4. Получить данные конкретного чека гостя (вплоть до блюд)
    /api/v0/checks/get_by_id
  5. Если используются сгорающие бонусы.
    /api/v0/accounts/get_balance_extended – вернет детализацию баланса счета, с указанием когда и сколько сгорит.
  • external/pro_bonus/10_probonus_api/01_scheme.1771224229.txt.gz
  • Последнее изменение: 2026/02/16 09:43
  • Александр Ильин