iiko Loyalty (Card) API: как подключить программу лояльности
Программа лояльности в iiko — это не только скидка на чеке. Через iiko Loyalty (Card) API бонусами, купонами и персональными предложениями можно управлять снаружи: из бота, из доставки, из ИИ-администратора. Разбираем по шагам, где взять ключ, что реально умеет API, а что придётся закрывать другими способами.

Гость сделал три заказа и пропал. Другой оставил у вас 40 тысяч за месяц, а вы даже не поздоровались с ним по имени. Программа лояльности iiko умеет чинить обе истории — но только если её вывести за пределы кассы. Именно для этого существует iiko Loyalty API (в интерфейсе и документации он же iiko Card / iikoCard). Ниже — как он устроен и как подключить его без танцев с бубном.
Что такое iiko Loyalty и чем Card отличается от Transport
У iiko несколько API, и их постоянно путают. Чтобы не терять время, держите в голове это разделение:
| API | За что отвечает | Когда нужен для лояльности |
|---|---|---|
| iiko Loyalty (Card) API | Бонусы, скидки, купоны, категории гостей, программы лояльности | Всегда — это и есть «мозг» лояльности |
| iiko Transport API | Меню, заказы, доставка, статусы | Когда бонусы списываются в реальном заказе |
| iiko Biz / Server API | Отчёты, номенклатура, сотрудники | Обычно нет |
Ключевое: программа лояльности iiko живёт в облаке iikoCard, а не в вашем локальном сервере iikoOffice. Поэтому API называется облачным, а точка входа — api-ru.iiko.services (для России). Начисление и списание бонусов — это всегда обращение в облако.
Где взять ключ и как авторизоваться
Доступ к iiko api лояльность даёт не логин-пароль от кассы, а API-логин (apiLogin) — длинная строка, которую генерируют в личном кабинете iiko или запрашивают у вашего аккаунт-менеджера / интегратора. Один apiLogin может открывать доступ сразу к нескольким организациям под вашим юрлицом.
Схема авторизации простая и одинаковая для всех облачных методов iiko:
- Получаете токен. Метод
POST /api/1/access_token, в теле — вашapiLogin. В ответ приходитtoken. - Живёт токен ~1 час. Его кэшируют и переиспользуют, а не запрашивают на каждый чих — иначе упрётесь в лимиты.
- Дальше все запросы идут с заголовком
Authorization: Bearer <token>. - Узнаёте organizationId. Метод
POST /api/1/organizationsвернёт список организаций и их идентификаторы — почти каждый метод лояльности требуетorganizationId.
Практичный совет: apiLogin — это фактически ключ от кошелька ваших гостей. Не зашивайте его в код мобильного приложения или в браузерную часть сайта. Только на сервере, только в переменных окружения. Утёкший apiLogin — это чужие руки в вашей бонусной системе.
Что реально умеет iiko Loyalty API
Documentация большая, но 90% задач кафе и доставки закрывают несколько методов. Вот рабочий минимум:
Найти и завести гостя
/api/1/loyalty/iiko/customer/info— найти гостя по телефону, карте, email или ID. Отдаёт баланс бонусов, категорию, историю./api/1/loyalty/iiko/customer/create_or_update— создать нового или обновить данные. Сюда попадает гость, который впервые оставил у вас телефон.
Считать и списывать бонусы
/api/1/loyalty/iiko/calculate— самый важный метод для доставки. Передаёте состав заказа и гостя — получаете, сколько бонусов начислить, сколько можно списать, какие скидки и купоны применимы. Ничего не меняет, просто считает.- Фактическое списание/начисление происходит, когда заказ уходит в iiko через Transport API с привязанным гостем и рассчитанной программой лояльности.
Купоны и промокоды
/api/1/loyalty/iiko/coupons/seriesи методы проверки конкретного купона — чтобы промокод из рассылки или из чата с гостем срабатывал в заказе, а не был просто красивой строчкой.
Программы, категории, маркетинговые кампании
- Списки программ лояльности, категорий гостей (например, «VIP», «Новичок»), настроенных в iikoCard. По категории удобно сегментировать рассылки и предложения.
Пошаговый план подключения
Если вы владелец и хотите понимать, что происходит (даже если руками делает подрядчик), держите чек-лист:
- Проверьте, что лояльность настроена в iikoCard. Если бонусов нет в самой кассе — API нечего отдавать. Заведите хотя бы одну программу начисления (например, 5% бонусами) и правило списания.
- Получите apiLogin в кабинете iiko или у менеджера. Уточните, что это ключ именно Loyalty/iikoCard, а не только Transport.
- Проверьте токен вручную. Любой человек с Postman за 5 минут дёрнет
access_tokenиorganizations— если organizationId вернулся, доступ живой. - Свяжите канал сбора телефонов. Сайт, бот, доставка — везде, где гость оставляет номер, этот номер должен уходить в
customer/create_or_update. Иначе база лояльности не растёт. - Включите расчёт бонусов в оформлении заказа. Через
calculate— чтобы гость видел «спишется 200 бонусов» ещё до подтверждения. - Проверьте на реальном заказе. Сделайте тестовый заказ на свой номер, спишите бонусы, убедитесь, что баланс изменился и в кассе, и в API.
Честно: что закрывает API, а что — нет
API — это доступ к данным и расчётам. Он не будет сам звонить гостю, писать поздравление с днём рождения или уговаривать вернуться. Всю «человеческую» часть лояльности делает то, что вы поверх API построите.
| Задача | iiko Loyalty API | Кто закрывает на практике |
|---|---|---|
| Хранить бонусы и историю гостя | Да, напрямую | iiko |
| Рассчитать скидку/бонус в заказе | Да, метод calculate | iiko + ваш сайт/бот |
| Напомнить гостю про сгорающие бонусы | Даёт баланс, но не шлёт сообщение | Рассылка / ИИ-администратор |
| Предложить купон «ушедшему» гостю | Купон создаёт, отправку — нет | CRM / бот |
| Ответить гостю «сколько у меня бонусов?» | Отдаёт цифру по запросу | Тот, кто общается с гостем |
Вот здесь и появляется практическая польза. Когда гость в чате спрашивает «а бонусами можно оплатить?» или «сколько у меня накоплено?», кто-то должен сходить в iiko card по API и ответить сразу, а не через два часа. У нас в «Людочке» ИИ-администратор как раз подтягивает баланс и правила лояльности из iiko в момент разговора — гость получает точную цифру и сразу оформляет заказ со списанием, без ручного участия оператора. Это не магия API, это надстройка над ним: сам iiko молчит, пока его не спросят.
Три частые грабли
- Гость дублируется. Один и тот же человек с телефона в TG и с телефона на сайте создаётся дважды, бонусы размазываются. Всегда ищите гостя через
customer/infoперед созданием. - Списание считается на клиенте. Никогда не верьте расчёту скидки на стороне сайта — только
calculateот iiko. Иначе гость «нарисует» себе скидку. - Токен запрашивается на каждый запрос. Кэшируйте на час. Иначе поймаете троттлинг в час пик.
Итог: с чего начать завтра
Если у вас уже стоит iiko, подключение iiko loyalty — это не месяцы разработки, а несколько понятных шагов: настроить программу в iikoCard, получить apiLogin, научиться получать токен и считать бонусы в заказе. Дальше вопрос в том, кто будет с этими данными общаться с гостем — рассылка, бот или ИИ-администратор. API даёт цифры и правила; ценность появляется, когда эти цифры вовремя доходят до конкретного человека и превращаются в повторный заказ.
Частые вопросы
Чем iiko Loyalty API отличается от iiko Card?
Это одно и то же. В интерфейсе iiko программа лояльности называется iikoCard, а облачное API для управления ей исторически носит имя Loyalty (Card) API. Точка входа для России — api-ru.iiko.services, авторизация через apiLogin и часовой токен.
Где взять ключ для iiko api лояльность?
Нужен apiLogin — его генерируют в личном кабинете iiko или запрашивают у аккаунт-менеджера либо интегратора. Уточните, что доступ нужен именно к Loyalty/iikoCard, а не только к Transport. Один apiLogin может открывать несколько организаций.
Можно ли через API списывать и начислять бонусы в реальном заказе?
Да. Метод calculate рассчитывает, сколько начислить и сколько можно списать, а фактическое движение бонусов происходит, когда заказ уходит в iiko с привязанным гостем и применённой программой лояльности. Расчёт всегда должен идти от iiko, а не считаться на стороне сайта.
Обязательно ли программировать, чтобы подключить лояльность iiko?
Настройку программ (начисление, списание, купоны) делаете в iikoCard без кода. А вот чтобы бонусы работали в боте, на сайте или в доставке, нужна интеграция через API — её делает разработчик, интегратор или готовый сервис, который уже умеет ходить в iiko Loyalty.
Как ответить гостю в чате, сколько у него бонусов?
API отдаёт баланс по запросу через метод customer/info по телефону или карте. Но сам iiko сообщение не отправит — нужен тот, кто общается с гостем и в момент вопроса сходит в API. Это может быть оператор, бот или ИИ-администратор вроде Людочки, который подтягивает баланс прямо в диалоге.