====== ProBonus Api ======
Система ProBonus имеет собственное API (REST JSON), которое позволяет интегрироваться с внешними системами и расширять возможности системы лояльности. Например:
- Сайт или мобильное приложение ресторана, через которые гость может зарегистрироваться в системе лояльности и получать информацию о воем балансе и операциях.
- Сторонние модули (бронирование, доставка) которые могут запрашивать данные по гостям из системы ProBonus и в дальнейшем использовать их в целях.
- Внешняя маркетинговая система (CRM) которая может получать данные по гостям из системы ProBonus и в свою очередь начислять на счета гостей бонусы и/или менять уровень скидки.
- Внешние системы отчетов и аналитики, которые могут запрашивать данные из системы лояльности ProBonus.
**Пример:**[[http://probonus.pro:6896/docs|http://probonus.pro:6896/docs]] - это тестовый экземпляр сервера ProBonus, развернутый на серверах ГК "Карбис".
Пользовательский интерфейс доступен по адресу [[http://probonus.pro:6896|http://probonus.pro:6896]]
Учетные данные для входа: admin / 111
Данный сервер можно использовать для тестирования запросов к API.
Полное описание API встроено в модуль ProBonus и доступно во вкладке ProBonus API
{{ :external:pro_bonus:pasted:20231128-145235.png }}
{{ :external:pro_bonus:pasted:20231128-145429.png }}
=====Авторизация=====
==== Авторизация через токен пользователя для API ====
Данный способ регистрации возможен от версии ProBonus v1.2.60.297 и предназначен для интеграций с внешними системами.
Токен такого пользователя не имеет ограничения использования по времени. Если токен утрачен, то его нужно [[external:pro_bonus:03_probonus_work:01_webadmin:01_users#пользователь_для_api|заново генерировать в админке ProBonus]] и прописать на стороне внешней системы заново.
Готовый токен сначала нужно скопировать из админки и только потом сохранить.
{{ :external:pro_bonus:2026-02-13_14-49-52.png |}}
Проверить работоспособность токена можно через API ProBonus.
Пример: На скрине изображены 3 шага:
- На основной странице кликнуть "autorize".
- В окне авторизации в поле "APIKeyHeader" ввести скопированный токен.
- В окне авторизации "autorize"
После авторизации станут доступны для работы методы
{{ :external:pro_bonus:2026-02-13_14-54-56_2_.png |}}
==== Авторизация через логин/пароль пользователя ====
Аутентификация по данным пользователя является устаревшим, но рабочим способом взаимодействия с API.
Токен такого пользователя имеет ограниченное время действия. Время действия токена можно настроить из [[external:pro_bonus:01_setup:05_server_setting|админки]].
Аутентификация возможна через токен, который можно получить в разделе "Auth". (Если время жизни токена закончилось, аутентификацию нужно повторить, либо обновить через /api/v0/auth/refresh_token.)
Для того, чтобы получить нужный "accessToken", в интерфейсе "Probonus API", нужно раскрыть на эндпоинт /api/v0/auth/login и нажать "Try it out".
{{ :external:pro_bonus:2024-03-04_15-24-45.png |}}
Указать Логин и Пароль. Указать нужно в кавычках (вместо "string"), как показано в примере. После чего нажать на кнопку "Execute".
{{ :external:pro_bonus:2024-03-04_17-33-32.png |}}
Ниже откроется окно "Response body" в нём указан нужный токен. Его нужно скопировать без кавычек.
{{ :external:pro_bonus:2024-03-04_17-42-37.png |}}
Далее нужно нажать кнопку "Autorize" в шапке страницы и вставить скопированный токен, во всплывающем окне. После чего нажать дублирующую клавишу "Autorize", в этом же окне.
{{ :external:pro_bonus:2024-03-04_15-25-37.png |}}