Interfaco de QR-skanilo. Agoj por unu-uzaj permesiloj estas planitaj.
Interfaco de QR-skanilo. Agoj por unu-uzaj permesiloj estas planitaj.
← Ĉiuj gvidiloj pri Bubble Native

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Kreu unu-uzajn biletojn, kolektajn konfirmojn aŭ kuponojn. Personaro skanas la kodon, kontrolas la rezulton, antaŭrigardas la mendon kaj konfirmas uzon nur kiam pretas.

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.

Dokumentado reviziita 6 novembro 2026

Praktikaj ekzemploj

Unu-uzebla eniro por sama-taga evento

Ekrankopio de ordinara QR valoro povas alie esti reuzata ĉe pli ol unu enirejo.

Via aplikaĵo konservas registron Admission kaj stabilan eldonan `request_id`; uzu antaŭelektitan `label=event` kaj `ttl_seconds` ene de la kontrakta limo de 1–86400 sekundoj.

Aŭtorizita eldonanto plenumas Issue QR pass kaj private liveras la revenitan QR. Personaro skanas → Check QR pass → konfirmas nur se `ok=yes` kaj `status=available` → Confirm QR redemption kun konservita stabila peto-ID.

Nur `status=redeemed` kune kun `receipt_id` rajtigas vian aplikaĵon eligi enirkonfirmon. Konservu la referencon al la permesilo/konfirmo en Admission; ne sendu la QR-enhavon al analiziloj.

Por `outcome_unknown`, reakiru la saman peton kun identaj uzanto/medio/permesilo; neniam kreu novan konfirman ID. Traktu expired, revoked kaj jam uzitajn statojn kiel apartajn rezultojn.

Planita. Skanado kaj kontrolo ne konsumas la unufojan uzon de la permesilo; nur eksplicita konfirmo konsumas ĝin.

Elaĉetu mallongdaŭran avantaĝon unufoje ĉe la giĉeto de partnero

Partnero bezonas konfirmitan uzitan/neuzitan rezulton anstataŭ fidi QR bildon aŭ ekranan animacion.

`label=coupon`; la registro Benefit de la aplikaĵo difinas la kondiĉojn de elekteblo kaj mallongan validecperiodon antaŭ rajtigita eldona ago.

Eldonu permesilon nur post la elekteblo-kontrolo de via aplikaĵo. Ĉe la giĉeto, Check QR pass montras disponeblecon sen konsumi la permesilon. Post kiam la dungito konfirmas transdonon de la avantaĝo, rulu Confirm QR redemption.

Via registro Benefit povas konservi `receipt_id` kaj la konfirmitan tempon de elaĉeto post `status=redeemed`. La kromaĵo administras la staton de la permesilo; via aplikaĵo administras la avantaĝon kaj la rilaton kun la kliento.

Se avantaĝo estas nuligita antaŭ uzo, la sama aŭtorizita eldonanto povas Revoke QR pass uzante sian `pass_id`. Ne anoncu repagon aŭ sukcesan redempton nur de `ok=yes`.

Planita. Skanado kaj kontrolo ne konsumas la unufojan uzon de la permesilo; nur eksplicita konfirmo konsumas ĝin.

Konfirmu samtagan transprenon de ekipaĵo aŭ mendo

Personara laborfluo devas distingi inter skanado de referenco por transpreno kaj efektiva transdono de objekto.

La registro Collection, posedata de via aplikaĵo kaj uzata por transpreno de la objekto, konservas la rajtigon, la celitan objekton kaj apartajn stabilajn ID-ojn de eldonaj kaj elaĉetaj petoj; uzu mallongdaŭran permesilon `label=access`.

Post kiam via aplikaĵo rajtigas la transprenon, rulu Issue QR pass. La personaro skanas kaj uzas Check, inspektas la kongruan Collection en via aplikaĵo, poste eksplicite konfirmas la transdonon kaj rulas Confirm QR redemption.

Nur post ricevo de konfirmita kvitanco `redeemed` via laborfluo rajtas marki Collection kiel transdonitan. Konservu `receipt_id` kiel ligilon al la rezulto de la permesilo.

Ripeta skanado povas redoni already_used; montru la ekzistantan registron de la aplikaĵo anstataŭ transdoni alian objekton. Rekontrolu konfirmon kun necerta rezulto per la sama ID kaj la samaj enigoj.

Planita. Skanado kaj kontrolo ne konsumas la unufojan uzon de la permesilo; nur eksplicita konfirmo konsumas ĝin.

Kio funkcias nun

Privata beta. La nuna skanilo havas kameraon kaj permeskontrolojn. Krei, kontroli kaj konfirmi unu-uzajn pasojn estas planita kaj ankoraŭ ne pretas por uzo en via aplikaĵo.

Kreu la laborfluon

Planita

Planita laborfluo. Ankoraŭ ne disponebla en la nuna beta.

Ĉi tiuj ekzemploj uzas aplikaĵajn rekordojn kiel Lesson, Message kaj Order. Anstataŭigu ilin per viaj propraj datumtipoj kaj elementnomoj. Ekzemplaj aŭdvida adresoj devas esti anstataŭigitaj per viaj propraj dosieroj.

  1. Planita: rajtigita dungito uzas Issue QR pass por registro Admission aŭ Order. Ekzemplo: label=event, ttl_seconds=900, environment=development. Konservu stabilan request_id por tiu eldono kaj konservu pass_id kun la registro.

  2. Montru la revenitan QR al ĝia destinita posedanto. Personaro skanas ĝin. En la planita pasfluo, uzu workflow_mode=yes kaj legu scanned_pass_token post pass_scanned. Tiuj pasfluo-agordoj ne estas disponeblaj en la nuna skanilo.

  3. Rulu Check QR pass kun pass_token = QR Scanner's scanned_pass_token. Ĝi kontrolas sen uzi la pason. Por status=available, montru la kongruan mendon aŭ enirajn detalojn por ke personaro povu revizii ilin.

  4. Nur aparta butono Konfirmi rulas Confirm QR redemption kun la sama pass_token, stabila request_id kaj confirm=yes. Sur status=redeemed, konservu receipt_id kaj marku tiun mendon aŭ eniron kiel kompleta.

  5. already_used, expired, revoked aŭ invalid signifas, ke vi ne rajtas enlasi la personon aŭ transdoni la mendon. Skanado aŭ sukcesa Check sola neniam finas la transakcion.

Laborflua diagramo — ne aplikaĵa ekrankopio

Agordu unufoje

Kreu aŭ elektu vian Bubble-aplikaĵan projekton en BestPlugins → Dashboard → Plugins. Elektu Xodera QR Passes Native, kopiu ĝian ŝlosilon, poste malfermu Bubble → Plugins → Xodera QR Passes Native kaj algluu ĝin en project_api_key. Konservu unufoje; poste uzu la subajn agojn. Ĉiu kromaĵo en ĉiu projekto havas sian propran ŝlosilon.

Skanado postulas permeson uzi la kameraon. Por unu-uzaj permesiloj, decidu kiu rajtas krei ilin kaj kiu rajtas kontroli ilin ĉe la enirejo aŭ loko de transpreno. Ordinaraj klientoj bezonas nek la rolon por krei permesilojn nek tiun por kontroli ilin.

qr_issuer_permission_field

qr_pass_issuer · Nomo de la yes/no-kampo en User, kiu markas dungitojn rajtigitajn krei aŭ revoki permesilojn. Ekzemplo/defaŭlto: qr_pass_issuer. Enmetu ĉi tie la kampnomon, ne yes aŭ no. Nur rajtigita administranto rajtas ŝanĝi tiun permeson ĉe uzanto.

qr_staff_permission_field

qr_staff · Nomo de la yes/no-kampo en User, kiu markas personaron rajtigitan kontroli kaj konfirmi uzon. Ekzemplo/defaŭlto: qr_staff. La posedanto de bileto ne bezonas ĉi tiun permeson. Ne inkluzivu ĝin en publikaj aliĝaj kaj profilaj formularoj.

Agordu unufoje
  1. Kreu aŭ elektu vian Bubble-aplikaĵan projekton ĉe BestPlugins → Dashboard → Plugins.
  2. Elektu ĉi tiun kromaĵon kaj kopiu ĝian projektan ŝlosilon.
  3. Malfermu Bubble → Plugins → Xodera QR Passes Native; algluu la ŝlosilon en project_api_key kaj konservu.
  4. Aldonu la elementon, elektu viajn aplikaĵajn datumojn kaj konstruu la suban laborfluon.
  5. Privata beta-aliro nur por nun. Publika instalado kaj paga aktivigo ankoraŭ ne estas disponeblaj.
Instalado kaj abono

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.

Konservu la rezulton en via aplikaĵo

Ekzemplo Admission aŭ Pickup: konservu la rilatan mendon/eventon, pass_id, expires_at kaj issue_request_id. Post konfirmita uzo, aldonu receipt_id, redeemed_at kaj la dungiton, kiu konfirmis. Ne marku la registron kiel finitan kiam la kodo estas nur skanita aŭ kontrolita. QR-kodo ne konfirmas la identecon de persono.

Malsukceso, nuligo kaj restaŭro

Se outcome_unknown=yes, retenu la saman pason, request_id kaj enigojn kiam vi kontrolas la rezulton denove. Ne kreu novan konfirmon. already_used, expired kaj revoked estas finaj komercaj rezultoj. Se permeso estas rifuzita, petu aŭtoritatan administranton revizii la rolon de la dungito. Clear session restarigas la skanilon; ĝi ne povas nuligi kompletan uzon.

Kapabloj kaj limoj

Planitaj pasoj estas unu-uzaj, kun vivdaŭro de 1–86400 sekundoj; defaŭlta 900. Pasotipoj: access, event, coupon kaj membership. Kontrolo ne rezervas pason. Interreta aliro estas postulata por uzo de pasoj. Neniu pagoprocezado, identeca kontrolo aŭ reuzebla longdaŭra membreca karto. Legi ordinaran QR-valoron estas aparta de kontrolo de pasoj.

Agordoj, agoj kaj rezultoj

Uzu ĉi tiujn nomojn en Bubble. Planitaj funkcioj estas markitaj aparte.

Disponeblaj beta-agordoj

Elementaj agordoj

disabled · yes/nois_active · yes/noui_text_json · textlanguage · text

Statoj

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

Eventoj

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Agoj kaj iliaj enigoj

Clear session
Elementaj agordoj · 5

Planita laborfluo. Ankoraŭ ne disponebla en la nuna beta.

disabledyes/no · Defaŭlto: false
Ekzempla valorono
Ekzemplo Bubble esprimoGuideHost's is_busy (your yes/no custom state)
Malebligu la elementon dum via aplikaĵo estas okupata aŭ ĉi tiu ago ne disponeblas.
is_activeyes/no · Defaŭlto: true
Ekzempla valoroyes
Ekzemplo Bubble esprimoGuideHost's view_is_active (your yes/no custom state)
Agordu jes dum ĉi tiu vido estas malfermita. Agordu ne kiam forlasas, por ke reproduktado aŭ nuna laboro povas ĉesi.
ui_text_jsontext · Defaŭlto: "{}"
Ekzempla valoro{}
Ekzemplo Bubble esprimoApp Settings' player_labels_json (supported keys only)
Nedeviga JSON kun subtenataj butonetiketoj. Lasu malplena por uzi la enkonstruitan tekston.
languagetext · Defaŭlto: "auto"
Ekzempla valorouk
Ekzemplo Bubble esprimoCurrent User's preferred_language
Agordu language=auto por sekvi subtenatan lingvon de la aparato aŭ retumilo. Enigu subtenatan lingvokodon por elekti ĝin eksplicite.
workflow_modeyes/no · Defaŭlto: false
Ekzempla valoroyes
Ekzemplo Bubble esprimoApp Settings' use_qr_business_actions
Planita: permesi ke la skanitaj QR-valoro estu uzata de Check QR pass. Nur skanado ne konfirmas eniron aŭ preno.
Agoj kaj iliaj enigoj · 5

Planita laborfluo. Ankoraŭ ne disponebla en la nuna beta.

Clear session

Neniuj ago-parametroj

Issue QR pass
environmenttext · Defaŭlto: "development"
Ekzempla valorodevelopment
Ekzemplo Bubble esprimoApp Settings' selected_environment
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
request_idtext · Defaŭlto: —
Ekzempla valoropickup-123-issue-v1
Ekzemplo Bubble esprimoCurrent Admission's stable_request_id
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
labeltext · Defaŭlto: "access"
Ekzempla valoroevent
Ekzemplo Bubble esprimoSelected Admission's pass_label
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
ttl_secondsnumber · Defaŭlto: 900
Ekzempla valoro900
Ekzemplo Bubble esprimoEvent Settings' pass_ttl_seconds
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.

Redonataj valoroj

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Defaŭlto: "development"
Ekzempla valorodevelopment
Ekzemplo Bubble esprimoApp Settings' selected_environment
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
pass_tokentext · Defaŭlto: —
Ekzempla valoro<opaque token returned by Issue / camera scan>
Ekzemplo Bubble esprimoQR Pass Scanner's scanned_pass_token (capture before Check)
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.

Redonataj valoroj

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Defaŭlto: "development"
Ekzempla valorodevelopment
Ekzemplo Bubble esprimoApp Settings' selected_environment
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
pass_tokentext · Defaŭlto: —
Ekzempla valoro<opaque token returned by Issue / camera scan>
Ekzemplo Bubble esprimoQR Pass Scanner's scanned_pass_token (capture before Check)
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
request_idtext · Defaŭlto: —
Ekzempla valoropickup-123-redeem-v1
Ekzemplo Bubble esprimoCurrent Admission's stable_redemption_request_id
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
confirmyes/no · Defaŭlto: false
Ekzempla valoroyes — explicit confirmation only
Ekzemplo Bubble esprimoConfirm Checkbox is checked
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.

Redonataj valoroj

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Defaŭlto: "development"
Ekzempla valorodevelopment
Ekzemplo Bubble esprimoApp Settings' selected_environment
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.
pass_idtext · Defaŭlto: —
Ekzempla valoro<pass_id returned by Issue>
Ekzemplo Bubble esprimoSelected Admission's pass_id
Uzu la valoron de la nuna komerca registro; validigu ĝin kontraŭ la subaj limoj.

Redonataj valoroj

pass_id · textrevoked · yes/no
Statoj kaj eventoj

Planita laborfluo. Ankoraŭ ne disponebla en la nuna beta.

Statoj

scanner_status · text

Aktuala rezulto de ĉi tiu ago. Uzu la kongruan finigan eventon antaŭ ol konservi sukceson. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Aktuala rezulto de ĉi tiu ago. Uzu la kongruan finigan eventon antaŭ ol konservi sukceson. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Identigilo por ĉi tiu elemento aŭ ago. Konservu ĝin kun la kongrua registro de la aplikaĵo. Uzu la saman petidentigilon kiam vi reprovas operacion kun necerta rezulto.

pass_label · text

Aktuala valoro por la elektita elemento. Legu ĝin post la rilata evento. empty,access,event,coupon,membership

receipt_id · text

Identigilo por ĉi tiu elemento aŭ ago. Konservu ĝin kun la kongrua registro de la aplikaĵo. Uzu la saman petidentigilon kiam vi reprovas operacion kun necerta rezulto.

error_code · text

Erarinformoj por la lasta ago. Montru utilan mesaĝon kaj proponu la rilatan reprovon.

is_busy · yes/no

Laboro ankoraŭ progresas. Atendu antaŭ ol komenci alian agon.

is_scanning · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

torch_enabled · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

scan_source · text

Aktuala valoro por la elektita elemento. Legu ĝin post la rilata evento. empty,camera,fixture

pending_redemption · yes/no

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

scanned_pass_token · text

Nuna valoro por la elektita elemento. Legu ĝin post la rilata evento.

Eventoj

scanner_started

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

scanner_paused

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

scanner_cancelled

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

permission_denied

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

pass_scanned

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

validation_started

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

validation_completed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

redemption_started

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

pass_redeemed

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

redemption_rejected

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

redemption_pending

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

fixture_decoded

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

qr_error

Kiam ĉi tiu evento okazas, legu la rilatajn statojn de la sama elemento.

Demandoj, kiujn programistoj demandas

Kion signifas la du permesagordoj?

Nomo de la yes/no-kampo en User, kiu markas dungitojn rajtigitajn krei aŭ revoki permesilojn. Ekzemplo/defaŭlto: qr_pass_issuer. Enmetu ĉi tie la kampnomon, ne yes aŭ no. Nur rajtigita administranto rajtas ŝanĝi tiun permeson ĉe uzanto. Nomo de la yes/no-kampo en User, kiu markas personaron rajtigitan kontroli kaj konfirmi uzon. Ekzemplo/defaŭlto: qr_staff. La posedanto de bileto ne bezonas ĉi tiun permeson. Ne inkluzivu ĝin en publikaj aliĝaj kaj profilaj formularoj.

Ĉu la sama dungito povas krei kaj kontroli pasojn?

Jes, se rajtigita administranto donas al tiu dungito ambaŭ permesojn. Tio ne postulas alian projektan ŝlosilon. Klientoj normale bezonas nek unu nek la alian permeson. Ne lasu uzantojn atribui ĉi tiujn permesojn al si mem.

Kial uzi Kontrolon post Skanado?

Skano legas la kodon. Kontrolo demandas ĉu la permesilo estas disponebla sen uzi ĝin. Personaro povas revizii la mendon unue. Nur la aparta Confirm QR redemption ago uzas la permesilon unufoje.

Kiel funkcias la abono?

Planita prezo: instalado de la kromaĵo en Bubble estas senpaga. Aliro al BestPlugins estas aparta abono por ĉiu kromaĵo en ĉiu Bubble aplikaĵprojekto: 7 tagoj senpage, poste US$1.50 monate. Development kaj Live estas inkluzivitaj. Ne ekzistas fiksita limo pri la nombro da operacioj; limoj pri dosiergrando kaj funkcioj ankoraŭ validas. Pagado ankoraŭ ne estas malfermita. La aktiviga ekrano montros la unuan fakturdaton kaj nuligajn kondiĉojn.

Rilataj gvidiloj

Marketplace eldono atendanta

Forumgvidilo ne afiŝita

Por helpo, informu nin kiun kromaĵon kaj aparaton vi uzas, la agon kiun vi provis kaj kio okazis. Uzu ekzemplon sen personaj datumoj. Neniam dividu vian ŝlosilon aŭ privatajn dosierojn.