Программа лояльности для кассы Frontol 6
Frontol 6 сам обращается к «Снове»: гость по карте или телефону, потолок списания, оплата бонусами по позициям, чек и возврат. Адрес и ключ из кабинета — в настройки кассы, ничего ставить не нужно.
Frontol 6 умеет работать с внешней системой лояльности по своему протоколу — Frontol Loyalty API. Касса сама обращается к «Снове»: находит гостя по штрихкоду карты из кошелька или по телефону, показывает кассиру баланс и потолок списания, списывает баллы скидкой по позициям и проводит чек и возврат. На кассу ничего не ставится, наш экран кассы не нужен — всё происходит на привычном экране Frontol.
Что получает магазин
| У кассы | Как это работает |
|---|---|
| Гость назван в чеке | Кассир сканирует карту из кошелька гостя (штрихкод на карте) или вводит телефон. Frontol спрашивает у «Сновы», кто это, и показывает баланс, уровень и штампы. |
| Скидка правилом | Если в программе есть прямая скидка (например, «уровень „Золото“ — 5 %»), она ложится в чек по позициям ещё до оплаты. |
| Оплата бонусами | Кассир вводит сумму — «Снова» раскладывает её по позициям с учётом минимальных цен товаров и не даёт списать больше потолка программы. |
| Начисление по чеку | После закрытия фискального чека касса присылает его «Снове»: баллы начисляются с оплаченной деньгами суммы, штампы прибавляются, карта в телефоне обновляется. |
| Возврат | Возврат по чеку продажи откатывает начисленное и возвращает списанное — частичный тоже. |
| Слип | На чек допечатывается слип: списано, начислено, баланс. |
| Чеки без карты | Frontol присылает все чеки, даже без гостя. В кабинете видно, сколько покупок прошло мимо программы. |

Подключение — три шага
Выдайте подключение в кабинете
Раздел «Интеграции» → «Кассы и системы» → карточка «Frontol 6 (Атол)» → «Выдать подключение». Назовите его по магазину или кассе. Кабинет покажет URL сервера и ключ доступа — ключ показывается один раз, скопируйте оба.
Впишите их в настройки Frontol
Frontol Администратор → Настройки → Системные → РМ и оборудование → Платёжные системы → Устройства: добавьте платёжную систему, в «Свойствах» драйвера выберите тип АС «Frontol Priority API», в «Параметрах АС» впишите веб-адрес сервера лояльности и ключ доступа. Идентификатор магазина — любая строка, по ней касса будет привязана к точке. В узле «Платёжные системы» включите «Обращаться в СЛ при изменении позиций в чеке», а в «Справочники → Глобальный контроль» поставьте «Минимальная цена: Товар» — иначе касса не передаёт минимальные цены товаров, и списать бонусы можно будет ниже них.
Свяжите подразделение с точкой
После первого чека в карточке появится подразделение кассы — тот самый идентификатор магазина из настроек Frontol. Выберите для него точку продаж «Сновы»: без этого работают только общие правила программы, а правила по точкам и отчёт по точкам молчат.



Если касс несколько, подключение можно выдать одно на все или по одному на кассу — второе удобнее, когда кассы обслуживают разные интеграторы: отзыв ключа тогда бьёт по одной.
Что делает кассир
Всё — из меню «Операции платёжной системы» (в стандартной раскладке Ctrl+F8). Порядок на чеке: пробить товары → «Ввод бонусной карты» (сканером с карты в кошельке или «по телефону») → при желании гостя «Оплата внешним бонусом» → расчёт как обычно. После ввода карты чек редактировать нельзя — так устроен Frontol; передумали — «Отмена оплаты внешним бонусом» или отмена документа.



Гость без карты: «Анкета клиента» в том же меню — кассир вводит телефон и имя, отмечает согласие, и карта выпускается тут же; ссылка на установку в телефон печатается на слипе QR-кодом. Фамилию форма не спрашивает: Frontol не умеет необязательных полей, а гость допишет её сам в карте.

Чужая карта — Frontol покажет наш текст «Гость не в программе „Снова“: предложите карту по QR-коду или снимите карту с чека». Списание выше потолка — «Бонусами можно оплатить не больше N руб.». Если минимальные цены товаров не дают списать названную сумму, «Снова» откажет сразу с суммой, которую можно, — а не отдаст распределение, которое касса заблокировала бы молча.

Для интегратора
Протокол — Frontol Loyalty API v1.0 по руководству интегратора Атола. «Снова» отвечает на все запросы, кроме подарочных карт: у нас их нет, касса получит «новая» на запрос статуса и отказ на активацию. Подпись стандартная — FrontolAuth от ключа доступа и тела запроса:
Заголовок запроса
Authorization: FrontolAuth md5(<ключ доступа> + <тело запроса>)| Запрос | Что делает «Снова» |
|---|---|
| calculate | находит гостя, отдаёт availableAmount (потолок в рублях), скидку правилом по позициям, текст кассиру |
| payByBonus | проверяет сумму против потолка и минимальных цен, отдаёт paidAmount по позициям и заново discountAmount — касса помнит только последний ответ |
| cancelBonusPayment | подтверждает и возвращает скидку правилом по позициям — резерва нет, списание проводится по чеку |
| confirm (receipt) | проводит чек: начисление с оплаченного деньгами, списание из payments[type=bonus]; повтор по uid — пусто |
| confirm (refundReceipt) | возврат по referenceUid, частичный по позициям |
| /client | баланс и уровень кассиру |
| /extra/client | анкета с кассы: форма (телефон, имя, согласие), проверка, выдача карты и слип с QR на установку |
| /giftCard | подарочных карт нет |
| coupons[] в чеке | коды купонов не гасятся — купон применяется на экране кассы «Сновы», не через Frontol |
Все ошибки по существу приходят при HTTP 200 с code ≠ 0 и текстом в error; 403 — только неверная подпись или отозванное подключение. Офлайн-чеки из очереди кассы (isDeferred) принимаются с временем чека, а не получения. Путь со слешем на конце (/document/), фигурные скобки в uid и minimumPrice: 0 при выключенном контроле цены — так шлёт Frontol 6.29, и всё это принимается как есть.
Текст кассиру (cashierInformation) касса показывает модальным окном на каждый пречек, а пречек при включённом «Обращаться в СЛ…» идёт на каждую позицию. Поэтому «Снова» отдаёт окно только на первый пречек чека, остальные ответы несут скидку и потолок молча.
Частые вопросы
Нужно ли ставить что-то на кассу Frontol?
Нет. Frontol 6 сам обращается к «Снове» по своему протоколу внешней лояльности. В настройки кассы вписываются адрес и ключ из кабинета, и всё.
На каком тарифе Frontol это работает?
В тарифе «Полный» — в нём есть подключение внешних систем лояльности. «Базовый» знает только встроенную лояльность Атола.
Что будет, если у кассы пропал интернет?
Касса спросит «Сервер системы лояльности недоступен. Повторить операцию?» — на «Нет» чек продолжится без скидки и без списания. Он закроется, а после восстановления связи Frontol дошлёт его из очереди сам, и баллы начислятся с фактической суммы.
После оплаты бонусом пропала скидка по программе. Это ошибка?
Нет, так работает Frontol при включённом контроле минимальной цены: скидку правилом он принимает только в ответе на пречек, а при оплате бонусом снимает. «Снова» предупреждает кассира в окне оплаты и называет сумму. Вернуть скидку — отменить оплату бонусом и ввести карту заново. Нужны и скидка, и баллы на одном чеке — выключите «Минимальная цена» в «Глобальном контроле» Frontol.
Касса пишет «Начислено 0 баллов», хотя правила заведены. Почему?
Чаще всего правила начисления привязаны к точкам, а подразделение кассы ещё не связано с точкой: чек тогда идёт «без точки», и точечные правила молчат — сработали бы только общие. Откройте карточку Frontol в кабинете и выберите точку для подразделения; кабинет сам предупреждает об этом, когда у программы есть точечные правила. Второй случай — оплата бонусом: баллы начисляются с суммы, оплаченной деньгами, и на маленьком чеке с большим списанием могут округлиться в ноль.
Как проверить связь, не проводя настоящий чек?
Пробейте товар, введите карту гостя из вашей базы и отмените документ: если в окне показался баланс, касса и «Снова» видят друг друга. В карточке Frontol в кабинете при этом появится «Касса ходит» с временем последнего запроса.
Первые 50 карт — бесплатно. Программа настраивается за вечер.
Создать программу
Снова







