☰ Меню · Ключи и права
Ключи и права
Каждый запрос передаёт секретный ключ в заголовке Authorization. Ключ принадлежит одному заведению, и его права можно ограничить тем, что нужно интеграции.
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.