
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Створюйте одноразові квитки, підтвердження видачі або купони. Працівник сканує код, перевіряє результат, переглядає замовлення й окремо підтверджує використання.
Посібники публічних бета-версій · інструкції Haptics у його картці Bubble
Умови публічної бета-версії: Bubble безкоштовно · 7 днів з карткою, потім 1,50 USD/місяць за плагін у проєкті.
Документація переглянута 6 листопада 2026
Практичні сценарії
Одноразовий вхід на подію сьогодні
Скріншот звичайного значення QR можна використати в більш ніж одному вході.
Ваш додаток зберігає запис допуску та стабільний випуск `request_id`; використовуйте підготовлені `label=event` та `ttl_seconds` у межах контракту тривалістю 1–86400 секунд.
Авторизований видавець запускає Issue QR pass і конфіденційно передає повернений QR. Персонал сканує → Check QR pass → підтверджує лише якщо `ok=yes` і `status=available` → Confirm QR redemption зі збереженим стабільним ідентифікатором запиту.
Лише `status=redeemed` плюс `receipt_id` авторизують ваш квиток прийому в додатку. Збережіть посилання на пропуск/квиток у Admission; не розкривайте вміст QR аналітиці.
Для `outcome_unknown` відновіть той самий запит із тим самим користувачем, середовищем і тією самою QR-перепусткою; ніколи не створюйте новий ідентифікатор підтвердження. Обробляйте стани expired і revoked та випадок, коли перепустку вже використано, як окремі результати.
Заплановано. Сканування й перевірка не використовують перепустку; це робить лише окреме підтвердження.
Одноразова короткочасна знижка
Партнер потребує підтвердженого результату використано/не використано замість довіри до зображення QR або анімації екрану.
`label=coupon`; запис Benefit у додатку визначає право на отримання та коротке вікно дії перед авторизованою дією видачі.
Видавайте пропуск лише після перевірки правомірності вашого застосунка. На касі Check QR pass показує доступність без її використання. Після того, як співробітник підтвердить доставку вигоди, запустіть Confirm QR redemption.
Ваш запис вигоди може зберігати `receipt_id` та підтверджений час викупу після `status=redeemed`. Плагін керує станом пропуску; ваш додаток керує вигодою та взаємовідносинами з клієнтами.
Якщо вигода скасована до використання, той самий уповноважений емітент може Revoke QR pass, використовуючи його `pass_id`. Не оголошуйте про повернення коштів або успішний викуп лише на підставі `ok=yes`.
Заплановано. Сканування й перевірка не використовують перепустку; це робить лише окреме підтвердження.
Отримання замовлення чи обладнання
У робочому процесі персоналу потрібно розрізняти сканування посилання на колекцію та фактичну передачу предмета.
Запис вашої власної колекції в застосунку зберігає авторизацію, призначений елемент та окремі стабільні ідентифікатори запитів на випуск/погашення; використовуйте короткоживучий пропуск `label=access`.
Після того, як ваш застосунок авторизує колекцію, Issue QR pass. Співробітники сканують і перевіряють, оглядають відповідну колекцію у вашому застосунку, потім явно підтверджують передачу та Confirm QR redemption.
Лише після підтвердженого квитанції `redeemed` ваш робочий процес повинен встановити статус колекції як переданий. Залиште `receipt_id` як посилання на результат пропуску.
Повторне сканування може повернути already_used; відобразіть існуючий запис у додатку замість передачі іншого предмета. Відновіть невизначене підтвердження з тим же ідентифікатором та вхідними даними.
Заплановано. Сканування й перевірка не використовують перепустку; це робить лише окреме підтвердження.
Що працює зараз
Приватна бета. Поточний сканер має керування камерою й дозволами. Створення, перевірка та підтвердження одноразових перепусток заплановані й ще не готові до використання у вашому застосунку.
Побудуйте бізнес-процес
Заплановано
Запланований процес. Ще не доступний у поточній бета-версії.
У прикладах є записи Lesson, Message та Order. Замініть їх на власні типи даних і назви елементів. Замість адрес із прикладів підставте власні файли.
Заплановано: уповноважений працівник виконує Issue QR pass для Admission або Order. Приклад: label=event, ttl_seconds=900, environment=development. Залишайте сталий request_id для цього створення й запишіть pass_id разом із замовленням або квитком.
Покажіть отриманий QR його власнику. Працівник сканує його. У запланованому процесі перепусток потрібні workflow_mode=yes і читання scanned_pass_token після pass_scanned. У поточному сканері цих налаштувань ще немає.
Виконайте Check QR pass з pass_token = QR Scanner's scanned_pass_token. Перевірка не використовує перепустку. Якщо status=available, покажіть деталі відповідного замовлення або входу для перевірки працівником.
Лише окрема кнопка «Підтвердити» виконує Confirm QR redemption з тим самим pass_token, сталим request_id і confirm=yes. На status=redeemed збережіть receipt_id та позначте саме це замовлення або вхід завершеним.
already_used, expired, revoked або invalid означають відмову у вході чи видачі. Саме сканування або успішна перевірка Check не завершують операцію.
Налаштуйте один раз
Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins. Оберіть Xodera QR Passes Native, скопіюйте його ключ, відкрийте Bubble → Plugins → Xodera QR Passes Native і вставте ключ у project_api_key. Збережіть один раз, далі використовуйте дії нижче. Для кожного плагіна в кожному проєкті є окремий ключ.
Для сканування потрібен дозвіл на камеру. Для одноразових перепусток визначте, хто може їх створювати, а хто перевіряє на вході чи під час видачі. Звичайному клієнту ці ролі не потрібні.
qr_issuer_permission_field
qr_pass_issuer · Назва поля User типу yes/no, яке позначає працівника з правом створювати або скасовувати перепустки. Приклад і типове значення: qr_pass_issuer. Тут потрібна назва поля, а не yes чи no. Змінювати цей дозвіл користувача може лише уповноважений адміністратор.
qr_staff_permission_field
qr_staff · Назва поля User типу yes/no, яке позначає працівника з правом перевіряти й підтверджувати використання. Приклад і типове значення: qr_staff. Власнику квитка цей дозвіл не потрібен. Не додавайте його до публічної реєстрації або профілю.
Налаштуйте один раз
- Створіть або оберіть проєкт Bubble у BestPlugins → Dashboard → Plugins.
- Оберіть цей плагін і скопіюйте ключ його проєкту.
- Відкрийте Bubble → Plugins → Xodera QR Passes Native; вставте ключ у project_api_key і збережіть.
- Додайте елемент, оберіть дані свого застосунку та побудуйте workflow нижче.
- Наразі лише приватна бета. Публічне встановлення та платна активація ще не відкриті.
Встановлення та підписка
Для Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit та Haptics: безкоштовне встановлення в Bubble, 7 днів пробного доступу з карткою, потім 1,50 USD на місяць за плагін у проєкті. Розробку й робочу версію включено, без ліміту операцій. Обмеження файлів і можливостей залишаються. Перед підтвердженням перевірте оплату й скасування. Інші плагіни недоступні для покупки.
Як записати результат у свою базу
Приклад Admission або Pickup: збережіть відповідне замовлення чи подію, pass_id, expires_at та issue_request_id. Після підтвердженого використання додайте receipt_id, redeemed_at і працівника, який підтвердив. Не завершуйте запис лише після сканування або перевірки. QR-код не встановлює особу.
Помилки, скасування та відновлення
Якщо outcome_unknown=yes, збережіть ту саму перепустку, request_id і параметри, коли перевіряєте результат повторно. Не створюйте нове підтвердження. already_used, expired і revoked — завершені бізнес-результати. Якщо доступ відхилено, попросіть уповноваженого адміністратора перевірити роль працівника. Clear session очищує сканер, але не скасовує завершене використання.
Можливості й обмеження
Заплановані перепустки одноразові, зі строком дії 1–86400 секунд; стандартне значення — 900. Типи перепусток: access, event, coupon і membership. Перевірка не резервує перепустку. Для використання перепустки потрібне інтернет-з’єднання. Обробка платежів, перевірка особи та багаторазова довгострокова членська картка не передбачені. Зчитування звичайного значення QR — окрема дія від перевірки перепустки.
Налаштування, дії та результати
Використовуйте ці назви в Bubble. Плановані функції позначені окремо.
Доступні бета‑налаштування
Налаштування елемента
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textСтани
scanner_status · textserver_status · textpass_id · textpass_label · textreceipt_id · texterror_code · textis_busy · yes/nois_scanning · yes/notorch_enabled · yes/noscan_source · textpending_redemption · yes/noПодії
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_errorДії та їхні параметри
Clear sessionНалаштування елемента · 5
Запланований процес. Ще не доступний у поточній бета-версії.
disabledyes/no · Типове значення: false- Приклад значення
no - Приклад виразу Bubble
GuideHost's is_busy (your yes/no custom state) - Вимкніть елемент, коли застосунок зайнятий або дія недоступна.
is_activeyes/no · Типове значення: true- Приклад значення
yes - Приклад виразу Bubble
GuideHost's view_is_active (your yes/no custom state) - yes, доки ця сторінка відкрита; no під час виходу, щоб зупинити відтворення чи поточну дію.
ui_text_jsontext · Типове значення: "{}"- Приклад значення
{} - Приклад виразу Bubble
App Settings' player_labels_json (supported keys only) - Необов’язковий JSON із підтримуваними підписами кнопок. Залиште порожнім для вбудованих текстів.
languagetext · Типове значення: "auto"- Приклад значення
uk - Приклад виразу Bubble
Current User's preferred_language - Укажіть language=auto, щоб автоматично використати підтримувану мову пристрою або браузера. Щоб обрати мову явно, укажіть підтримуваний код мови.
workflow_modeyes/no · Типове значення: false- Приклад значення
yes - Приклад виразу Bubble
App Settings' use_qr_business_actions - Заплановано: передати відскановане QR-значення в Check QR pass. Саме сканування не підтверджує вхід або видачу.
Дії та їхні параметри · 5
Запланований процес. Ще не доступний у поточній бета-версії.
Clear session
Немає параметрів дії
Issue QR pass
environmenttext · Типове значення: "development"- Приклад значення
development - Приклад виразу Bubble
App Settings' selected_environment - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
request_idtext · Типове значення: —- Приклад значення
pickup-123-issue-v1 - Приклад виразу Bubble
Current Admission's stable_request_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
labeltext · Типове значення: "access"- Приклад значення
event - Приклад виразу Bubble
Selected Admission's pass_label - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
ttl_secondsnumber · Типове значення: 900- Приклад значення
900 - Приклад виразу Bubble
Event Settings' pass_ttl_seconds - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Повернення
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Типове значення: "development"- Приклад значення
development - Приклад виразу Bubble
App Settings' selected_environment - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
pass_tokentext · Типове значення: —- Приклад значення
<opaque token returned by Issue / camera scan> - Приклад виразу Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Повернення
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Типове значення: "development"- Приклад значення
development - Приклад виразу Bubble
App Settings' selected_environment - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
pass_tokentext · Типове значення: —- Приклад значення
<opaque token returned by Issue / camera scan> - Приклад виразу Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
request_idtext · Типове значення: —- Приклад значення
pickup-123-redeem-v1 - Приклад виразу Bubble
Current Admission's stable_redemption_request_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
confirmyes/no · Типове значення: false- Приклад значення
yes — explicit confirmation only - Приклад виразу Bubble
Confirm Checkbox is checked - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Повернення
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Типове значення: "development"- Приклад значення
development - Приклад виразу Bubble
App Settings' selected_environment - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
pass_idtext · Типове значення: —- Приклад значення
<pass_id returned by Issue> - Приклад виразу Bubble
Selected Admission's pass_id - Візьміть значення поточного бізнес-запису й перевірте межі нижче.
Повернення
pass_id · textrevoked · yes/noСтани та події
Запланований процес. Ще не доступний у поточній бета-версії.
Стани
scanner_status · textПоточний результат дії. Перед записом успіху дочекайтеся відповідної події завершення. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textПоточний результат дії. Перед записом успіху дочекайтеся відповідної події завершення. empty,available,redeemed,already_used,expired,revoked
pass_id · textІдентифікатор цього елемента або дії. Зберігайте його разом із відповідним записом. Для повтору з невідомим результатом використовуйте той самий ID запиту.
pass_label · textПоточне значення для вибраного елемента. Зчитуйте його після відповідної події. empty,access,event,coupon,membership
receipt_id · textІдентифікатор цього елемента або дії. Зберігайте його разом із відповідним записом. Для повтору з невідомим результатом використовуйте той самий ID запиту.
error_code · textПомилка останньої дії. Покажіть зрозуміле повідомлення й запропонуйте відповідний повтор.
is_busy · yes/noДія ще триває. Дочекайтеся завершення перед іншою дією.
is_scanning · yes/noПоточне значення вибраного елемента. Читайте його після відповідної події.
torch_enabled · yes/noПоточне значення вибраного елемента. Читайте його після відповідної події.
scan_source · textПоточне значення вибраного елемента. Читайте його після відповідної події. empty,camera,fixture
pending_redemption · yes/noПоточне значення вибраного елемента. Читайте його після відповідної події.
scanned_pass_token · textПоточне значення вибраного елемента. Читайте його після відповідної події.
Події
scanner_startedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
scanner_pausedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
scanner_cancelledКоли стається ця подія, прочитайте відповідні стани того самого елемента.
permission_deniedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
pass_scannedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
validation_startedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
validation_completedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
redemption_startedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
pass_redeemedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
redemption_rejectedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
redemption_pendingКоли стається ця подія, прочитайте відповідні стани того самого елемента.
fixture_decodedКоли стається ця подія, прочитайте відповідні стани того самого елемента.
qr_errorКоли стається ця подія, прочитайте відповідні стани того самого елемента.
Відповіді для розробника
Для чого два налаштування дозволів?
Назва поля User типу yes/no, яке позначає працівника з правом створювати або скасовувати перепустки. Приклад і типове значення: qr_pass_issuer. Тут потрібна назва поля, а не yes чи no. Змінювати цей дозвіл користувача може лише уповноважений адміністратор. Назва поля User типу yes/no, яке позначає працівника з правом перевіряти й підтверджувати використання. Приклад і типове значення: qr_staff. Власнику квитка цей дозвіл не потрібен. Не додавайте його до публічної реєстрації або профілю.
Чи може один працівник створювати й перевіряти перепустки?
Так, якщо уповноважений адміністратор надасть обидва дозволи. Додатковий ключ проєкту не потрібен. Клієнтам зазвичай не потрібен жоден із цих дозволів. Не дозволяйте користувачам призначати їх собі.
Навіщо Check після скану?
Scan читає код. Check перевіряє доступність перепустки, не використовуючи її. Працівник спочатку може переглянути замовлення. Лише окрема дія Confirm QR redemption використовує перепустку один раз.
Як працює підписка?
Заплановане ціноутворення: встановлення плагіна в Bubble безкоштовне. Доступ до BestPlugins — окрема підписка для кожного плагіна в кожному проекті додатку Bubble: 7 днів безкоштовно, потім US$1.50 на місяць. Development і Live включені. Фіксованого обмеження кількості операцій немає; обмеження розміру файлу та функцій залишаються діючими. Оформлення ще не відкрито. На екрані активації буде показана дата першого платежу та умови скасування.
Пов’язані інструкції
Marketplace випуск у черзі
Посібник форуму не опубліковано
Для допомоги вкажіть плагін, пристрій, дію та результат. Використовуйте приклад без персональних даних. Не надсилайте ключ або приватні файли.
