☰ Меню · Ключі та права
Початок роботи

Ключі та права

Кожен запит містить секретний ключ у заголовку 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@loyaltyfy.io. Відповідаємо протягом одного робочого дня.