API GetQR перебуває в бета-версії та доступний для окремих робочих просторів. До загального релізу деталі можуть змінитися.
Перш ніж почати
- Роль. Щоб задавати правила, призупиняти, відновлювати й видаляти, потрібен доступ на запис до QR-кодів у робочому просторі. Див. Автентифікація.
- Підписка. Кожен запит до API, зокрема ці, потребує активної підписки власника робочого простору.
Об’єкт access
Надсилайте об’єктaccess, коли створюєте або оновлюєте QR-код:
Пропущені поля не змінюються. Щоб очистити правило, надішліть
null. Частковий об’єкт access ніколи не скидає правила, які ви не згадали.
Планування початку й кінця
activeAt і pauseAt незалежні: задайте одне з них або обидва. Обидва приймають дату й час ISO 8601 із Z або зміщенням від UTC.
null. QR-код одразу стане активним, а дату завершення буде прибрано:
Ліміт сканувань
Обмежте загальну кількість сканувань. Після цього QR-код перестає спрацьовувати:- Підвищення ліміту дає рівно стільки додаткових сканувань, скільки становить різниця між новим лімітом і загальною кількістю сканувань.
- Зниження ліміту нижче поточної загальної кількості одразу блокує QR-код.
- Ліміт, заданий пізніше, враховує сканування, зроблені, поки ліміту не було.
scanLimit має бути додатним цілим числом, до 2147483647. Для необмеженої кількості надішліть null.
Захист паролем
Задайте пароль через той самий об’єктaccess. Коли ви вимикаєте захист, збережений пароль лишається, тож захист можна знову ввімкнути без повторного надсилання пароля.
1
Задайте або змініть пароль
Це також вмикає захист.
2
Вимкніть захист
Збережений пароль лишається.
3
Знову ввімкніть захист
Пароль повторно надсилати не потрібно. Це працює, лише якщо пароль уже задано. Інакше запит отримає
422.- Під час створення. Щоб увімкнути захист, надішліть
password. Сам по собіpasswordProtectedні на що не впливає, доки немає пароля. - Видалення пароля. Надішліть
"password": null. Захист теж вимкнеться. - Читання. Відповіді ніколи не повертають пароль, лише
access.passwordProtected.
Призупинення, відновлення й видалення
Призупинення й відновлення — це окремі ендпоінти, а не поляaccess, бо вони діють одразу, а не за розкладом.
Призупинення й відновлення не приймають тіла запиту й повертають оновлений QR-код:
PUT /api/v1/qrs/{qrId} з { "archived": true } або через archived у PATCH. Див. Встановлення стану паузи.
Видалення прибирає QR-код разом із його коротким посиланням:
Коли зміни набувають чинності
- Наступне сканування. Правила перевіряються під час сканування коду, тож зміна діє з наступного сканування, а не заднім числом.
- Сторінка паузи. QR-код, заблокований розкладом, лімітом сканувань або паузою, показує сторінку паузи. Сканування не перенаправляється.
- Пароль. Відвідувачі, які вже ввели пароль, зберігають доступ, доки пароль не зміниться або доки захист не вимкнуть і не ввімкнуть знову.
- Годинник. Розклади використовують годинник сервера в UTC, а не місцевий час відвідувача.
- Правила діють разом. QR-код спрацьовує, лише якщо він не призупинений, перебуває в межах розкладу й не перевищив ліміт сканувань.
Поширені проблеми
422 під час задання правила в link
422 під час задання правила в link
Надсилайте правило в
access, а не в link.422 під час увімкнення захисту паролем
422 під час увімкнення захисту паролем
QR-код ще не має пароля. Надішліть
password замість passwordProtected: true.Після відновлення QR-код і далі показує сторінку паузи
Після відновлення QR-код і далі показує сторінку паузи
Діє розклад або ліміт сканувань. Перевірте
access.activeAt, access.pauseAt і access.scanLimit у QR-коді і порівняйте scans з лімітом.Мені потрібно, щоб посилання завершило дію
Мені потрібно, щоб посилання завершило дію
link.expiresAt у цьому API недоступний. Натомість використовуйте access.pauseAt.