☰ Меню · Ключі та права
Ключі та права
Кожен запит містить секретний ключ у заголовку 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 зі свого сервера або з бек-офісу каси, але ніколи з браузера чи публічного мобільного застосунку.
- Ми зберігаємо лише хеш кожного ключа. Якщо ключ втрачено, відкличте його в кабінеті та створіть новий. Зміна діє одразу.
- За можливості використовуйте окремий ключ для кожної інсталяції (каси, кіоску). Тоді відкликання одного ключа не зупинить решту, а поле Останній виклик у кабінеті покаже, який пристрій надсилає запити.