ProBonus предоставляет REST API (JSON over HTTP) для интеграции с внешними системами: сайтом и мобильным приложением, службой доставки, CRM, системами отчётности. Общее описание API и типовые сценарии — в статьях ProBonus Api и Типовые сценарии.
Справочник построен по OpenAPI-схеме сервера ProBonus версии 65535.2.86.411 и содержит 285 методов в 8 разделах. Набор методов и полей зависит от версии ProBonus: актуальное описание для вашего сервера всегда доступно в интерактивной документации (Swagger) по адресу http:<сервер>:<порт>/docs — тот же адрес и порт, что и у веб-интерфейса ProBonus.
или во вкладке «ProBonus API» веб-интерфейса.http:<сервер ProBonus>:<порт>
===== Подключение =====
* Адрес:
Content-Type: application/json). Загрузка файлов — multipart/form-data.GET с параметрами в строке запроса; добавление, изменение, удаление и операции — POST с телом запроса в JSON./api/v0/…. Сегментные акции в актуальном формате (акция с несколькими действиями) — /api/v1/promotions/…; методы /api/v0/promotions/… сохранены для совместимости.Все методы, кроме отмеченных «Авторизация: не требуется», требуют авторизации одним из двух способов.
Используется веб-интерфейсом и подходит для интерактивных приложений.
POST /api/v0/auth/login, передав логин и пароль пользователя ProBonus:{ "login": "api_user", "password": "********" }
accessToken, срок его действия expire и refreshToken.Authorization: Bearer <accessToken>
POST /api/v0/auth/refresh_token. Сроки действия токенов задаются в настройках сервера (accessTokenValidMinutes, refreshTokenValidMinutes).
Рекомендуемый способ для интеграций с внешними системами (доступен с версии ProBonus 1.2.60.297). Создайте в веб-интерфейсе пользователя для API (или методом POST /api/v0/users/insert_api_user) и передавайте его бессрочный токен в заголовке:
X-API-Key: <токен пользователя API>
Важно! Права пользователя API ограничиваются его ролью: роль содержит перечень разрешённых методов (см. Роли). При вызове метода, не разрешённого ролью, сервер вернёт ответ 403. Выдавайте пользователю API только те методы, которые нужны интеграции.
accountGroupId), имена query-параметров — в стиле snake_case (account_group_id).number передаются в рублях с копейками в дробной части (например, 150.50). Обратите внимание: в базе данных те же суммы хранятся в копейках.2026-10-01, дата и время 2026-10-01T12:30:00.account_group_ids) передаются повторением параметра: ?account_group_ids=1&account_group_ids=5.restore).null.| Код | Значение | Тело ответа |
|---|---|---|
200 | Успешно | Результат (описан у каждого метода) |
202 | Запрос принят, выполняется в фоне | Идентификатор задачи |
204 | Успешно, без содержимого | — |
400 | Ошибка в данных запроса (бизнес-логика) | Массив ResponseErrorItem |
401 | Неверный логин/пароль или токен | Массив ResponseErrorItem |
403 | Нет прав на метод или объект | Массив ResponseErrorItem |
410 | Объект больше недоступен (удалён, истёк) | Массив ResponseErrorItem |
422 | Ошибка валидации (не тот тип, нет обязательного поля) | HTTPValidationError |
500 | Внутренняя ошибка сервера | Response500Error |
Формат ошибок:
// 400, 401, 403, 410 — массив ошибок
[ { "code": "ACCOUNT_NOT_FOUND", "message": "Счёт не найден" } ]
// 422 — ошибка валидации
{ "detail": [ { "loc": ["body", "amount"], "msg": "field required", "type": "value_error.missing" } ] }
// 500 — внутренняя ошибка
{ "class_name": "Exception", "message": "..." }
Коды и тексты ошибок в примере условные — сервер возвращает собственные значения.
# 1. Найти счёт по номеру телефона curl -H "X-API-Key: <токен>" "http://probonus:11030/api/v0/accounts/find_by_phone?phone=79991234567" # 2. Пополнить баланс найденного счёта на 100 руб. с отложенным на 1 день начислением curl -X POST -H "X-API-Key: <токен>" -H "Content-Type: application/json" \ -d '{"id": 123, "amount": 100, "reason": "Компенсация", "lateIssueDays": 1}' \ "http://probonus:11030/api/v0/accounts/refill"
| Раздел | Методов | Содержание |
|---|---|---|
| Авторизация, лицензия и пользователи | 19 | Получение и обновление токена, информация о лицензии, управление пользователями веб-интерфейса и API, роли и права. |
| Счета гостей | 58 | Поиск, создание и изменение счетов гостей, баланс, пополнение и изъятие, транзакции, теги, купоны, штампики, групповые операции, контакты в мессенджерах. |
| Справочники | 38 | Группы счетов, составные скидки, типы идентификаторов, рестораны, теги и группы тегов, товарные купоны. |
| Акции и сегменты | 47 | Сегментные акции (v1 и устаревшая v0), триггерные акции, «Штампики N+1», промокоды, сегменты гостей. |
| Рассылки, отзывы и Wallet | 16 | Отправка сообщений гостям, загрузка файлов, работа с отзывами, баланс и транзакции для карт Wallet. |
| Отчёты | 34 | Методы, формирующие отчёты веб-интерфейса, и получение содержимого чека. |
| Внешние продажи, импорт и инфокиоск | 10 | Регистрация продаж из внешних систем (не r_keeper), импорт счетов и потрат, страницы инфокиоска. |
| Настройки сервера | 63 | Чтение и изменение настроек ProBonus: БД, связь с r_keeper, антифрод, боты, Wallet, рассылки, политики, реферальная программа, ИИ. |
| Метод | Адрес | Назначение |
|---|---|---|
GET | /api/v0/accounts/activity_by_periods | Краткий отчёт "Активность по периодам" (день/7дней/неделя/30дней/месяц/всё время) |
POST | /api/v0/accounts/block | Блокировка элемента справочника "Счета" по заданному id |
POST | /api/v0/accounts/coupon_dish_delete | Удалить начисленный купон |
POST | /api/v0/accounts/coupon_dish_issue | Начислить купон на счёт |
POST | /api/v0/accounts/delete | Удаление элемента справочника "Счета" по заданному id |
GET | /api/v0/accounts/find_by_identifier | Чтение элемента справочника "Счета" по заданному идентификатору |
GET | /api/v0/accounts/find_by_phone | Чтение элемента справочника "Счета" по заданному номеру телефона |
GET | /api/v0/accounts/find_by_phone_part | Поиск счетов по части номера телефона |
GET | /api/v0/accounts/get | Чтение элемента справочника "Счета" по заданному id |
GET | /api/v0/accounts/get_available_bonuses | Баланс и сумма, доступная к оплате, по счетам |
GET | /api/v0/accounts/get_balance_extended | Получение информации о балансе счета по заданному id |
GET | /api/v0/accounts/get_last_raw_transactions | Последние транзакции счёта (без обработки) |
GET | /api/v0/accounts/get_temporary_identifier | Генерация временного идентификатора для счета по его id |
POST | /api/v0/accounts/group_operations/account_group_by_account_group | Групповая операция: перенос всех счетов группы в другую группу |
POST | /api/v0/accounts/group_operations/account_group_by_accounts | Групповая операция: смена группы для выбранных счетов |
POST | /api/v0/accounts/group_operations/add_draft_cards | Групповая операция: создание заготовок карт |
POST | /api/v0/accounts/group_operations/block_accounts_by_account_group | Групповая операция: блокировка всех счетов группы |
POST | /api/v0/accounts/group_operations/block_accounts_by_accounts | Групповая операция: блокировка выбранных счетов |
POST | /api/v0/accounts/group_operations/change_accounts_properties | Групповая операция: изменение свойств счетов |
POST | /api/v0/accounts/group_operations/change_tags_by_account_group | Групповая операция: изменение тегов всех счетов группы |
POST | /api/v0/accounts/group_operations/change_tags_by_accounts | Групповая операция: изменение тегов выбранных счетов |
POST | /api/v0/accounts/group_operations/change_valid_to_by_account_group | Групповая операция: срок действия всех счетов группы |
POST | /api/v0/accounts/group_operations/change_valid_to_by_accounts | Групповая операция: срок действия выбранных счетов |
POST | /api/v0/accounts/group_operations/delete_accounts_by_account_group | Групповая операция: удаление всех счетов группы |
POST | /api/v0/accounts/group_operations/delete_accounts_by_accounts | Групповая операция: удаление выбранных счетов |
POST | /api/v0/accounts/group_operations/discount_by_account_group | Групповая операция: скидка/бонус всех счетов группы |
POST | /api/v0/accounts/group_operations/discount_by_accounts | Групповая операция: скидка/бонус выбранных счетов |
POST | /api/v0/accounts/group_operations/limits_discount_by_account_group | Групповая операция: лимиты скидки/бонуса всех счетов группы |
POST | /api/v0/accounts/group_operations/limits_discount_by_accounts | Групповая операция: лимиты скидки/бонуса выбранных счетов |
POST | /api/v0/accounts/group_operations/limits_pay_by_account_group | Групповая операция: лимиты оплат всех счетов группы |
POST | /api/v0/accounts/group_operations/limits_pay_by_accounts | Групповая операция: лимиты оплат выбранных счетов |
POST | /api/v0/accounts/group_operations/messages_by_account_group | Групповая операция: сообщения для экрана/печати всех счетов группы |
POST | /api/v0/accounts/group_operations/messages_by_accounts | Групповая операция: сообщения для экрана/печати выбранных счетов |
POST | /api/v0/accounts/group_operations/phone_identifier_by_account_group | Групповая операция: телефон как идентификатор для всех счетов группы |
POST | /api/v0/accounts/group_operations/phone_identifier_by_accounts | Групповая операция: телефон как идентификатор для выбранных счетов |
POST | /api/v0/accounts/group_operations/refill_by_account_group | Групповая операция: пополнение баланса всех счетов группы |
POST | /api/v0/accounts/group_operations/refill_by_accounts | Групповая операция: пополнение баланса выбранных счетов |
POST | /api/v0/accounts/group_operations/withdrawal_by_account_group | Групповая операция: изъятие с баланса всех счетов группы |
POST | /api/v0/accounts/group_operations/withdrawal_by_accounts | Групповая операция: изъятие с баланса выбранных счетов |
POST | /api/v0/accounts/group_operations/zero_by_account_group | Групповая операция: обнуление баланса всех счетов группы |
POST | /api/v0/accounts/group_operations/zero_by_accounts | Групповая операция: обнуление баланса выбранных счетов |
POST | /api/v0/accounts/identifiers/generate_wallet_identifier | Сгенерировать wallet-идентификатор для счёта |
POST | /api/v0/accounts/insert | Добавление нового элемента справочника "Счета" |
POST | /api/v0/accounts/insert_by_template | Добавление нового элемента справочника "Счета" с автоматическим заполнением свойств счёта по шаблону группы счетов |
GET | /api/v0/accounts/list | Чтение списка элементов справочника "Счета" (все счета или счета из указанной группы) |
GET | /api/v0/accounts/promo_stamps | Штампики счёта и их транзакции |
POST | /api/v0/accounts/refill | Пополнение баланса счета с заданным id |
GET | /api/v0/accounts/tags/active | Получить список активных тегов счёта |
POST | /api/v0/accounts/tags/detach | Снять тег(и) со счетов |
POST | /api/v0/accounts/tags/set | Назначить тег(и) счетам |
GET | /api/v0/accounts/transactions | Отчёт по транзакциям по счету с заданным ID |
POST | /api/v0/accounts/unblock | Разблокировка элемента справочника "Счета" по заданному id |
POST | /api/v0/accounts/update | Обновление элемента справочника "Счета" по заданному id |
POST | /api/v0/accounts/withdrawal | Изъятие средств с баланса счета с заданным id |
POST | /api/v0/additional_contacts/add_additional_contact | Добавление контакта мессенджера к счёту |
GET | /api/v0/additional_contacts/find_account_by_additional_contact | Поиск счёта по контакту мессенджера |
GET | /api/v0/additional_contacts/get_by_type_and_value | Чтение контакта мессенджера по типу и значению |
POST | /api/v0/additional_contacts/insert_account_by_template_with_additional_contacts | Создание счёта по шаблону группы вместе с контактами мессенджеров |
| Метод | Адрес | Назначение |
|---|---|---|
POST | /api/v0/mailing/add_separate_message | Отправка отдельного сообщения гостю |
POST | /api/v0/mailing/cancel | Отмена рассылки |
GET | /api/v0/mailing/config | Доступные каналы рассылки |
POST | /api/v0/media/upload_files | Загрузка файлов (изображений) |
POST | /api/v0/reviews/add_answer | Ответ на отзыв |
POST | /api/v0/reviews/add_message | Добавление сообщения гостя в отзыв |
POST | /api/v0/reviews/close | Закрытие отзыва |
GET | /api/v0/reviews/get_all_in_process_by_account_id | Незавершённые отзывы гостя |
GET | /api/v0/reviews/get_all_in_process_opened_minutes_ago | Незавершённые отзывы, открытые N минут назад |
GET | /api/v0/reviews/get_by_id_extended | Чтение отзыва по id (расширенно) |
POST | /api/v0/reviews/insert | Создание отзыва |
GET | /api/v0/reviews/list | Список отзывов |
POST | /api/v0/reviews/mark_processed | Отметка отзыва как обработанного |
GET | /api/v0/wallet/get_balance | Баланс для карты Wallet |
GET | /api/v0/wallet/get_transactions | Транзакции для карты Wallet |
POST | /api/v0/wallet/request_invoice | Запрос счёта на оплату Wallet |
| Метод | Адрес | Назначение |
|---|---|---|
GET | /api/v0/reports/accounts_count_by_dates | Прирост гостевой базы |
GET | /api/v0/reports/anti_fraud_events | Отчет по "Антифроду" |
GET | /api/v0/reports/birthdays | Отчет "Дни рождения" |
GET | /api/v0/reports/coupons_turnover | Отчет "Оборот товарных купонов" |
GET | /api/v0/reports/dashboard/dashboard_accounts_counts_by_account_group | Дашборд количество счетов по группам счетов |
GET | /api/v0/reports/dashboard/dashboard_accounts_counts_by_ages | Дашборд количество счетов по возрасту |
GET | /api/v0/reports/dashboard/dashboard_accounts_counts_by_sex | Дашборд количество счетов по полу |
GET | /api/v0/reports/dashboard/sums_by_account_groups | Дашборд суммы по группам счетов |
GET | /api/v0/reports/dashboard/sums_by_days | Дашборд суммы по дням |
GET | /api/v0/reports/dashboard/sums_by_restaurants | Дашборд суммы по ресторанам |
GET | /api/v0/reports/download_accounts | Выгрузка всех элементов справочника "Счета" в xls файл |
GET | /api/v0/reports/first_transaction_date_time | Дата и время первой транзакции в базе |
GET | /api/v0/reports/identifiers | Отчет по типам идентификаторов |
GET | /api/v0/reports/inactive_accounts | Отчет "Бездействующие счета" |
GET | /api/v0/reports/lost_accounts | Отчет "Потерянные гости" |
GET | /api/v0/reports/loyalty_participants | Отчет по участникам программы лояльности |
GET | /api/v0/reports/mailings_history | История рассылок |
GET | /api/v0/reports/meals_with_subsidies | Отчет "Питание с дотациями" |
GET | /api/v0/reports/messages_by_mailing_id | Сообщения рассылки |
GET | /api/v0/reports/promocodes | Отчет "Промокоды" |
GET | /api/v0/reports/promotion_actuation_history | История запусков акций |
GET | /api/v0/reports/promotion_actuation_logs | Журнал применения акций |
GET | /api/v0/reports/promotion_actuation_logs_by_actuation_id | Журнал применения акции по запуску |
GET | /api/v0/reports/promotions_effectiveness | Отчет "Эффективность акций" |
GET | /api/v0/reports/referrals | Отчёт «Реферальная программа» |
GET | /api/v0/reports/referrals_graph | График по реферальной программе |
GET | /api/v0/reports/rfm | Отчёт «RFM-анализ» |
GET | /api/v0/reports/spent_by_days | Отчет "Потраты по дням" |
GET | /api/v0/reports/stamps | Отчет по штампикам |
GET | /api/v0/reports/stamps_graph | График штампиков |
GET | /api/v0/reports/sums | Отчет "Суммовой" |
GET | /api/v0/reports/top_guests | Топ гостей |
GET | /api/v0/reports/transactions | Отчет "Транзакции" |
GET | /api/v0/checks/get_by_id | Получение гостевого содержимого чека r_keeper по id |
| Метод | Адрес | Назначение |
|---|---|---|
POST | /api/v0/external/register_check | Регистрация внешней продажи |
POST | /api/v0/external/return_check | Отмена внешней продажи |
POST | /api/v0/import_data/import_parsed_rk_pds_row | Импорт в группу счетов |
POST | /api/v0/import_data/import_parsed_spending | Импорт распарсенных потрат в БД |
POST | /api/v0/import_data/import_previous_telegram_bot_db | Импорт базы предыдущей версии Telegram-бота |
GET | /api/v0/import_data/import_task_status | Проверка статуса задачи импорта по task_id |
POST | /api/v0/import_data/parse_rk_pds_csv | Загрузка (импорт) счетов из файла обмена (CSV) |
POST | /api/v0/import_data/parse_spending_csv | Парсинг CSV файла с потратами (идентификатор, сумма) |
GET | /screen/client/get/ | Страница инфокиоска (ввод карты) |
POST | /screen/client/get/ | Поиск гостя на инфокиоске |
| Метод | Адрес | Назначение |
|---|---|---|
GET | /api/v0/config/ai/get | Чтение настроек ИИ для отзывов |
POST | /api/v0/config/ai/update | Изменение настроек ИИ для отзывов |
GET | /api/v0/config/anti_fraud/get | Чтение настроек Антифрода |
POST | /api/v0/config/anti_fraud/notifications_tg_bot/register | Чтение списка получателей зарегистрировавшихся для получения уведомлений по событиям Антифрод |
POST | /api/v0/config/anti_fraud/notifications_tg_bot/update_receiver | Блокировка/разблокировка получателей уведомлений по событиям "Антифрода" |
POST | /api/v0/config/anti_fraud/update | Обновление настроек Антифрода |
GET | /api/v0/config/api_version | Версия API |
GET | /api/v0/config/app_version | Запрос версии приложения ProBonus |
GET | /api/v0/config/application/get | Чтение настроек ПО ProBonus |
POST | /api/v0/config/application/update | Обновление настроек ПО ProBonus |
POST | /api/v0/config/cash_settings/delete | Удаление профиля регистрации с кассы |
GET | /api/v0/config/cash_settings/get | Чтение профиля регистрации с кассы по id |
GET | /api/v0/config/cash_settings/get_by_token | Чтение профиля регистрации с кассы по токену |
POST | /api/v0/config/cash_settings/insert | Добавление профиля регистрации с кассы |
GET | /api/v0/config/cash_settings/list | Список профилей регистрации с кассы |
POST | /api/v0/config/cash_settings/update | Изменение профиля регистрации с кассы |
GET | /api/v0/config/db/available_databases | Ввод строки соединения с БД |
GET | /api/v0/config/db/available_drivers | Запрос доступного драйвера для БД клиента |
GET | /api/v0/config/db/check_connection_string | Проверка настроек соединения с БД |
GET | /api/v0/config/db/connection_string | Запрос строки соединения с БД |
POST | /api/v0/config/db/create | Создание структуры БД |
GET | /api/v0/config/db/info | Запрос информации о БД |
POST | /api/v0/config/db/update | Обновление версии БД (при обновлении версии ПО) |
POST | /api/v0/config/db/update_connection_string | Обновление строки соединения с БД |
GET | /api/v0/config/info_kiosk/get | Чтение настроек инфокиоска |
POST | /api/v0/config/info_kiosk/update | Изменение настроек инфокиоска |
GET | /api/v0/config/mailing/get | Чтение настроек рассылок |
POST | /api/v0/config/mailing/update | Изменение настроек рассылок |
GET | /api/v0/config/max_bot/get | Чтение настроек MAX-бота |
GET | /api/v0/config/max_bot/get_bot_info | Информация о MAX-боте по токену |
GET | /api/v0/config/max_bot/get_phrases_meta | Список настраиваемых фраз MAX-бота |
POST | /api/v0/config/max_bot/update | Изменение настроек MAX-бота |
GET | /api/v0/config/max_bot/validate_token | Проверка токена MAX-бота |
GET | /api/v0/config/policies/get | Чтение текстов политик и согласий |
POST | /api/v0/config/policies/update | Изменение текстов политик и согласий |
GET | /api/v0/config/r_keeper/bonus_types/get | Чтение справочника "Тип бонуса" из r_keeper |
GET | /api/v0/config/r_keeper/connection/check | Проверка связи с r_keeper |
GET | /api/v0/config/r_keeper/connection/get | Чтение настроек связи с r_keeper |
POST | /api/v0/config/r_keeper/connection/update | Обновление настроек связи с r_keeper |
GET | /api/v0/config/r_keeper/discounts/get | Чтение справочника "Скидки" из r_keeper |
GET | /api/v0/config/r_keeper/extended/get | Чтение кода "Нулевой скидки" |
POST | /api/v0/config/r_keeper/extended/update | Обновление кода "Нулевой скидки" |
GET | /api/v0/config/r_keeper/menu_items/get | Чтение справочника "Меню" из r_keeper |
GET | /api/v0/config/referral_program/get | Чтение настроек реферальной программы |
POST | /api/v0/config/referral_program/update | Изменение настроек реферальной программы |
GET | /api/v0/config/server/get | Чтение настроек сервера ProBonus |
POST | /api/v0/config/server/update | Обновление настроек сервера ProBonus |
GET | /api/v0/config/telegram_bot/get | Чтение настроек Telegram-бота |
GET | /api/v0/config/telegram_bot/get_bot_info | Информация о Telegram-боте по токену |
GET | /api/v0/config/telegram_bot/get_phrases_meta | Список настраиваемых фраз Telegram-бота |
POST | /api/v0/config/telegram_bot/import_config | Импорт настроек Telegram-бота из файла |
POST | /api/v0/config/telegram_bot/import_description_and_politics | Импорт описания и политик Telegram-бота из файла |
POST | /api/v0/config/telegram_bot/update | Изменение настроек Telegram-бота |
GET | /api/v0/config/wallet/card_templates/get | Чтение шаблона карты Wallet |
POST | /api/v0/config/wallet/card_templates/insert | Добавление шаблона карты Wallet |
GET | /api/v0/config/wallet/card_templates/list | Список шаблонов карт Wallet |
POST | /api/v0/config/wallet/card_templates/update | Изменение шаблона карты Wallet |
GET | /api/v0/config/wallet/locations/get | Чтение геолокаций Wallet |
POST | /api/v0/config/wallet/locations/update | Изменение геолокаций Wallet |
GET | /api/v0/config/wallet_guest_form/get | Чтение настроек формы гостя Wallet |
POST | /api/v0/config/wallet_guest_form/update | Изменение настроек формы гостя Wallet |
GET | /api/v0/config/wallet_main/get | Чтение основных настроек Wallet |
POST | /api/v0/config/wallet_main/update | Изменение основных настроек Wallet |