# Интеграционный ландшафт российской SaaS-платформы лояльности: POS/кассы, e-commerce, CRM/запись, каналы коммуникации и checkout API (состояние на сентябрь 2026)

Условные обозначения:
- **[после 2022]** — факт или изменение, возникшее после 2022 года (санкции, уход сервисов, блокировки).
- **(сниппет)** — факт взят из поисковой выдачи или заголовка страницы; полную страницу открыть не удалось или она не открывалась. Такие факты надо перепроверить перед использованием в итоговом отчёте.
- Ограничение исследования: лимит WebSearch на сессию был исчерпан параллельными исследователями примерно на трети работы. Дальше использовались только прямые загрузки известных URL (WebFetch), поэтому часть вопросов ушла в Gaps.

---

## 1. POS/кассовое ПО и бэк-офис: как подключается внешняя лояльность, какие данные передаются, офлайн, партнёрство, маркетплейсы, доли рынка

### Takeaway
Единого отраслевого стандарта нет. Каждая кассовая система задаёт свой способ подключения, и их можно разделить на четыре группы:
1. **POS сама вызывает REST-сервер вендора по опубликованной спецификации.** Пример — МойСклад Loyalty API. Это самый дешёвый вариант для вендора.
2. **Вендор пишет плагин или приложение внутри POS.** Так устроены iikoFront (.NET-плагин с лицензией iiko), Эвотор (Android-приложение в Эвотор.Маркете, разработчику 50% выручки), Set Retail 10 (Java-плагин на Set API), r_keeper (ExtDLL для FarCards), расширения 1С.
3. **Коннектор пишет сам вендор POS («нативная» интеграция).** Так устроены Frontol 6 (нативные интеграции плюс платный Priority API), Tillypad, Saby Presto и Artix.
4. **Внешняя лояльность закрыта.** Пример — АТОЛ Sigma.

На рынке HoReCa два лидера: iiko и r_keeper (каждая заявляет около 70 тыс. точек). Выручка iiko в 2023 году была примерно в 6 раз больше. В рознице по онлайн-кассам (вторичные данные NPD) лидирует АТОЛ (~35%), затем Эвотор (~28%).

### Cited Findings

#### Сводная таблица механизмов (подробности и источники ниже)
| Система | Механизм подключения внешней лояльности | Кто пишет и поддерживает коннектор | Дистрибуция и деньги |
|---|---|---|---|
| Эвотор | Android-приложение на смарт-терминале (integration library: ReceiptDiscountEvent, PaymentSystem и др.) | Вендор лояльности | Эвотор.Маркет, разработчику 50% |
| Frontol 6 / xPOS (АТОЛ) | «Нативные» интеграции внутри Frontol или открытый Frontol Priority API (продаётся отдельно) | АТОЛ (нативные) / вендор (Priority API) | Лицензии АТОЛ через дилеров |
| АТОЛ Sigma | Внешняя лояльность закрыта (кроме 1С) (сниппет) | — | — |
| 1С (Розница/УТ/УНФ/РМК/Касса) | Встроенный «сервер лояльности» 1С; внешние вендоры поставляют расширения конфигурации | Вендор / франчайзи 1С | Прямые продажи вендора |
| iiko | Плагин iikoFront API (.NET) + лицензируемый модуль iiko; iikoCloud API | Вендор, лицензия через iiko и дилера | Маркетплейс iiko с инспекцией кода |
| r_keeper 7 | FarCards + ExtDLL (GetCardInfoEx/TransactionsEx), PDS/CRM | Вендор (DLL) | Внедрение через дилеров |
| Set Retail 10 | Java-плагины Set API (loyalty plugin + card plugin) | Вендор | По правилам CSI для внешних разработчиков |
| МойСклад (Касса) | Loyalty API: МойСклад сам вызывает REST вендора | Вендор (серверное решение) | Каталог решений МоегоСклада |
| Saby Presto | Нативные интеграции Saby (PremiumBonus, UDS); API Presto | Saby | Токен на точку от вендора |
| Tillypad XL | Нативные интеграции Tillypad (PremiumBonus, LOONA и др.) | Tillypad | — |
| Контур.Маркет | API только для данных (клиенты и акции); в реальном времени на кассе — не описано | — | API бесплатен |
| Poster | Платформа приложений, 30% комиссия; в РФ, по-видимому, не работает | Вендор | Каталог Poster |

#### Эвотор
- Модель монетизации в Эвотор.Маркете: «При подписочной модели и при разовой оплате базовое вознаграждение разработчику составляет 50%». Основная модель — подписка. Разовая оплата допускается только в категории «Драйверы». Revenue share возможен в исключительных случаях для платёжных и финансовых приложений по согласованию с менеджером. Бесплатное размещение при подписочной и разовой моделях не допускается. — [developer.evotor.ru/conditions/tariffication.html](https://developer.evotor.ru/conditions/tariffication.html)
- НДС: если ПО не входит в реестр отечественного ПО, Эвотор добавляет 20% НДС к цене для клиента. Максимальный trial зависит от категории: редакторы товаров — 7 дней, интеграции с 1С — 30 дней, товароучёт и CRM — 14 дней. Цены в документе «ориентировочные», тарифы согласуются с менеджером. — [developer.evotor.ru/conditions/tariffication.html](https://developer.evotor.ru/conditions/tariffication.html)
- Три варианта публикации: открыто для всех (стандартные условия после прохождения проверки), по прямой ссылке, для ограниченного списка пользователей. Контакт — developer@evotor.ru. — [developer.evotor.ru/conditions/](https://developer.evotor.ru/conditions/)
- Способы взаимодействия приложения со смарт-терминалом: события (events), команды и broadcast-сообщения. Для лояльности важны:
  - `ReceiptDiscountEvent` — скидка на чек;
  - `BeforePositionsEditedEvent` — изменение позиций;
  - `PaymentSelectedEvent` и `PaymentDelegatorEvent` — разделение оплаты и передача оплаты другому приложению;
  - `PaymentSystemEvent`/`PaymentSystemSellEvent` — сторонняя платёжная система, которую можно использовать для оплаты баллами;
  - `PrintExtraRequiredEvent` — печать произвольных данных внутри фискального чека;
  - `SellReceiptBroadcastReceiver` и др.
  — [developer.evotor.ru/docs/doc_app_integration_points.html](https://developer.evotor.ru/docs/doc_app_integration_points.html)
- Скидка через `ReceiptDiscountEvent`:
  - процессор подписывается на `evo.v2.receipt.sell.receiptDiscount`;
  - результат `ReceiptDiscountEventResult` содержит сумму скидки в валюте, `SetExtra`, список изменений позиций (`changes`) и `SetPurchaserContactData(email, phone)` для электронного чека;
  - скидка на позицию задаётся полем `priceWithDiscountPosition`;
  - ограничение UX: «Приложение не может автоматически применять скидку, перед этим его требуется вручную вызвать» (кассир нажимает иконку на экране оплаты).
  — [developer.evotor.ru/docs/doc_java_discounts.html](https://developer.evotor.ru/docs/doc_java_discounts.html)
- Существуют константы для чеков продажи и возврата (`evo.v2.receipt.payback.receiptDiscount`) (сниппет). — [ReceiptDiscountEvent](https://developer.evotor.ru/integration-library/ru/evotor/framework/core/action/event/receipt/discount/ReceiptDiscountEvent.html)
- Пример вендора: SWiP ставится из Эвотор.Маркета (категория «Лояльность») и работает прямо на смарт-терминале. Биллинг смешанный: «часть суммы идёт через Эвотор.Маркет, остальное — по счёту от SWiP». — [swip.one/integrations](https://swip.one/integrations/)
- В Эвотор.Маркете 500+ приложений. Эвотор входит в группу Сбербанка. — [vc.ru (обзор Эвотор 2026)](https://vc.ru/rating_top/2968085-evotor-obzor-smart-kass-i-sravnenie-s-alternativami)

#### АТОЛ: Frontol 6, Frontol xPOS, Frontol Discount Unit, Sigma
- Frontol 6 поддерживает «2 вида интеграции с внешними системами лояльности»:
  1. **Нативные:** Frontol Discount Unit, АСТОР: RS.Loyalty, Loymax, Manzana Loyalty 2013 SP1, RightWay, РИТМ 2000 CRM, Platius.
  2. **Через Priority API (поставляется отдельно):** RightWay, TradeLine, BMS Loyalty, City Life, SailPlay, LOYA, CloudLoyalty, ProgBonus, ABM Loyalty и др.

  В документе сказано: «С помощью Frontol Priority API можно подключить практически любую систему лояльности». Цена Frontol 6 — 17 500 ₽ (бессрочная лицензия плюс годовая подписка на обновления). — [robotx.ru, PDF «Подробное описание Frontol 6»](https://www.robotx.ru/certificates/53-Podrobnoe_opisanie_i_kharakteristiki_Frontol_6)
- Frontol xPOS подключает лояльность через Frontol Discount Unit и Frontol Priority API. У Frontol 6 дополнительно есть RX-Loyalty. — [robotx.ru: сравнение Frontol 6 и xPOS](https://www.robotx.ru/avtomatizaciya-torgovli/kassovie-programmi-frontol-atol/sravnenie-frontol-6-i-frontol-xpos/)
- Frontol Discount Unit (FDU) — собственная система лояльности АТОЛ:
  - работает с Frontol 6, Frontol 5 (с 5.17), Frontol xPOS (с 1.9.6) и Frontol Simple, под Windows и Linux;
  - «REST API — интеграция с другими информационными системами»;
  - SMS, история операций;
  - цена от 10 000 ₽, лицензии поставляются только электронной отгрузкой.
  — [kkm-centr.ru: Frontol Discount Unit](https://kkm-centr.ru/katalog/programmnoe-obespechenie-po/frontol/frontol-discount-unit/)
- Пример вендора: интеграция SWiP с Frontol 6 «сделана вместе с АТОЛ». Кассир выбирает «Ввод бонусной карты → Система лояльности SWiP». — [swip.one/integrations](https://swip.one/integrations/)
- АТОЛ Sigma: у кассы свой модуль лояльности (акции, накопительные скидки, карты). Интеграция Sigma с внешними системами учёта и лояльности, кроме 1С, закрыта (сниппет; страница вернула 403). — [support.sigma.ru](https://support.sigma.ru/hc/ru/articles/360022275973-Интегрируется-ли-SIGMA-с-другим-ПО-); [pos-shop.ru: «Новая лояльность в SIGMA»](https://www.pos-shop.ru/news/novaya-loyalnost-v-sigma/) (сниппет)

#### 1С (1С:Розница, 1С:УТ, 1С:УНФ, 1С:РМК, 1С:Касса)
- 1С:РМК работает через «сервер лояльности»: все настройки скидок, бонусов и дисконтных карт хранятся в основной программе.
  - Бэк-офисом могут быть «Управление торговлей» 11, «Комплексная автоматизация» 2, «ERP» 2, «УНФ» 3.0, «Розница» 3.0 и 2.3.
  - Встроенное в конфигурацию «новое РМК» сервер лояльности не использует.
  - Встроенные механики: бонусные программы (например, начисление 5%, списание до 50% чека), бонусы ко дню рождения, сгорание баллов, подарочные сертификаты, промокоды, подарки.
  — [torg.1c.ru: программы лояльности в 1С:РМК](https://torg.1c.ru/articles/kak-primenyat-programmy-loyalnosti-v-1s-rmk/)
- 1С:Касса подключается к серверу лояльности, опубликованному из 1С:Розницы или 1С:УНФ (нужны адрес, логин и пароль). Поиск карты — по телефону, email или номеру. Карта «блокируется на сервере лояльности до пробития, отложения или отмены чека». — [torg.1c.ru: подключение 1С:Кассы к серверу лояльности](https://torg.1c.ru/articles/kak-podklyuchit-1s-kassu-k-serveru-loyalnosti-na-primere-1s-roznitsy/)
- Чтобы опубликовать HTTP-сервис «Сервер лояльности» из локальной 1С:Розницы или УНФ, нужны внешний статический IP и веб-сервер (Apache или IIS) (сниппет). — [its.1c.ru](https://its.1c.ru/db/content/answers1c/src/%D1%83%D0%BD%D1%84/%D1%83%D0%BD%D1%84_202210125_%D0%BE%D0%BF%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_web_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81.htm)
- Внешние вендоры поставляют **расширения конфигураций**. Например, у SWiP есть расширения для 1С:Розница 3 и 1С:УТ 11; кассир идентифицирует покупателя по телефону или Wallet-карте. — [swip.one/integrations](https://swip.one/integrations/)
- В каталоге интеграций 1С есть «1С-Рарус: Система управления лояльностью» для 1С:Розница 8 и 1С:УНФ 8. Единый стандарт API для внешних систем лояльности на этой странице не описан. — [ext.1c.ru/integration/13](https://ext.1c.ru/integration/13)

#### iiko (iikoFront, iikoCard, iikoCloud)
- Плагины iikoFront API лицензируются обязательно:
  - нужны лицензия разработчика, идентификатор лицензируемого модуля (`PluginLicenseModuleId`) и договор с iiko; запрос направляется на api@iiko.ru;
  - схемы лицензирования: «per-instance» (по числу одновременно запущенных экземпляров) и «per-external-connection» (слоты, `AcquireSlot()`);
  - версии API: V8 (устарела), V9 (текущая), V10 (preview).
  — [iiko.github.io/front.api.doc/licensing.html](https://iiko.github.io/front.api.doc/licensing.html)
- Пример Teyca: плагин для iikoFront, скачиваемый под конкретную версию iiko, плюс лицензия «Connector for Teyca», которую устанавливает дилер iiko. Для номенклатуры опционально нужна лицензия CLOUD API. — [docs.teyca.ru: интеграция с iiko](https://docs.teyca.ru/subarticle/integration-iiko)
- Пример SWiP: официальный плагин в разделе «Специальные решения» iiko. — [swip.one/integrations](https://swip.one/integrations/)
- iikoCloud API:
  - авторизация `/api/1/access_token`, стандартный срок жизни токена — 1 час;
  - эндпоинты лояльности iikoCard: `/api/1/loyalty/iiko/customer/info`, `/api/1/loyalty/iiko/customer/create_or_update`, `/api/1/loyalty/iiko/customer/card/add`;
  - в матрице библиотеки также перечислены операции кошелька, calculate, program и coupons (пока не реализованы в библиотеке).
  — [pkg.go.dev: wollzy/iiko-go](https://pkg.go.dev/github.com/wollzy/iiko-go)
- В iikoCloud есть расчёт скидок и лояльности для заказа (`calculate_loyalty_checkin`). Он помечен как высокочастотный вызов: программы лояльности, купоны, ручные условия, динамические скидки. — [glama.ai: iikocloud-mcp](https://glama.ai/mcp/servers/UserVanya/Iikocloud-mcp/tools/discounts__calculate_loyalty_checkin)
- У iiko есть официальный маркетплейс. Условия: инспекция кода, обязательная техподдержка, тестирование перед релизом. Интеграции лояльности там включают PremiumBonus, LoyalHub, Boomerangme. — [multi-bit.com: iiko vs r_keeper](https://multi-bit.com/avt_iiko/iiko_rkeeper)

#### r_keeper (UCS)
- Для компаний на r_keeper 7 со своей системой лояльности используется **FarCards**. Кассовый сервер обращается к FarCards, тот вызывает функции в **ExtDLL** — библиотеке, которая связывается с внешней CRM и эмулирует сервер карт CARDSERV.
  - Обязательные функции: `GetCardInfoEx` (владелец, счёт, баланс, скидка/бонус, блокировка, до 8 балансов) и `TransactionsEx` (платежи, скидки, бонусы с налогами по 8 категориям). `TransactionsEx` атомарна: «либо все проходят, либо ни одна!».
  - Опциональные функции: `FindEmail`, `FindAccountsByKind` (например, QR), `FindCardsL`, `GetCardImage(Ex)`, `GetCardMessage`, `GetDiscLevelInfoL`, `AnyInfo`.
  — [docs.rkeeper.ru: FarCards для внешней системы лояльности](https://docs.rkeeper.ru/pds/ru/nastrojka-farcards-dlya-vneshnej-sistemy-loyal-nosti-51414044.html)
- В режиме Type=1 FarCards работает как сервер (аналог CARDSERV), а логика карт реализуется в интерфейсной библиотеке или внешней системе. Этот режим обычно используют для подключения стороннего ПО (сниппет). — [docs.rkeeper.ru](https://docs.rkeeper.ru/pds/ru/nastrojka-farcards-dlya-vneshnej-sistemy-loyal-nosti-51414044.html)
- PDS (персональная депозитно-дисконтная система):
  - нужны CARDSERV ≥ 5.08 (протокол 14) и ретранслятор FarCards ≥ 3.02;
  - таймаут в CARDSERV.INI по умолчанию 120000 мс;
  - на кассовом сервере настраивается интерфейс PDS с параметром Call Timeout;
  - оплата картой PDS настраивается как **валюта** (currency) с включённым интерфейсом;
  - распознавание карт — через MCR-алгоритм.
  — [docs.rkeeper.ru: Настройка связи с ПДС](https://docs.rkeeper.ru/rk7/latest/ru/nastrojka-svyazi-s-pds-6655573.html)
- «Офлайн лояльность на кассе r_keeper»: источник данных — RESTOCRM, связь через Farcards и MCR-алгоритм, баллы копятся и списываются в доставке и в зале. — [docs.rkeeper.ru](https://docs.rkeeper.ru/rkint/oflajn-loyal-nost-na-kasse-r_keeper-193266941.html)
- Документация по конкретным вендорским интеграциям (например, «Интеграция с Фабрикой Лояльности») закрыта логином Confluence. — [docs.rkeeper.ru](https://docs.rkeeper.ru/rk7/latest/ru/integratsiya-s-fabrikoj-loyal-nosti-77467866.html)
- Цены: r_keeper — «от 4 085 ₽ (Cloud Start)» в месяц либо бессрочная лицензия с ежегодной поддержкой ~15–25%; iiko — Mini 1 295 ₽, Start 4 600 ₽, Pro 8 000 ₽, Enterprise 9 800 ₽ в месяц. — [picktech.ru](https://picktech.ru/blog/a-vs-b/iiko-vs-r-keeper-sistema-avtomatizatsii-dlya-restorana-2026/). Противоречие: у multi-bit iiko Pro стоит 8 600 ₽/мес., а r_keeper Cloud Pro — «6 170 ₽/год». — [multi-bit.com](https://multi-bit.com/avt_iiko/iiko_rkeeper)

#### Set Retail 10 (CSI / Crystal Service Integration)
- API Set10 — «инструмент для вендоров и клиентов, который позволяет им самостоятельно расширять возможности кассового ПО Set Retail 10».
  - Типы плагинов: лояльности, карточные, платёжные, товарные, валидационные, условий акций, технологических процессов, функциональные, ридеров, преобразователей штрихкодов.
  - Язык — Java.
  - Есть «Правила и средства взаимодействия между CSI и внешними разработчиками».
  — [crystals.atlassian.net: API Set10](https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/705331728/API+Set10)
- Отдельная страница описывает, как настроить списание бонусов как скидки в плагинах. Существует плагин лояльности Sailplay. — [crystals.atlassian.net (719913174)](https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/719913174) (сниппет); [Sailplay plugin](https://crystals.atlassian.net/wiki/spaces/SR10SUPPORT/pages/2785411194) (сниппет)
- «ЦФТ-Лояльность» подключена через Set API: регистрация покупателя в интерфейсе кассы, начисление, списание и возврат бонусов, авторизация по карте или телефону с SMS, подарочные сертификаты. Обычно реализуют два плагина — плагин лояльности и карточный плагин (сниппет). — [crystals.ru: новинки Set Retail 10](https://crystals.ru/infocenter/articles/set-retail-10-novinki-ii-kvartala-2021/)

#### МойСклад (Касса МоегоСклада)
- **Loyalty API** — стандартный интерфейс: МойСклад **сам вызывает** сервер вендора. Авторизация — заголовок `Lognex-Discount-API-Auth-Token`, один токен на аккаунт. Эндпоинты:
  - `POST /counterparty` и `GET /counterparty?search=&retailStoreId=` — регистрация и поиск покупателя;
  - `POST /counterparty/detail` — баланс;
  - `POST /counterparty/verify` — OTP при регистрации;
  - `POST /retaildemand/recalc` — пересчёт чека;
  - `POST /retaildemand/verify` — OTP на списание;
  - `POST /retaildemand` — фиксация продажи;
  - `POST /retailsalesreturn` — возврат;
  - `GET /giftcard?name=&retailStoreId=` — подарочная карта.

  — [dev.moysklad.ru/doc/api/loyalty/1.0](https://dev.moysklad.ru/doc/api/loyalty/1.0/)
- Структура `recalc`:
  - запрос: `positions[]` (`assortment`, `quantity`, `price`), `bonusProgram.transactionType` = `EARNING|SPENDING`, `preferredBonusToSpend`;
  - ответ по позициям: `discountPercent`, `discountedPrice`;
  - ответ по бонусам: `agentBonusBalance`, `bonusValueToSpend`, `bonusValueToEarn`, `agentBonusBalanceAfter`, `paidByBonusPoints`, `receiptExtraInfo` (текст в чек), плюс флаг `needVerification`.

  При фиксации продажи передаются `name` (номер чека), `moment`, `cashSum`/`noCashSum`, `giftCards[]`, `bonusValueToSpend`/`bonusValueToEarn`. — [dev.moysklad.ru](https://dev.moysklad.ru/doc/api/loyalty/1.0/)
- OTP-флоу: вендор отвечает 412 с кодом 28001. МойСклад вызывает `/verify`, в ответе приходят `verificationCode`, `timeForRepeat` и `messageForCashier` (до 140 символов). Таймауты и офлайн в спецификации не описаны. — [dev.moysklad.ru](https://dev.moysklad.ru/doc/api/loyalty/1.0/)
- Подключение вендора:
  1. черновик серверного решения в ЛК разработчика с блоком `<loyaltyApi/>`;
  2. статус `SettingsRequired`;
  3. iframe настроек;
  4. публикация в каталоге решений.

  — [dev.moysklad.ru](https://dev.moysklad.ru/doc/api/loyalty/1.0/). Пример — приложение UDS в каталоге. — [moysklad.ru/integratsii/apps/uds-prod-uds](https://www.moysklad.ru/integratsii/apps/uds-prod-uds/)
- Партнёрская программа: реселлер получает «до 50% от тарифов» и «100% от внедрения». Процент для разработчиков решений на странице не указан. — [partners.moysklad.ru](https://partners.moysklad.ru/)

#### Saby (СБИС): Presto и Retail
- API Presto поддерживает доставку, бронь, проверку, списание и начисление бонусов. Среди внешних интеграций Saby — PremiumBonus, UDS, iiko и др. (сниппет). — [saby.ru/help/integration/api/app_presto](https://saby.ru/help/integration/api/app_presto)
- Интеграция Presto с PremiumBonus:
  - кассир запрашивает персональный код из приложения PremiumBonus;
  - бонусы списываются как вычет из суммы;
  - «Presto sends purchase data to PremiumBonus» после оплаты;
  - нужен договор с PremiumBonus и ключ (токен) на точку продаж; при нескольких программах — отдельный ключ на каждую.
  — [saby.ru/help/integration/premium_bonus](https://saby.ru/help/integration/premium_bonus)

#### Контур.Маркет
- API даёт чтение организаций и точек, товаров, остатков, чеков с позициями, а также «базу клиентов и акции из системы лояльности». Запись разрешена для товаров, цен, остатков и ЕГАИС. Ключ выдаётся через Контур.Интегратор. «Все клиенты Маркета могут бесплатно пользоваться API». Как внешняя лояльность применяет скидки и бонусы на кассе в реальном времени, не описано. — [kontur.ru/market/features/api](https://kontur.ru/market/features/api)

#### Дримкас, aQsi, LIFE PAY, Tillypad, Poster, Quick Resto
- Дримкас: есть собственная бонусная программа на Дримкас Старт и кассах Вики (начисление, списание, возврат бонусов) (сниппет). — [help.dreamkas.ru](https://help.dreamkas.ru/kb/drimkas-start-i-kassy-viki/drimkas-loyalnost/bonusnaya-programma-loyalnosti-nachislit-spisat-vernut-bonusy/)
- aQsi: раздел «Лояльность» в ЛК, aQsi Device SDK для кассового ПО, интеграции с МойСклад и 1С (сниппет). — [aqsi.ru/support/loyalnost-3](https://aqsi.ru/support/loyalnost-3/), [aqsi.ru/support/integracii](https://aqsi.ru/support/integracii/). **[после 2022]** Касса продаётся как «aQsi от Т-Банка» (по заголовку страницы). — [quickresto.ru](https://quickresto.ru/support/quick_resto_kassa/rabota_s_ustroystvami/nastroyka_i_podklyuchenie_onlayn_kassy_aqsi_5_ot_t_banka/)
- LIFE PAY: «касса, эквайринг, аналитика и CRM», интеграции с 1С, Битрикс24 и МойСклад, «40+ модулей и открытый API», более 100 000 торговых точек. — [life-pay.ru](https://life-pay.ru/)
- Tillypad XL:
  - интеграции с внешними системами лояльности LeadER, Samosale, Prime-Hill, RightWay, MCRM Superkit, LOONA, PremiumBonus;
  - единый стандарт для вендоров не описан;
  - списание делается добавлением в гостевой счёт элемента (например, «LOONA списание бонусов») с суммой в поле количества;
  - начисление — после фактической оплаты.
  — [tillypad.ru/developers](https://tillypad.ru/developers/details/integratsii_tillypad_s_vneshnimi_sistemami_loyalnosti); [tillypad.ru: PremiumBonus](https://tillypad.ru/news/details/tillypad_s_vneshnej_sistemoj_loyalnosti_premiumbonus)
- Poster:
  - платформа разработчика: API, виджеты в POS-терминале и админке, каталог приложений;
  - «Poster's commission: 30%», выплаты по агентскому договору, биллинг ведёт Poster;
  - 23 000 заведений.

  — [dev.joinposter.com](https://dev.joinposter.com/). **[после 2022]** На сайте нет российской локали и цен в рублях (регионы — Украина, Казахстан, Мексика), то есть Poster, по-видимому, не обслуживает РФ. Явного заявления об уходе не найдено. — [joinposter.com/ru](https://joinposter.com/ru)
- Quick Resto: открытый API для сторонних сервисов (сниппет). — [quickresto.ru/integrations](https://quickresto.ru/integrations/). Сторонние сервисы электронных карт уже интегрированы (CARDPR, Passteam). — [ru.cardpr.com](https://ru.cardpr.com/help/integration/quickresto-self) (сниппет), [passteam.ru](https://www.passteam.ru/integrations/passteam-quickresto)
- Artix (розничная POS, в списке задания её нет, но она показательна): модули Mindbox и Loymax активируются лицензией кассы (модуль `mindbox` в лицензионном файле), настраиваются ini-файлами, для офлайна используется Artix-Queue. — [docs.artix.su: Mindbox](https://docs.artix.su/display/ArtixDoc46/Mindbox), [docs.artix.su: Loymax](https://docs.artix.su/display/ArtixDoc46/Loymax)

#### Доли рынка
- HoReCa: iiko и r_keeper заявляют «около 70 000 точек» каждая. По исследованию TAdviser, к 2023 году лидировала iiko. Выручка в 2023 году: АО «Айко» — 2,8 млрд ₽, ООО «Компания Юсиэс» (r_keeper) — 445 млн ₽ (rusprofile). У r_keeper к концу 2022 года убытки превысили 800 млн ₽. — [multi-bit.com](https://multi-bit.com/avt_iiko/iiko_rkeeper)
- Онлайн-кассы: АТОЛ ~35%, Эвотор ~28% «в сегменте смарт-касс» (NPD Group, 2024). В той же статье приведены несогласованные сегментные цифры (АТОЛ Sigma 22%, MSPOS-K 8%, Меркурий 5%). Источник вторичный, низкой надёжности. — [vc.ru](https://vc.ru/rating_top/2968085-evotor-obzor-smart-kass-i-sravnenie-s-alternativami)
- Исторический масштаб: 2,3 млн ККТ и около 150 млн чеков в день (март 2019, CNews Analytics); в реестре ФНС 167 моделей от 55 производителей (АТОЛ — 20 моделей). — [cnews.ru](https://www.cnews.ru/reviews/online_kassy/articles/rossijskij_rynok_onlajnkass_stanovitsya_rynkom_ituslug)
- UDS заявляет интеграции с «70+ системами» (заголовок сайта реселлера) (сниппет). — [uds-store.ru/integration](https://uds-store.ru/integration/)
- PremiumBonus перечисляет поддерживаемые им POS: iiko, r_keeper, Эвотор, SetRetail, 1С, Frontol, Киноплан, Saby, ДЭНСИ:КАССА, РестАрт, Logus HMS, Tillypad, OPERA PMS, Oracle MICROS Simphony, ПО Пилот, Лайм Касса. — [premiumbonus.ru/integrations](https://premiumbonus.ru/integrations)

### Inferences
- Минимальный набор коннекторов для старта:
  - **HoReCa:** плагин iikoFront (обязательны лицензирование в iiko и выпуск под каждую версию API) и ExtDLL для r_keeper FarCards.
  - **Розница:** приложение в Эвотор.Маркете, партнёрство с АТОЛ (нативная интеграция или Priority API), расширения для 1С:Розница 3 / УТ 11, Loyalty API МоегоСклада, Java-плагин Set API для крупных сетей.
  - **Сервисы:** МойСклад и YCLIENTS.
- Самые дешёвые в поддержке — интеграции, где POS сама вызывает REST вендора (МойСклад, Saby, Tillypad): вендор лояльности держит только сервер. Самые дорогие — бинарные плагины (iiko .NET, r_keeper DLL, Set Java, Эвотор Android, 1С-расширения). Их нужно пересобирать под версии POS и дистрибутировать через дилеров.
- Для Frontol и Tillypad, где коннектор пишет вендор POS, нужен коммерческий договор или партнёрство с АТОЛ / Tillypad. Без него внешней системы нет в меню кассы.
- Экономика дистрибуции сильно различается:
  - Эвотор забирает около 50%;
  - у Poster комиссия 30%, но он, по-видимому, неактуален для РФ;
  - у iiko вдобавок нужна лицензия модуля на стороне клиента.

  Это стоит учитывать в прайсинге.
- АТОЛ Sigma, судя по всему, закрыта для внешней лояльности. Её клиентов можно охватить только через 1С-контур или вне кассы (QR-оплата, приложение).

### Gaps
- Не найдено публичных процентов вознаграждения разработчика в каталоге МоегоСклада, на маркетплейсе iiko и в «Специальных решениях» iiko, а также стоимости лицензий плагинов iiko для конечного клиента.
- Не найдены публичная спецификация Frontol Priority API (протокол, формат, офлайн-очередь), условия её покупки и сертификации у АТОЛ, а также формат API АТОЛ Sigma.
- Нет публичного стандарта 1С для подключения внешних систем лояльности (например, формат HTTP-сервиса «Сервер лояльности» для сторонних реализаций). Как ведут себя 1С:Касса и РМК при недоступности сервера лояльности — не выяснено.
- Бизнес.ру (касса): данных о механизме внешней лояльности не найдено, поиск был исчерпан.
- Для Дримкас, aQsi, LIFE PAY, Quick Resto не найдено описания стандартного интерфейса внешней лояльности на кассе в реальном времени. Есть только API данных или собственная лояльность.
- Нет свежих первичных данных о долях рынка POS по сегментам (NPD и TAdviser в первоисточнике не открывались). Цифры vc.ru и multi-bit — вторичные.
- Не найдены офлайн-поведение Эвотор-приложений лояльности и требования к сертификации приложений лояльности в Эвотор.Маркете (кроме общей модерации).

---

## 2. E-commerce платформы и агрегаторы доставки

### Takeaway
На 1С-Битрикс и Битрикс24 лояльность подключается модулями из маркетплейсов: Bitrix24.Market работает по подписочному пулу, разработчикам уходит 85%, партнёры 1С-Битрикс получают скидки 40–50%. Эталонная реализация — модуль Mindbox на событиях `sale`.

У InSales и Shop-Script есть собственные бонусные механики и магазины приложений и плагинов. У Tilda бэкенда для баланса нет, поэтому интеграции строятся на webhooks и JS-виджетах. Ecwid ушёл из РФ 9 сентября 2024 года.

Как применять лояльность мерчанта в Яндекс Еде и Купере, публично не описано. PremiumBonus упоминает интеграцию с «Яндекс Go».

### Cited Findings
- **1С-Битрикс Маркетплейс:** размещение бесплатное. Разработчик может дать партнёрам «1С-Битрикс» возможность покупать решение с их скидкой («от 40 до 50%, в зависимости от статуса»). Перед публикацией — самотестирование, чек-лист и модерация. — [marketplace.1c-bitrix.ru/about/for-dev](https://marketplace.1c-bitrix.ru/about/for-dev/)
- **Модуль Mindbox для 1С-Битрикс** (эталон интеграции лояльности в Bitrix):
  - обработчики `OnSaleOrderBeforeSaved`/`OnSaleOrderSaved` (транзакции заказа `BeginUnauthorizedOrderTransaction`, `CommitOrderTransaction`), `OnBeforeSaleOrderFinalAction` (расчёт корзины), `OnSaleBasketSaved` (SetCart), `OnSaleStatusOrder`/`OnSaleCancelOrder` (статусы);
  - бонусы и промокод хранятся в свойствах заказа `MINDBOX_BONUS` и `MINDBOX_PROMO_CODE`;
  - SMS-OTP через компонент `auth.sms`;
  - асинхронная очередь через агента `QueueTable::start()`;
  - требуется «1С-Битрикс старше 18.5.100», рекомендовано ядро D7.
  — [github.com/mindbox-cloud/bitrix](https://github.com/mindbox-cloud/bitrix/blob/master/README.md)
- На Маркетплейсе 1С-Битрикс есть модуль PremiumBonus (efox.premiumbonus) от стороннего разработчика. На момент проверки страница отдавала 404. — [marketplace.1c-bitrix.ru/solutions/efox.premiumbonus](https://marketplace.1c-bitrix.ru/solutions/efox.premiumbonus/) (сниппет)
- **Битрикс24.Маркет (подписка):**
  - «85% ОТ ВЫРУЧКИ — РАЗРАБОТЧИКАМ» (15% остаётся Битрикс24);
  - половина делится при покупке между приложениями, установленными в trial или сразу после покупки, вторая половина — ежедневно в течение подписки между используемыми приложениями;
  - баллы = вес приложения (1–10, назначает модератор) × коэффициент использования (ежедневно 1.0, еженедельно 0.7, ежемесячно 0.5).
  — [apps24rules.bitrix24.site/ru_info](https://apps24rules.bitrix24.site/ru_info/). Требования к публикации описаны отдельно. — [apidocs.bitrix24.ru](https://apidocs.bitrix24.ru/market/preparing-to-publish/publication-requirements.html) (сниппет)
- **InSales:**
  - встроенная бонусная программа только на тарифах Business и Premium: коэффициент начисления, «максимальная скидка — сколько процентов от суммы заказа покупатель сможет оплатить бонусными баллами», приветственный бонус;
  - баллы активируются в статусе «Оплачен» и откатываются при отмене или возврате;
  - в описании нет API бонусов и не упоминаются внешние системы лояльности.

  — [insales.ru: Бонусная программа](https://www.insales.ru/collection/doc-skidki/product/bonusnaya-programma). Публичные приложения продаются через Центр Приложений. — [insales.ru/page/developers](https://www.insales.ru/page/developers). Реферальная программа — до 40% от оплат привлечённых клиентов (сниппет). — [insales.ru/page/referral-program](https://www.insales.ru/page/referral-program). Есть «API для работы с частичными скидками» (заголовок). — [insales.ru](https://www.insales.ru/collection/doc-prochee/product/api-dlya-raboty-s-chastichnymi-skidkami). Есть приложение «Бонус+» для InSales (заголовок кейса). — [ws24.pro](https://ws24.pro/case-studies/bonus-plus-insales-app)
- **Tilda:** своего бэкенда для хранения бонусных балансов нет, «из коробки» только формы и корзина с промокодами. Лояльность подключают через webhooks на внешний сервер (сниппет). — [vc.ru: Тейка](https://vc.ru/teyca/2943273-podklyuchenie-bonusnoy-programmy-k-saytu-na-tilda), [pikabu.ru](https://pikabu.ru/story/kak_myi_nastroili_sistemu_loyalnosti_na_tilda_nash_opyit_s_bonusami_i_vneshnim_serverom_12490005). Готовые интеграции есть у Mace Loyalty и Teyca. — [maceloyalty.ru](https://maceloyalty.ru/baza-znaniy/nastroika-integracii-tilda) (сниппет)
- **Shop-Script (Webasyst):** в Webasyst Store есть сторонние плагины бонусов — «Бонусы за покупку для Shop-Script X», «Бонусная система», «Гибкие скидки и бонусы» (90+ условий скидок). — [webasyst.ru/store/plugin/shop/bonuses](https://www.webasyst.ru/store/plugin/shop/bonuses/), [webasyst.ru/store/plugin/shop/bo](https://www.webasyst.ru/store/plugin/shop/bo/), [webasyst.ru/store/plugin/shop/flexdiscount](https://www.webasyst.ru/store/plugin/shop/flexdiscount/)
- **Ecwid [после 2022]:** «Ecwid прекращает предоставление услуг в России после 9 сентября» (2024), решение принял владелец Lightspeed. — [support.ecwid.com](https://support.ecwid.com/hc/ru/articles/15492094650268-Ecwid-%D0%BF%D1%80%D0%B5%D0%BA%D1%80%D0%B0%D1%89%D0%B0%D0%B5%D1%82-%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%83%D1%81%D0%BB%D1%83%D0%B3-%D0%B2-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-9-%D1%81%D0%B5%D0%BD%D1%82%D1%8F%D0%B1%D1%80%D1%8F); [tadviser](https://www.tadviser.ru/index.php/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F:Ecwid_(%D0%AD%D0%BA%D0%B2%D0%B8%D0%B4))
- **Агрегаторы:** Яндекс Еда интегрируется с iiko по заявке в ЛК Яндекс Еды: меню, стоп-листы, заказы (сниппет). — [multi-bit.com/avt_iiko/yandex_eda_iiko](https://multi-bit.com/avt_iiko/yandex_eda_iiko). PremiumBonus перечисляет в «Доставка и заказы» tgEDA, Смартомато и «Яндекс Go». — [premiumbonus.ru/integrations](https://premiumbonus.ru/integrations)

### Inferences
- Для Bitrix нужно два продукта:
  1. модуль для «1С-Битрикс: Управление сайтом» на событиях `sale` (корзина → расчёт → списание в заказе → commit по оплате, откат при отмене);
  2. приложение Битрикс24.Маркет (CRM), где доход — доля подписочного пула.
- Для InSales, где встроенных бонусов в API не видно, внешняя лояльность, вероятно, реализуется как приложение, которое пишет скидку в заказ (API частичных скидок) и слушает webhooks заказов. Это требует проверки.
- Для Tilda и других конструкторов нужен универсальный JS-виджет (идентификация по телефону + OTP, показ баланса, применение скидки) и приём webhooks заказа.
- Агрегаторы доставки: по найденным данным, мерчант не может напрямую применять свою программу лояльности внутри Яндекс Еды или Купера. Реалистичный вариант — начислять баллы постфактум по данным заказа, пришедшим в POS (iiko/r_keeper). Это гипотеза, её нужно подтвердить.

### Gaps
- Процент вознаграждения разработчика на Маркетплейсе 1С-Битрикс, в Центре приложений InSales и в Webasyst Store не найден.
- Advantshop (встроенная бонусная система, модули лояльности) — данных нет, поиск исчерпан.
- Встроенный механизм лояльности в модуле `sale` 1С-Битрикс (внутренний счёт, правила корзины) по первоисточнику не проверен.
- Яндекс Еда и Купер (бывш. СберМаркет): можно ли применять лояльность мерчанта (баллы, промокоды ресторана), каково содержание интеграции PremiumBonus с «Яндекс Go» — первоисточников нет.

---

## 3. CRM и системы онлайн-записи

### Takeaway
В RetailCRM есть встроенная программа лояльности с API (расчёт максимальной скидки, списание, SMS-подтверждение). Внешний вендор конкурирует с ней или дополняет её. У amoCRM и Битрикс24 открытые маркетплейсы с модерацией, у Битрикс24 разработчикам уходит 85% подписочного пула. По YCLIENTS, DIKIDI, Mobifitness и 1С:Фитнес публичных деталей API лояльности получить не удалось.

### Cited Findings
- **RetailCRM:** встроенный модуль лояльности открыт через REST API:
  - список и создание участий, активация с SMS-OTP;
  - «Расчёт максимальной скидки» (сколько бонусов можно списать);
  - «Применение бонусов» с OTP при необходимости;
  - при создании заказа передаётся `privilegeType`, количество бонусов передавать не нужно, их считает сервер;
  - фактически списанное может отличаться от запрошенного из-за распределения скидки.
  — [docs.retailcrm.ru: LoyaltyAPI](https://docs.retailcrm.ru/Developers/API/APIFeatures/LoyaltyAPI)
- **amoCRM:** типы интеграций — приватные (без модерации, для одного аккаунта), публичные (технический аккаунт, JS-виджет, обязательная модерация, листинг в маркетплейсе), внешние (только API), отраслевые решения (для партнёров amoSTART). Про revenue share в документации ничего нет. — [amocrm.ru/developers](https://www.amocrm.ru/developers/content/integrations/intro)
- **Битрикс24:** 85% выручки подписки Маркета распределяется разработчикам. — [apps24rules.bitrix24.site/ru_info](https://apps24rules.bitrix24.site/ru_info/)
- **YCLIENTS:** есть «Магазин интеграций партнерских сервисов YCLIENTS», содержимое страницы не загрузилось. — [yclients.ru/marketplace](https://www.yclients.ru/marketplace). Интеграция с кассами АТОЛ Sigma существует. — [support.yclients.com](https://support.yclients.com/5-25-702--nastrojka-integracii-kassy-sigma-atol-s-yclients/)
- **Mobifitness:** CRM, клиентские и тренерские приложения, онлайн-запись, платежи, «программы лояльности и уведомления»; более 4 000 клубов и студий в 250+ городах РФ и СНГ. — [mobifitness.ru](https://mobifitness.ru/)
- **Бронирование в HoReCa:** PremiumBonus интегрирован с Hostme, GuestMe, RESTOPLACE. — [premiumbonus.ru/integrations](https://premiumbonus.ru/integrations). SWiP связан с Restoplace через API и webhooks. — [swip.one/integrations](https://swip.one/integrations/)
- LIFE PAY интегрирован с Битрикс24. — [life-pay.ru](https://life-pay.ru/)

### Inferences
- В RetailCRM модель «чужой» лояльности и её OTP-флоу похожи на контракт МоегоСклада: расчёт максимума, затем списание с OTP. Внешнему вендору нужно либо синхронизировать баланс во встроенный модуль, либо встраиваться через интеграционные модули и скидку в заказе. Какой вариант поддерживается, пока неясно.
- Для сферы услуг (YCLIENTS, DIKIDI, фитнес) практичнее всего интеграция через webhooks визитов и оплат плюс начисление и списание через API вендора. Первоисточник для YCLIENTS нужен.

### Gaps
- Не найдены API лояльности YCLIENTS (карты, транзакции, сертификаты, абонементы), условия маркетплейса и revenue share (документация developers.yclients.com не загрузилась целиком).
- DIKIDI, 1С:Фитнес клуб — данных нет.
- Внешние лояльности в маркетплейсе RetailCRM (MAXMA, Mindbox, UDS) и способ их интеграции с встроенным модулем не проверены.
- Revenue share в маркетплейсе amoCRM не найден.

---

## 4. Каналы коммуникации и провайдеры: wallet-карты, SMS, flash-call/OTP, push, email, мессенджеры

### Takeaway
После 2022 года каналы в РФ сильно изменились:
- Apple Pay отключён в марте 2022, но российские провайдеры продолжают выпускать карты для Apple Wallet.
- Google Wallet в России не поддерживается (на ноябрь 2025). На Android основная альтернатива — приложение «Кошелёк» (около 40 млн зарегистрированных).
- SMS в 2026 году стоят примерно 8,4–11,1 ₽ за сообщение, плюс 2–4 тыс. ₽ в месяц за имя отправителя у каждого оператора. Flash-call стоит около 0,33 ₽ — это основная альтернатива для OTP.
- Telegram с февраля 2026 года замедлялся, а в марте его блокировка вошла в «финальную стадию».
- WhatsApp: звонки ограничены с августа 2025 года, в феврале 2026 года была попытка полной блокировки.
- Государственно продвигаемый MAX (100+ млн регистраций к марту 2026, обязательная предустановка) даёт ботов и мини-приложения только верифицированным российским юрлицам, ИП и самозанятым. При этом 3 июня 2026 года MAX удалили из App Store.

### Cited Findings

#### Wallet-карты
- **[после 2022]** Apple отключила Apple Pay в России для Mastercard и Visa 25 марта 2022 года, для «Мир» — 26 марта 2022 года (санкции). Даты взяты из пересказа статьи инструментом загрузки, их нужно сверить с первоисточником. О работе Apple Wallet passes в статье ничего не сказано. — [en.wikipedia.org/wiki/Apple_Pay](https://en.wikipedia.org/wiki/Apple_Pay)
- Обновления pass передаются через Apple Push Notification service от провайдера pass. — [en.wikipedia.org/wiki/Apple_Wallet](https://en.wikipedia.org/wiki/Apple_Wallet)
- **[после 2022]** На ноябрь 2025 года Россия в списке неподдерживаемых стран Google Wallet. — [en.wikipedia.org/wiki/Google_Wallet](https://en.wikipedia.org/wiki/Google_Wallet)
- OSMI Cards:
  - карты в Apple Wallet, Google Wallet/Pay и российских альтернативах;
  - «бесплатные push-рассылки без ограничений», геотаргетинг;
  - открытый API выпуска карт и обновления баланса;
  - интеграции с 20+ системами (1С, iiko, R-KEEPER, Mindbox, RetailCRM);
  - в реестре российского ПО, цена от ~10 000 ₽/мес.;
  - явных заявлений о статусе Apple/Google Wallet в РФ на сайте нет.
  — [osmicards.com](https://osmicards.com/)
- Passteam продолжает продавать «виртуальные карты Apple Wallet & Google Pay». — [passteam.ru](https://www.passteam.ru/)
- **«Кошелёк»:**
  - b2b-страница: 40 млн зарегистрированных, 12 млн MAU, 2 млн DAU; бизнес может «добавить программу лояльности в Кошелёк», доступна реклама; кейсы: Metro — 12% ежемесячных регистраций через Кошелёк, «Копейкин Дом» — до 80% новых регистраций;
  - на главной странице: «37+ млн пользователей» и «больше 105 млн карт» (цифры расходятся с b2b-страницей).
  — [b2b.koshelek.app](https://b2b.koshelek.app/), [koshelek.app](https://koshelek.app/)
- **[после 2022]** MAX удалён из Apple App Store 3 июня 2026 года из-за санкций и из Huawei AppGallery 9 июня 2026 года. — [en.wikipedia.org/wiki/Max_(app)](https://en.wikipedia.org/wiki/Max_(app))

#### SMS (цены 2026)
- SMSC (тарифы на сентябрь 2026, отмечено обновление с 01.10.2026):
  - за SMS: МегаФон 11,10 ₽ (до 10,30 ₽ при 100 тыс.), МТС 9,80 ₽ (до 9,00), Билайн 9,40 ₽ (до 9,00), Т2 9,20 ₽ (до 8,80);
  - имя отправителя в месяц: МегаФон 3 000 ₽, МТС 4 000 ₽, Билайн 2 550 ₽, Т2 2 450 ₽, Мотив 2 250 ₽;
  - flash-call: 0,33 ₽ (звонок 5 секунд), 0,85 ₽ (полный);
  - Telegram-сообщение 1,80 ₽, WhatsApp-шаблон 0,28 ₽.
  — [smsc.ru/tariffs](https://smsc.ru/tariffs/)
- SMS.ru:
  - за SMS: МТС от 8,50 ₽, МегаФон от 8,40 ₽, Билайн от 8,40 ₽, Т2 от 8,36 ₽; цена зависит от типа (реклама дороже сервисных и кодов авторизации);
  - имя отправителя в месяц: МТС 3 000 ₽, МегаФон 2 550 ₽, Билайн 2 080 ₽, Т2 бесплатно для рекламы / 2 450 ₽ для шаблонов;
  - регистрация шаблонов: МТС 2 000 ₽, МегаФон 1 220 ₽, Билайн 1 220 ₽, Т2 1 100 ₽.
  — [sms.ru/price](https://sms.ru/price)
- PremiumBonus поддерживает SMS-центры: СМС Дисконт, SMS Центр, Альфа СМС, SMS.RU, SMS Aero, ВЕБСМС, REDSMS, билайн бизнес, SMS Traffic, TeraSMS, QUICKTEL, edna, SEVENTECH, Stream Telecom. — [premiumbonus.ru/integrations](https://premiumbonus.ru/integrations)
- В GitHub-организации MAXMA (cloudloyalty) есть клиенты SMS Aero и easy-sms, а также форк клиента MAX Bot API на Go. — [github.com/cloudloyalty](https://github.com/cloudloyalty)

#### OTP-альтернативы
- Telegram Gateway API: «$0.01 per verification code», автоматический возврат за недоставленные, номера только от пользователей, которые добровольно их передали, метод `checkSendAbility`. Ограничений по странам на странице нет. — [core.telegram.org/gateway](https://core.telegram.org/gateway)
- Flash-call у SMSC — 0,33 ₽ за вызов. — [smsc.ru/tariffs](https://smsc.ru/tariffs/)

#### Push
- RuStore Push — альтернатива FCM, работает без сервисов Google. Если RuStore не установлен, доставку выполняют другие приложения экосистемы VK. Universal Push SDK позволяет использовать RuStore, FCM и HMS одновременно. В документации речь только об Android. — [rustore.ru/help/sdk/push-notifications](https://www.rustore.ru/help/sdk/push-notifications)

#### Email
- Unisender: «Фри» — 0 ₽ (до 1 500 писем, до 100 контактов), «Лайт» — 672 ₽/мес., «Стандарт» — 952 ₽/мес., «Персональный» — от 30 000 ₽, пакет «Оптом» — 128 800 ₽. — [unisender.com/ru/prices](https://www.unisender.com/ru/prices/)

#### Мессенджеры
- **Telegram [после 2022]:**
  - август 2025 — блокировка голосовых и видеозвонков;
  - с середины января 2026 — массовые сбои;
  - 10 февраля 2026 — Роскомнадзор официально подтвердил замедление Telegram по всей стране;
  - 16 марта 2026 — штраф 35 млн ₽;
  - 17 марта 2026 — глава ТАСС заявил, что блокировка «вошла в финальную стадию»; сообщалось о плане полностью ограничить мессенджер в начале апреля.

  Статья обновлена 9 сентября 2026 года, но события после марта не описывает. — [en.wikipedia.org/wiki/Blocking_of_Telegram_in_Russia](https://en.wikipedia.org/wiki/Blocking_of_Telegram_in_Russia)
- **WhatsApp [после 2022]:**
  - 13 августа 2025 — РКН объявил об ограничении звонков;
  - конец октября 2025 — блокировка SMS и звонков для регистрации новых пользователей;
  - 11 февраля 2026 — компания сообщила о попытке «полной блокировки».
  — [ru.wikipedia.org/wiki/WhatsApp](https://ru.wikipedia.org/wiki/WhatsApp)
- **Общий контекст [после 2022]:** к 2026 году — «blocking and throttling of Telegram and WhatsApp in favor of the state-controlled Max». 7 августа 2025 года Минцифры согласовало с операторами схему «белого списка» сервисов на время ограничений мобильного интернета. — [en.wikipedia.org/wiki/Internet_censorship_in_Russia](https://en.wikipedia.org/wiki/Internet_censorship_in_Russia)
- **MAX [после 2022]:**
  - релиз 26 марта 2025; 40+ млн пользователей к октябрю 2025, 100+ млн регистраций к марту 2026;
  - предустановка на смартфоны, продаваемые в РФ, с 1 сентября 2025;
  - инструменты для чат-ботов и мини-приложений, СБП, интеграция Госуслуг.
  — [en.wikipedia.org/wiki/Max_(app)](https://en.wikipedia.org/wiki/Max_(app))
- Боты MAX могут создавать только верифицированные организации, ИП и самозанятые — резиденты РФ; обязательна модерация. Мини-приложения — веб (HTML/JS/CSS) с библиотекой MAX Bridge и React-компонентами MAX UI. — [dev.max.ru/docs](https://dev.max.ru/docs)

### Inferences
- **OTP:** основной канал — flash-call (около 0,3 ₽). Резерв — SMS (около 8,4–11 ₽ плюс абонплата за имя отправителя у каждого оператора, итого до ~12 тыс. ₽/мес. на четырёх крупных операторов). Бот MAX — как дополнительный канал. Telegram Gateway в РФ ненадёжен из-за блокировок, WhatsApp неприменим. Нужна абстракция мульти-провайдера SMS с fallback-цепочкой.
- **Wallet-карты:** Apple Wallet PassKit продолжает использоваться российскими провайдерами, но удаление MAX из App Store показывает санкционный риск для аккаунтов Apple Developer. Нужен план B: web-карта или PWA, «Кошелёк» на Android и собственное приложение в RuStore с RuStore Push. Google Wallet в РФ не поддерживается.
- **Мини-приложения:** MAX — стратегический канал (предустановка, Госуслуги), но требует верификации юрлица мерчанта и модерации. Telegram Mini Apps рискованны как основной канал в 2026 году. VK Mini Apps остаются альтернативой, но данные не собраны.
- Ограничения мобильного интернета с «белыми списками» (с 2025 года) напрямую бьют по кассам на мобильном интернете. Это ещё один аргумент за офлайн-режим кассового коннектора.

### Gaps
- Нет официальных заявлений Apple о работе PassKit и APNs для российских эмитентов карт в 2026 году. Не выяснено, могут ли российские юрлица получить Pass Type ID.
- Не найдены статус Telegram в апреле–сентябре 2026 года (полная блокировка или нет, работа Bot API), а также позиция РКН по Telegram-ботам бизнеса.
- VK Mini Apps (dev.vk.com не открылся), тарифы МТС Exolve и Devino, прайс SMS Aero (404), Sendsay и DashaMail (404) — данных нет.
- Не найдены стоимость и API партнёрской интеграции «Кошелька» (b2b), а также ограничения обновления баланса и push на картах.
- Нет данных о доступности FCM и APNs для российских разработчиков в 2026 году: есть только косвенное указание — RuStore позиционируется как альтернатива FCM.

---

## 5. Типовой checkout API контракт существующих вендоров

### Takeaway
Все вендоры реализуют одну и ту же двух- или трёхфазную схему: идентификация клиента → **расчёт (preview)** чека с позиционными скидками и максимумом списания → (OTP на списание) → **подтверждение (commit)** с номером фискального чека → **отмена или rollback** → **возврат** со ссылкой на исходную продажу.

Идемпотентность обеспечивается клиентскими идентификаторами (UDS `nonce`, MAXMA `txid`/`orderId`, Mindbox transaction ID из магазина, кассы, смены, номера чека и времени). Ключи выдаются на аккаунт, на точку или на назначение.

Ориентиры по производительности:
- MAXMA SLA: 95% запросов быстрее 750 мс, 10 rps на ключ;
- таймаут Mindbox на кассе Artix по умолчанию 5 с, Loymax — 30 с;
- крупнейший масштаб — X5 на Loymax: полмиллиарда покупок в месяц, тысячи RPS от касс.

### Cited Findings

#### МойСклад Loyalty API — контракт, который задаёт POS (вендор реализует сервер)
- Операции: поиск и регистрация покупателя, баланс, `recalc`, `verify` (OTP), фиксация продажи, возврат, подарочная карта. Позиционные `discountPercent`/`discountedPrice`, блок `bonusProgram`, `needVerification`, ошибка 412 с кодом 28001 для OTP, `receiptExtraInfo` для печати в чеке, токен `Lognex-Discount-API-Auth-Token`. — [dev.moysklad.ru/doc/api/loyalty/1.0](https://dev.moysklad.ru/doc/api/loyalty/1.0/)

#### UDS
- Base URL `https://api.uds.app/partner/v2/`, Basic auth (ID компании + apiKey). — [pkg.go.dev: go-uds](https://pkg.go.dev/github.com/arcsub/go-uds/uds)
- Методы: `GET /customers/find`, `POST /operations/calc` (предпросмотр), `POST /operations` (проведение), `POST /operations/{id}/refund`, `POST /operations/reward`, `GET /settings`, `GET /goods-orders/{id}`, `POST /goods-orders/{id}/complete`. — [pkg.go.dev: go-uds](https://pkg.go.dev/github.com/arcsub/go-uds/uds)
- Поля операции: `code` (код клиента), `participant` (uid/телефон), `nonce` (UUID — идемпотентность), `cashier` (externalId, name), `receipt` (`total`, `cash`, `points`, `number`, `skipLoyaltyTotal`, `unredeemableTotal`), `tags`. Ответ: `id`, `dateCreated`, `action`, `state`, `customer`, `cashier`, `branch`, `points`, `receiptNumber`, `total`, `cash`. — [pkg.go.dev: go-uds](https://pkg.go.dev/github.com/arcsub/go-uds/uds). `points`: отрицательное значение — списание, положительное — начисление (сниппет). — [github.com/ToshiYoung/uds-connector](https://github.com/ToshiYoung/uds-connector)
- Контракт UDS работает на уровне сумм чека (total, cash, points, суммы, исключаемые из лояльности), а не позиций. Это следует из структуры запроса. — [pkg.go.dev: go-uds](https://pkg.go.dev/github.com/arcsub/go-uds/uds)

#### MAXMA (бывш. CloudLoyalty)
- GitHub-организация «MAXMA.com», слаг `cloudloyalty`; SDK на PHP и Go. — [github.com/cloudloyalty](https://github.com/cloudloyalty)
- Правила API (в силе с 1 октября 2025):
  - типы API: Server API, JS/Mobile API, Webhook;
  - заголовок `X-Processing-Key`;
  - у клиента несколько ключей «по назначению (сайт, касса, CRM и др.)», ролевой модели нет;
  - лимиты: 10 запросов/с на ключ, не более 300 запросов/с с одного IP, запрос до 15 МБ; при превышении — троттлинг, затем HTTP 429;
  - webhook должен быть обработан за 30 с, при недоступности приёмника 14 дней webhook отключается;
  - SLA: uptime 99,5% в месяц, «минимум 95% запросов обрабатываются менее чем за 750 мс», проверка через `/alive`;
  - о несовместимых изменениях предупреждают минимум за 30 дней, о техработах — за 3 дня (обычно 00:00–05:00 МСК);
  - status-страницы: status.maxma.com, maxma.statuspage.io.
  — [maxma.com/terms/API.pdf](https://maxma.com/terms/API.pdf)
- Модели запросов:
  - `V2CalculatePurchaseRequest` (`orderId`, `calculationQuery`);
  - `SetPurchaseRequest` (`txid`, `calculationQuery`) → `SetPurchaseReply` (`clientBonuses`, `calculationResult`, `ticket`, `receiptInfo`);
  - `V2SetOrderRequest` (`orderId`);
  - `ConfirmTicketRequest` (`txid`, `sessionNum`, `receiptNum`, `ticket`);
  - `DiscardTicketRequest` (`txid`, `ticket`).

  `CalculationQuery` включает `client`, `shop`, `cashier`, `executedAt`, `rows`, `applyBonuses`, `collectBonuses`, `promocode`, `giftCards`. Строка `rows[]`: `id`, `qty`, `autoDiscount`, `manualDiscount`, `maxDiscount`, `product` (`externalId`, `sku`, `title`, `blackPrice`, `redPrice`, `minPrice`). Результат: `rows`, `summary`, `bonuses`, `promocode`, `giftCards` (`code`, `usedAmount`, `status`). `ReceiptInfoLine` для печати в чеке бывает `text`, `table` или `barcode`. — [client-go/models_v2.go](https://raw.githubusercontent.com/cloudloyalty/client-go/master/models_v2.go)
- Тестовый хост `https://api-test.maxma.com`. — [github.com/cloudloyalty/client-go](https://github.com/cloudloyalty/client-go). Подтверждение чека в PHP SDK: `confirmTicket(txid, ticket, receiptNum)`. — [github.com/cloudloyalty/client-php](https://github.com/cloudloyalty/client-php)

#### Mindbox
- Кассовые операции: `Offline.BeginAuthorizedOrderTransaction`, `CommitOrderTransaction` (подтвердить чек), `RollbackOrderTransaction` (откатить), `SaveOfflineOrder` (отложенная обработка чеков). Заказ создаётся в несколько этапов по принципу распределённой транзакции (сниппет; сайт не открылся из-за ошибки сертификата). — [developers.mindbox.ru/page/loyalty-pos](https://developers.mindbox.ru/page/loyalty-pos)
- Операции бывают синхронные (выполняются в реальном времени, результат в ответе) и асинхронные (запрос ставится в очередь, возвращается статус); есть `deviceUUID`. — [help.mindbox.ru](https://help.mindbox.ru/docs/операции-v-основные-сведения)
- Artix POS ↔ Mindbox:
  - операции по умолчанию: `Offline.AuthorizedPreorder`, `Offline.CommitOrderTransaction`, `Offline.RollbackOrderTransaction`, `Offline.ActivateDiscountCard`, `Offline.ActivateVirtualDiscountCard`, регистрация клиента;
  - расчёт выполняется автоматически при переходе в подытог;
  - параметры `authorizeOnlyOnSpendPoints`, `saveOrderBeforePrint`;
  - **таймаут по умолчанию 5 с**;
  - маска ID транзакции: `%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[07d])%(document.dateTimeBeg[hhmmss])`;
  - списание и расчёт скидок требуют онлайна, добавление карты при недоступности сервера ставится в Artix-Queue.
  — [docs.artix.su: Mindbox](https://docs.artix.su/display/ArtixDoc46/Mindbox)

#### Manzana Loyalty
- Протокол SOAP/WSDL, два сервиса:
  - AccountService: `contact_registration`, `complete_registration` (SMS-код), `registration_code_send`, `rollback_registration`, `card_replace`;
  - LoyaltyService: `balance_request`, `cheque_request`.

  Тип чека Soft (предварительный) или Fiscal (фискальный). Операции Sale, Return, Rollback. Поля: `RequestID`, `DateTime`, `Organization`, `BusinessUnit`, `POS`, `CardNumber`, `OperationType`, суммы и скидки. Позиции: `PositionNumber`, `Article`, `Price`, `Quantity`, скидки. — [github.com/Jeiwan/manzana-client](https://github.com/Jeiwan/manzana-client)
- Для всех операций, кроме продажи, тип чека должен быть Soft (сниппет). — [github.com/Jeiwan/manzana-client](https://github.com/Jeiwan/manzana-client)

#### Loymax
- Artix POS ↔ Loymax:
  - запрос скидки автоматически при переходе в подытог;
  - списание баллов по инициативе кассира;
  - «возврат начисленных/списанных бонусов … всегда производятся offline через очередь»;
  - **таймаут по умолчанию 30 с**; основной и резервный адрес `serverUrl` / `serverUrlOffline`; `typeDelivery` по умолчанию `offlinePurchase`;
  - список «некритичных» кодов ошибок, при которых сообщение удаляется из очереди без повтора;
  - «в системе лояльности Loymax отсутствует контроль минимальных цен».
  — [docs.artix.su: Loymax](https://docs.artix.su/display/ArtixDoc46/Loymax)
- Перевод программ «Пятёрочки» и «Перекрёстка» (X5) на Loymax: «полмиллиарда покупок в месяц», «несколько тысяч запросов в секунду» от касс, .NET Web API (OpenAPI 3.0), Kafka и RabbitMQ, MS SQL 2019. Раскатка шла примерно по 3 500 POS-терминалов в день. — [habr.com: X5 Tech](https://habr.com/ru/companies/X5Tech/articles/686524/)
- Примеры API на .NET, NuGet `nuget.loymax.net`, документация docs.loymax.net. — [github.com/loymax/loymax-api-samples](https://github.com/loymax/loymax-api-samples). Интеграционные решения для 18 кассовых ПО (сниппет). — [tadviser: Loymax](https://www.tadviser.ru/index.php/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82:Loymax_%D0%9F%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC_%D0%BB%D0%BE%D1%8F%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8)

#### Бонус+ (BonusPlus)
- Авторизация `ApiKey <токен>` (ключ из настроек, Base64). Методы:
  - покупатель: `GET /customer` (по ID, карте EAN или телефону), `POST /customer`, `PUT /customer/{phone}/sendCode`, `PUT /customer/{phone}/checkCode/{code}`;
  - баланс: `PATCH /customer/{phone}/balance` (начисление и списание), `PATCH /customer/{phone}/balance/reserve` (резерв), `GET /customer/{phone}/balance/reserve/{id}`;
  - чек: `PUT /retail/calc` (расчёт скидок и бонусов для чека), `POST /retail` (продажа), `PUT /retail/back` (возврат), `GET /retail/{id}`;
  - прочее: `POST /certificate`, `GET /ecard/{phone}/{validMinutes}`.
  — [bonusplus.pro/api/Help](https://bonusplus.pro/api/Help)
- Есть отдельный сервис webhooks для уведомлений сторонних систем. — [bonusplus.pro/api](https://bonusplus.pro/api)

#### PremiumBonus
- Открытый API; доступ по API-ключу и логину из ЛК (сниппет). — [premiumbonus.ru/docs](https://premiumbonus.ru/docs). Токен выдаётся на точку продаж. — [saby.ru/help/integration/premium_bonus](https://saby.ru/help/integration/premium_bonus). Поддерживаются «кастомные решения, внутренние платформы и legacy-системы». — [premiumbonus.ru/integrations](https://premiumbonus.ru/integrations)

#### Контракты, которые задают POS (для сравнения)
- r_keeper FarCards: `GetCardInfoEx` + атомарная `TransactionsEx`. — [docs.rkeeper.ru](https://docs.rkeeper.ru/pds/ru/nastrojka-farcards-dlya-vneshnej-sistemy-loyal-nosti-51414044.html)
- Эвотор: `ReceiptDiscountEventResult`, скидка на позицию через `priceWithDiscountPosition`. — [developer.evotor.ru](https://developer.evotor.ru/docs/doc_java_discounts.html)
- iikoCloud: `/api/1/loyalty/iiko/*`, токен на 1 час. — [pkg.go.dev: iiko-go](https://pkg.go.dev/github.com/wollzy/iiko-go)

### Inferences
Канонический контракт новой платформы (синтез из найденного):

**1. Идентификация.**
- `GET /customers/find` по телефону, номеру карты, QR или одноразовому коду из приложения или wallet.
- `POST /customers` для регистрации с OTP-флоу, например через 412 и `needVerification`, как в МоемСкладе.

**2. Расчёт.** `POST /purchases/calculate` — идемпотентный, без побочных эффектов.
- Вход:
  - шапка: `store_id`, `terminal_id`, `cashier`, `executed_at`, клиент, промокоды, подарочные карты;
  - строки: `line_id`, `sku`/`external_id`, `qty` (3 знака), `price`, `min_price`, `max_discount`, флаги «исключить из лояльности»;
  - бонусы: `apply_bonuses` (сколько хочет списать), `collect_bonuses`.
- Выход:
  - по строкам: `discount_amount`, `discounted_price`, распределение списанных баллов;
  - итоги: `max_redeemable`, `will_earn`, баланс до и после;
  - `needs_otp`;
  - `receipt_info` (строки для печати: текст, таблица, штрихкод).

**3. OTP.** `POST /purchases/{txid}/otp` и `/otp/verify`. В ответе — `time_for_repeat` и сообщение кассиру до 140 символов.

**4. Резерв и подтверждение.**
- `POST /purchases` (set) с клиентским `txid`: создаёт «ticket» и резервирует баллы.
- `POST /purchases/{txid}/confirm` с `receipt_number`, `shift`, `fiscal_*` после печати чека.

**5. Отмена.** `POST /purchases/{txid}/cancel` (discard/rollback) снимает резерв.

**6. Возврат.** `POST /returns` со ссылкой на исходный `txid` и строками, поддерживает частичный возврат. Возвраты можно ставить в офлайн-очередь, как в Loymax/Artix.

**7. Подарочные карты и промокоды.** Проверка в `calculate`, погашение в `confirm`.

Сквозные требования:
- ключи на назначение и точку (касса, сайт, CRM), как в MAXMA и PremiumBonus;
- лимиты и HTTP 429;
- p95 не больше 750 мс;
- рекомендуемые таймауты для кассы 3–5 с (Mindbox/Artix — 5 с);
- health-check `/alive`;
- webhooks с таймаутом 30 с и повторами;
- версионирование с уведомлением за 30+ дней.

Для офлайна: коннектор копит `confirm`/`return` в локальной очереди с тем же `txid`, а сервер идемпотентно принимает поздние чеки (аналог `SaveOfflineOrder` в Mindbox). ID транзакции стоит строить детерминированно: магазин + касса + смена + номер чека + время, как в маске Artix для Mindbox. Тогда повтор после таймаута не создаст дубль.

Встраивание в собственные продукты создателя через тот же публичный API реалистично: у MAXMA тот же Server API обслуживает кассу, сайт и CRM с разными ключами.

### Gaps
- Полная документация MAXMA (docs.maxma.com/api — JS-страница), UDS (docs.uds.app — SPA), Mindbox (сертификат) не загрузилась. Поля собраны по SDK, правилам и POS-документации.
- PLAZIUS: API и статус компании найти не удалось (plazius.ru не резолвится). В Frontol 6 указан как «Platius».
- Публичная кассовая документация PremiumBonus и Loymax (конкретные методы) недоступна.
- В документации вендоров не найдены явные рекомендации по таймаутам для синхронных вызовов с кассы (кроме дефолтов Artix: 5 с для Mindbox, 30 с для Loymax, 120 с для CARDSERV в r_keeper).

---

## 6. Трудозатраты на интеграцию, нагрузка на поддержку и типичные проблемы

### Takeaway
Основная нагрузка на поддержку идёт от бинарных плагинов:
- iiko: лицензии модулей, версия плагина под каждую версию iikoFront, API V8/V9/V10;
- r_keeper: версии CARDSERV и FarCards, логи отладки;
- Artix и Frontol: ini-конфигурации и лицензии модулей.

Помимо этого, в каждой интеграции приходится решать офлайн и очереди, атомарность транзакций (FarCards), блокировку карты до пробития чека (1С) и UX-ограничения (в Эвотор скидку нельзя применить автоматически). Прямых отчётов интеграторов про дубли чеков и рассинхрон времени найти не удалось.

### Cited Findings
- В iiko без лицензии разработчика и ID модуля плагин не запускается. ID модуля должен совпадать в `Manifest.xml` и атрибуте класса, иначе будут конфликты лицензий. Одновременно существуют версии API V8 (obsolete), V9 и V10 (preview). — [iiko.github.io/front.api.doc/licensing.html](https://iiko.github.io/front.api.doc/licensing.html)
- Вендоры выпускают плагин iiko под конкретную версию и требуют лицензию коннектора через дилера iiko. — [docs.teyca.ru](https://docs.teyca.ru/subarticle/integration-iiko)
- Открытые issues в iiko front.api.sdk: исключения в `PluginContext.Operations.GetOrders`, «ShowExtendedInputDialog не всегда принимает считывание карты», баги уведомлений, конфликты редактирования заказа. — [github.com/iiko/front.api.sdk/issues](https://github.com/iiko/front.api.sdk/issues)
- Маркетплейс iiko требует инспекции кода, обязательной техподдержки и тестирования перед релизом. — [multi-bit.com](https://multi-bit.com/avt_iiko/iiko_rkeeper)
- r_keeper: `TransactionsEx` должна быть атомарной («либо все проходят, либо ни одна!»). — [docs.rkeeper.ru](https://docs.rkeeper.ru/pds/ru/nastrojka-farcards-dlya-vneshnej-sistemy-loyal-nosti-51414044.html). Есть требования к версиям (CARDSERV ≥ 5.08, FarCards ≥ 3.02, pds_netk.dll ≥ 7.0.29.0), для отладки включаются `DebugMessages=1` и `DebugMessages=34`. — [docs.rkeeper.ru: ПДС](https://docs.rkeeper.ru/rk7/latest/ru/nastrojka-svyazi-s-pds-6655573.html)
- 1С:Касса: карта блокируется на сервере лояльности до пробития, отложения или отмены чека. Зависшие блокировки — потенциальный источник обращений. — [torg.1c.ru](https://torg.1c.ru/articles/kak-podklyuchit-1s-kassu-k-serveru-loyalnosti-na-primere-1s-roznitsy/)
- Artix: офлайн-очереди (Artix-Queue) для возвратов и отложенных операций, список «некритичных» ошибок, при которых сообщение удаляется из очереди, резервный `serverUrlOffline`. — [docs.artix.su: Loymax](https://docs.artix.su/display/ArtixDoc46/Loymax). Для Mindbox — `saveOrderBeforePrint` (сохранить скидки до печати) и очередь при недоступности сервера. — [docs.artix.su: Mindbox](https://docs.artix.su/display/ArtixDoc46/Mindbox)
- Эвотор: скидку приложения кассир вызывает вручную, автоматически она не применяется. — [developer.evotor.ru](https://developer.evotor.ru/docs/doc_java_discounts.html)
- Tillypad: списание оформляется как отдельный элемент гостевого счёта, сумма вводится в поле «Количество». Это ручная операция кассира. — [tillypad.ru/developers](https://tillypad.ru/developers/details/integratsii_tillypad_s_vneshnimi_sistemami_loyalnosti)
- Масштаб и скорость раскатки: X5 и Loymax — тысячи RPS от касс, раскатка около 3 500 POS в день, цель — «99.9% функциональности» для покупателей. — [habr.com: X5 Tech](https://habr.com/ru/companies/X5Tech/articles/686524/)
- MAXMA предупреждает о несовместимых изменениях за 30 дней, о техработах — за 3 дня; троттлинг и 429 при аномальной частоте (в 10 раз выше среднего за 48 часов). — [maxma.com/terms/API.pdf](https://maxma.com/terms/API.pdf)
- **[после 2022]** Ограничения мобильного интернета с «белыми списками» (схема Минцифры от 7 августа 2025 года). — [en.wikipedia.org/wiki/Internet_censorship_in_Russia](https://en.wikipedia.org/wiki/Internet_censorship_in_Russia)

### Inferences
Под каждую POS нужна матрица совместимости (версия POS × версия коннектора) и CI-сборки для iiko V9/V10, Эвотор, Set API и 1С-расширений. Также нужны:
- встроенная в коннектор офлайн-очередь с идемпотентными `txid`;
- хранение «ticket»/резерва с TTL, чтобы зависшие резервы (аналог блокировки карты в 1С) снимались автоматически;
- серверные отчёты сверки «чеки POS ↔ транзакции лояльности».

Дубли, скорее всего, возникают при повторе запроса после таймаута. Их гасят детерминированный ID транзакции (как маска Mindbox/Artix) и `nonce` (UDS).

Рассинхрон времени кассы: в запросах есть `executedAt`/`moment`/`DateTime`. Сервер должен принимать время кассы как бизнес-время, а собственное время приёма хранить отдельно (для офлайн-чеков). Это вывод, первоисточника нет.

Поддержку лучше строить через дилеров и интеграторов POS: лицензии iiko и r_keeper ставит дилер. Для этого нужна партнёрская программа для дилеров iiko, r_keeper и АТОЛ.

### Gaps
- Не найдено публичных отчётов интеграторов (Habr, vc.ru) о типовых инцидентах: дубли чеков, рассинхрон времени, поломки после обновлений POS. Поиск был исчерпан до этой части.
- Нет оценок трудозатрат (человеко-месяцы) на разработку и поддержку коннекторов и данных о стоимости сертификации у вендоров POS.
