☰ Меню · Ключи и права
Начало работы

Ключи и права

Каждый запрос передаёт секретный ключ в заголовке Authorization. Ключ принадлежит одному заведению, и его права можно ограничить тем, что нужно интеграции.

curl
curl https://loyaltyfy.io/api/v1/account \
  -H "Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc"

Передавайте ключ в виде Authorization: Bearer <key>. На запросы без ключа, с неизвестным или отозванным ключом приходит 401.

Тестовые и боевые ключи

Ключи начинаются с sk_test_ или sk_live_. Оба работают с одним и тем же заведением и одними и теми же данными. Разница в флаге livemode у всего, что создаёт ключ: по нему отчёты и вебхуки отличают тестовый трафик. Пока идёт разработка, используйте тестовый ключ, а к первой настоящей смене переключитесь на боевой.

Права

Ключ можно ограничить набором прав. Если для запроса нужно право, которого у ключа нет, придёт 403 с кодом missing_scope. Ключ без указанных прав имеет полный доступ. Такой ключ мы советуем только для собственных скриптов заведения.

ПравоЧто разрешает
members:readИскать участников, получать их список, читать историю, сканировать коды.
members:writeРегистрировать участников, менять профили, привязывать номера карт.
members:adjustВручную начислять или снимать кэшбэк с указанием причины, если заведение это разрешило.
transactions:writeПроводить и отменять чеки, отмечать визиты, выдавать награды, получать список транзакций.
menu:readЧитать меню и блюда.
menu:writeСоздавать блюда, менять цены, управлять стоп-листом.
orders:readЧитать заказы со столов.
orders:writeПринимать, отклонять и вести заказы по статусам.
devices:writeНабор для киосков и сканеров: сканирование, визиты, регистрация и выдача наград без доступа к списку участников и чекам.
catalog:readЧитать товары и правила категорий.
catalog:writeВыгружать товары и задавать названия категорий. Денежные правила категорий остаются за владельцем.
webhooks:writeУправлять адресами вебхуков.

Типичные наборы: кассе нужны members:read, members:write, transactions:write. Сканеру у входа достаточно devices:write. Для синхронизации меню нужны menu:read и menu:write, а если POS принимает заказы со столов, добавьте orders:read и orders:write.

Как хранить ключи

  • Ключи секретные. Вызывайте API со своего сервера или из бэк-офиса кассы, но никогда из браузера или публичного мобильного приложения.
  • Мы храним только хеш ключа. Если ключ утерян, отзовите его в кабинете и создайте новый. Изменение вступает в силу сразу.
  • По возможности выдавайте отдельный ключ на каждую установку (на каждую кассу, каждый киоск). Тогда отзыв одного ключа не остановит остальные, а по полю Последний вызов в кабинете видно, какое устройство обращается к API.
Вопросы по интеграции: api@loyaltyfy.io. Отвечаем в течение одного рабочего дня.