| Следующая версия | Предыдущая версия |
| external:pro_bonus:10_probonus_api:50_db_info [2026/10/20 08:05] – создано Алексей Коробов | external:pro_bonus:10_probonus_api:50_db_info [2026/10/20 08:31] (текущий) – [Режимы чека (chmode)] Александр Ильин |
|---|
| В статье описана структура базы данных системы лояльности ProBonus: таблицы, поля, ключи, индексы и связи между ними. Статья предназначена для специалистов, которые сопровождают систему, строят собственные отчёты по данным ProBonus или интегрируют её с внешними системами. | В статье описана структура базы данных системы лояльности ProBonus: таблицы, поля, ключи, индексы и связи между ними. Статья предназначена для специалистов, которые сопровождают систему, строят собственные отчёты по данным ProBonus или интегрируют её с внешними системами. |
| |
| Описание соответствует **версии схемы БД 00088** (ProBonus 1.2.8x). Номер версии схемы конкретной базы хранится в таблице ''db_information'', поле ''version_num''. | Описание соответствует **версии схемы БД 00088** (ProBonus 1.2.86.411). Номер версии схемы конкретной базы хранится в таблице ''db_information'', поле ''version_num''. |
| |
| **Важно!** Структуру БД создаёт и обновляет сервер ProBonus при подключении к базе и при обновлении версии. Не изменяйте структуру и данные таблиц вручную — все операции со счетами, балансами и акциями выполняйте через [[external:pro_bonus:03_probonus_work:01_webadmin|веб-интерфейс]] или [[external:pro_bonus:10_probonus_api|ProBonus API]]. Прямые SQL-запросы к базе допустимы только **на чтение** (например, для отчётов). | **Важно!** Структуру БД создаёт и обновляет сервер ProBonus при подключении к базе и при обновлении версии. Не изменяйте структуру и данные таблиц вручную — все операции со счетами, балансами и акциями выполняйте через [[external:pro_bonus:03_probonus_work:01_webadmin|веб-интерфейс]] или [[external:pro_bonus:10_probonus_api|ProBonus API]]. Прямые SQL-запросы к базе допустимы только **на чтение** (например, для отчётов). |
| | [[#реферальная_программа|Реферальная программа]] | ''referral_program'', ''account_referral'' | Настройки программы и связи «пригласивший — приглашённый» | | | [[#реферальная_программа|Реферальная программа]] | ''referral_program'', ''account_referral'' | Настройки программы и связи «пригласивший — приглашённый» | |
| | [[#рассылки_боты_и_отзывы|Рассылки, боты и отзывы]] | ''mailing'', ''mailing_message'', ''message_content'', ''message_content_media'', ''media'', ''review'', ''review_message'', ''policy_text_version'' | Рассылки и сообщения гостям, отзывы, тексты политик | | | [[#рассылки_боты_и_отзывы|Рассылки, боты и отзывы]] | ''mailing'', ''mailing_message'', ''message_content'', ''message_content_media'', ''media'', ''review'', ''review_message'', ''policy_text_version'' | Рассылки и сообщения гостям, отзывы, тексты политик | |
| | [[#wallet|Wallet]] | ''wallet_cards_template'', ''wallet_device_cards'' | Карты Apple/Google Wallet | | | [[#wallet|Wallet]] | ''wallet_cards_template'', ''wallet_device_cards'' | Карты Apple Wallet | |
| | [[#интеграция_с_r_keeper_и_кассами|Интеграция с r_keeper и кассами]] | ''rkeeper_bonus_types'', ''rkeeper_discount_tree'', ''cash_registration_settings'' | Кэш справочников r_keeper, регистрация гостей с кассы | | | [[#интеграция_с_r_keeper_и_кассами|Интеграция с r_keeper и кассами]] | ''rkeeper_bonus_types'', ''rkeeper_discount_tree'', ''cash_registration_settings'' | Кэш справочников r_keeper, регистрация гостей с кассы | |
| | [[#пользователи_веб-интерфейса|Пользователи веб-интерфейса]] | ''user'', ''user_role'', ''user_role_right'', ''user_refresh_token'', ''user_db_object_permission'' | Пользователи, роли, права и сессии | | | [[#пользователи_веб-интерфейса|Пользователи веб-интерфейса]] | ''user'', ''user_role'', ''user_role_right'', ''user_refresh_token'', ''user_db_object_permission'' | Пользователи, роли, права и сессии | |
| ===== Режимы чека (chmode) ===== | ===== Режимы чека (chmode) ===== |
| |
| Поле ''chmode'' в таблицах ''transaction'' и ''check'' (а также атрибут ''chmode'' тега ''CHECK'' в XML чека) содержит режим чека r_keeper, переданный кассой через FarCards. Значения определены r_keeper — см. [[https://docs.rkeeper.ru/rk7/latest/ru/xml-opisanie-kassovogo-dokumenta-dlya-predostavleniya-vneshnim-sistemam-19599873.html|XML описание кассового документа для предоставления внешним системам]]. | Поле ''chmode'' в таблицах ''transaction'' и ''check'' (а также атрибут ''chmode'' тега ''CHECK'' в XML чека) содержит режим чека r_keeper, переданный кассой через FarCards. |
| В таблицах ProBonus на практике встречаются только значения ''1'' (оплата) и ''3'' (возврат) — транзакции по завершённым кассовым операциям. У ручных операций (без чека) ''transaction.chmode'' равно ''NULL''. | В таблицах ProBonus на практике встречаются только значения ''1'' (оплата) и ''3'' (возврат) — транзакции по завершённым кассовым операциям. У ручных операций (без чека) ''transaction.chmode'' равно ''NULL''. |
| |
| ^ Значение ^ Константа r_keeper ^ Режим ^ Встречается в БД ProBonus ^ | ^ Значение ^ Константа r_keeper ^ Режим ^ Встречается в БД ProBonus ^ |
| | ''0'' | ''XMLchmodeNotCheck'' | Не чек: вызов вне чека или технический вызов (например, получение имени клиента) | нет | | |
| | ''1'' | ''XMLchmodeSale'' | **Оплата** — касса проводит оплату заказа | **да** | | | ''1'' | ''XMLchmodeSale'' | **Оплата** — касса проводит оплату заказа | **да** | |
| | ''2'' | ''XMLchmodeSaleRollback'' | Откат оплаты: касса не смогла корректно завершить оплату после подтверждения транзакции | нет | | |
| | ''3'' | ''XMLchmodeReturn'' | **Возврат** чека после успешного оформления | **да** | | | ''3'' | ''XMLchmodeReturn'' | **Возврат** чека после успешного оформления | **да** | |
| | ''4'' | ''XMLchmodeReturnRollback'' | Откат возврата: касса не смогла корректно завершить возврат после подтверждения | нет | | |
| | ''5'' | ''XMLchmodeOrderEditing'' | Режим заказа (заказ не завершён) | нет | | |
| | ''6'' | ''XMLchmodeOrderBill'' | Печать пречека | нет | | |
| | ''7'' | ''XMLchmodeOrderCalc'' | Режим расчёта (заказ готов к завершению) | нет | | |
| | ''8'' | ''XMLchmodePrintCardInfo'' | Печать информации о карте | нет | | |
| | ''9'' | ''XMLchmodeInitEntranceCardOrder'' | Создание заказа в режиме «карта на входе» | нет | | |
| | ''10'' | ''XMLchmodePrintAfterTransaction'' | Печать слипов после транзакций | нет | | |
| | ''11'' | ''XMLchmodeServPrint'' | Сервис-печать (заказ не завершён) | нет | | |
| | ''12'' | ''XMLchmodeCancelBill'' | Отмена пречека | нет | | |
| | ''13'' | ''XMLchmodeBeforeReceipt'' | Перед транзакциями | нет | | |
| |
| **Важно!** Для определения возврата используйте ''chmode = 3''. Поле ''transaction.is_return'' признаком возврата чека не является: у кассовых транзакций оно содержит ''0'' или ''NULL'' независимо от режима чека. | **Важно!** Для определения возврата используйте ''chmode = 3''. Поле ''transaction.is_return'' признаком возврата чека не является: у кассовых транзакций оно содержит ''0'' или ''NULL'' независимо от режима чека. |