
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Создавајте еднократни билети, потврди за подигање или купони. Персоналот скенира кодот, проверува резултатот, прегледува нарачката и потврдува употреба само кога е подготвен.
Public beta guides · Haptics instructions are in its Bubble listing
Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.
Документација прегледана 6 ноември 2026
Практични примери
Едноупотребен пристап за истодневен настан
Снимка од екранот на обична QR вредност може да се користи повторно на повеќе од едно влезно место.
Вашата апликација чува запис Admission и стабилен `request_id` за издавањето; користете однапред одбрана вредност `label=event` и `ttl_seconds` во опсегот 1–86400 секунди според договорените ограничувања.
Авторизиран издавач извршува Issue QR pass и приватно доставува вратениот QR. Персоналот скенира → Check QR pass → потврдува само ако `ok=yes` и `status=available` → Confirm QR redemption со складиран стабилен ID на барање.
Само `status=redeemed` заедно со `receipt_id` ѝ дозволува на вашата апликација да издаде потврда за влез. Зачувајте ја референцата за пропусницата/потврдата во Admission; не испраќајте ја содржината на QR-кодот во аналитика.
За `outcome_unknown`, вратете го истото барање со истиот корисник, околина и пропусница; никогаш не создавајте нов ID за потврда. Третирајте ги expired, revoked и веќе искористената состојба како различни исходи.
Планирано. Скенирањето и проверката не ја трошат еднократната пропусница; таа се искористува само со експлицитна потврда.
Искористете краткотраен бенефит еднаш на шалтерот на партнерот
Партнерот треба потврдени резултати употребено/неупотребено наместо да се доверува на слика QR или анимација на екранот.
`label=coupon`; записот Benefit во апликацијата ја утврдува подобноста и краткиот период на важност пред овластената акција за издавање.
Издајте пропусница само по проверката на подобноста во вашата апликација. На шалтерот, Check QR pass ја покажува достапноста без да ја потроши пропусницата. Откако членот на персоналот ќе потврди дека бенефитот е предаден, извршете Confirm QR redemption.
Вашиот запис Benefit може да ги зачува `receipt_id` и потврденото време на искористување по `status=redeemed`. Приклучокот управува со состојбата на пропусницата; вашата апликација управува со бенефитот и односот со клиентот.
Ако бенефитот се откаже пред употреба, истиот авторизиран издавач може да Revoke QR pass користејќи го `pass_id`. Не објавувајте поврат или успешно искористување само од `ok=yes`.
Планирано. Скенирањето и проверката не ја трошат еднократната пропусница; таа се искористува само со експлицитна потврда.
Потврдете истодневно подигнување на опрема или нарачка
Работниот процес на персоналот треба да разликува скенирање референца за подигнување од вистинско предавање на предметот.
Записот Collection, кој е во сопственост на вашата апликација и служи за подигнување на предметот, ги чува овластувањето, наменетиот предмет и одделните стабилни ID-ја на барањата за издавање/искористување; користете краткотрајна пропусница `label=access`.
Откако вашата апликација ќе го одобри подигнувањето, користете Issue QR pass. Персоналот скенира и прави Check, го прегледува соодветниот Collection во вашата апликација, потоа експлицитно го потврдува предавањето и извршува Confirm QR redemption.
Само по потврдена потврда `redeemed`, вашиот работен процес треба да го означи Collection како предаден. Зачувајте `receipt_id` како врска до исходот на пропусницата.
Повторно скенирање може да врати already_used; прикажете постоечкиот запис во апликацијата наместо да предавате друг предмет. Вратете несигурна потврда со истиот ID и влезни податоци.
Планирано. Скенирањето и проверката не ја трошат еднократната пропусница; таа се искористува само со експлицитна потврда.
Што работи сега
Приватна бета. Тековниот скенер има контроли за камера и дозволи. Создавањето, проверката и потврдата на еднократни пропусници се планирани и сè уште не се спремни за употреба во вашата апликација.
Создајте го работниот процес
Планирано
Планиран работен тек. Сè уште не е достапен во тековната бета верзија.
Овие примери користат записи на апликации како 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 · Име на полето yes/no во User што ги означува вработените со дозвола да создаваат или отповикуваат пропусници. Пример/стандардно: qr_pass_issuer. Тука внесете го името на полето, а не yes или no. Само овластен администратор треба да ја менува таа дозвола на корисникот.
qr_staff_permission_field
qr_staff · Име на полето yes/no во User што го означува персоналот со дозвола да проверува и потврдува употреба. Пример/стандардно: qr_staff. На сопственикот на билетот не му е потребна оваа дозвола. Не вклучувајте го ова поле во јавните формулари за регистрација и профил.
Конфигурирајте еднаш
- Создајте или изберете го вашиот Bubble апликациски проект на BestPlugins → Dashboard → Plugins.
- Изберете го овој додаток и копирајте го неговиот клуч за проект.
- Отворете Bubble → Plugins → Xodera QR Passes Native; вметнете го клучот во project_api_key и снимете.
- Додадете го елементот, изберете ги вашите податоци за апликацијата и изградете го работниот тек подолу.
- Приватен бета пристап само засега. Јавната инсталација и платената активација сè уште не се отворени.
Инсталација и претплата
For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.
Зачувајте го резултатот во вашата апликација
Пример 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) - Поставете да доколку овој поглед е отворен. Поставете не кога се напушта, за да се застане репродукцијата или тековната работа.
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Идентификатор за оваа ставка или акција. Задржете го со соодветниот запис во апликацијата. Користете истиот идентификатор за барање при повторен обид на несигурен резултат.
pass_label · textТековна вредност за избраниот елемент. Прочитајте ја по поврзаниот настан. empty,access,event,coupon,membership
receipt_id · textИдентификатор за оваа ставка или акција. Задржете го со соодветниот запис во апликацијата. Користете истиот идентификатор за барање при повторен обид на несигурен резултат.
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Кога се случи овој настан, прочитајте ги поврзаните состојби од истиот елемент.
Прашања што ги поставуваат развивачите
Што значат двете поставки за дозвола?
Име на полето yes/no во User што ги означува вработените со дозвола да создаваат или отповикуваат пропусници. Пример/стандардно: qr_pass_issuer. Тука внесете го името на полето, а не yes или no. Само овластен администратор треба да ја менува таа дозвола на корисникот. Име на полето yes/no во User што го означува персоналот со дозвола да проверува и потврдува употреба. Пример/стандардно: qr_staff. На сопственикот на билетот не му е потребна оваа дозвола. Не вклучувајте го ова поле во јавните формулари за регистрација и профил.
Може ли истиот вработен да создава и проверува пасови?
Да, ако овластен администратор му даде на тој вработен двете дозволи. Ова не бара друг клуч за проект. Користниците обично не им треба ниту една од дозволите. Не им дозволувајте на корисниците да си ги доделат овие дозволи.
Зошто да се користи Проверка по Скенирање?
Скенирањето чита кодот. Проверката прашува дали пасот е достапен без да се користи. Персоналот може прво да ја прегледа нарачката. Само одделната акција Confirm QR redemption го користи пасот еднаш.
Како функционира претплатата?
Планирана цена: инсталирањето на приклучокот во Bubble е бесплатно. Пристапот до BestPlugins е посебна претплата за секој приклучок во секој Bubble проект на апликација: 7 дена бесплатно, потоа US$1.50 месечно. Development и Live се вклучени. Нема фиксно ограничување на бројот на операции; ограничувањата за големина на датотеката и функции сè уште важат. Плаќањето сè уште не е отворено. Екранот за активирање ќе прикаже првиот датум на наплата и условите за откажување.
Поврзани упатства
Marketplace издание во исчекување
Водичот за форум не е објавен
За помош, кажете ни кој приклучок и уред користите, која акција ја испробавте и што се случи. Користете пример без лични податоци. Никогаш не споделувајте го вашиот клуч или приватни датотеки.