QR Scanner Interface. Eenmal Pass Aktiounen sinn geplangt.
QR Scanner Interface. Eenmal Pass Aktiounen sinn geplangt.
← All native Guide

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Erstellt Eenmal‑Ticketen, Ofhuelbestätegungen oder Couponen. Mataarbechter scannen de Code, iwwerpréifen d'Resultat, kucken d'Bestellung virun an bestätegen d'Benotzung nëmmen wann se prett sinn.

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.

Dokumentatioun iwwerkuckt 6 November 2026

Praktesch Beispiller

Eemol‑Entrée fir en Evenement um selwechte Dag

E Screenshot vun engem gewéinlechen QR Wäert kann soss bei méi wéi engem Entrée nach eng Kéier benotzt ginn.

Är App späichert en Admission-Record an eng stabil Ausgab `request_id`; benotzt e kuraté `label=event` an e `ttl_seconds` bannent dem 1–86400-Sekonnen-Contract.

En autoriséierten Emittent féiert Issue QR pass aus a liwwert privat de retournéierten QR. Mataarbechter scannen → Check QR pass → bestätegen nëmmen wann `ok=yes` an `status=available` → Confirm QR redemption mat enger gespäicherter stabiler Ufro-ID.

Nëmmen `status=redeemed` plus `receipt_id` autoriséieren den Admission-Receipt vun Ärer App. Späichert de Pass/Receipt-Referenz am Admission; weist d'Inhalter vu QR net fir Analytik aus.

Fir `outcome_unknown`, recuperéiert déi selwecht Ufro mat identesche Benotzer/Ëmfeld/Pass; generéiert ni eng nei Bestätegungs-ID. Behandelt expired, revoked an scho benotzt Zoustänn als ënnerschiddlech Resultater.

Geplangt. Scannen a Kontrolléiere verbrauchen de Pass net; nëmmen eng explizit Bestätegung mécht dat.

Profitéiert eemol vun engem kuerzgültege Virdeel bei engem Partner-Counter.

En Partner brauch e bestätegt Resultat vun benotzt/net benotzt, amplaz op e QR Bild oder eng Bildschierm-Animation ze vertrauen.

`label=coupon`; den Benefit-Record vun der App definéiert d'Eligibilitéit an e kuerzt Gültegkeetsfenster ier eng autoriséiert Ausgab-Aktioun.

Gitt e Pass eraus nëmmen no der Eligibilitéitspréi vun Ärer App. Um Counter weist Check QR pass d'Verfügbarkeit ouni et ze verbrauchen. Nodeems de Mataarbechter d'Liwwerung vum Benefiz bestätegt, féiert Confirm QR redemption aus.

Ären Benefit-Record kann `receipt_id` an d'bestätegt Rédeemungszäit no `status=redeemed` späicheren. De Plugin verwaltet de Pass-Status; Är App verwaltet de Benefiz an d'Kundenbezéiung.

Falls e Benefiz virun der Benotzung annuléiert gëtt, kann de selwechte autoriséierte Emittent Revoke QR pass mat sengem `pass_id` maachen. Verkënnt net eng Remboursement oder erfollegräich Rédeemung nëmmen op Basis vu `ok=yes`.

Geplangt. Scannen a Kontrolléiere verbrauchen de Pass net; nëmmen eng explizit Bestätegung mécht dat.

Bestätegt eng Ausrüstung- oder Bestellung-Abholung am selwechte Dag.

En Mataarbechter-Workflow muss den Ënnerscheed tëscht dem Scannen vun enger Ofhuel-Referenz a der tatsächlecher Iwwergab vun engem Artikel maachen.

Den Collection-Record, deen Är App besëtzt, hält d'Autorisation, den beabsichtegt Artikel an separat stabil Ausgab-/Rédeemungs-Ufro-IDs; benotzt e kuerzlebige `label=access` Pass.

Nodeems Är App d'Ofhuele autoriséiert, Issue QR pass. D'Mataarbechter scannen a kontrolléieren, iwwerpréiwen déi passend Collection an Ärer App a bestätegen dann ausdrécklech d'Iwwergab an Confirm QR redemption.

Nëmmen no engem bestätegte `redeemed` Receipt soll Äre Workflow d'Collection op 'iwwergab' setzen. Halten `receipt_id` als Link zum Pass-Ergebnis.

E widderhuelende Scan kann already_used zréckginn; weist de bestehende App-Record un amplaz fir en anert Artikel ze iwwerginn. Recuperéiert eng onbestätegt Bestätegung mat derselwechter ID an Inputen.

Geplangt. Scannen a Kontrolléiere verbrauchen de Pass net; nëmmen eng explizit Bestätegung mécht dat.

Wat elo funktionéiert

Privat Beta. De aktuelle Scanner huet Kamera- a Permissiounsastellungen. D'Erstellung, Iwwerpréiwung an Bestätegung vun Eenmal‑Passer ass geplangt a nach net an Ärer App benotzbar.

Den Workflow bauen

Geplangt

Geplangte Workflow. Nach net an der aktuelle Beta verfügbar.

Dës Beispiller benotzen App-Recourcen wéi Lesson, Message an Order. Ersetzt se mat Äre eegenen Datentypen an Elementnimm. Beispill-Media-Adressë musse mat Äre eegenen Fichieren ersat ginn.

  1. Geplang: en autoriséierten Mataarbechter benotzt Issue QR pass fir eng Entrée oder Order. Beispill: label=event, ttl_seconds=900, environment=development. Halten e stabilen request_id fir dës Ausgab a späichert pass_id mat dem Rekord.

  2. Weist de retournéierten QR dem beabsichtege Besëtzer. Personal scannt en. Am geplangten Pass‑Arbechtsfloss benotzt workflow_mode=yes an liesst scanned_pass_token no pass_scanned. Dës Pass‑Arbechtsfloss-Astellungen sinn am aktuelle Scanner net verfügbar.

  3. Féiert Check QR pass mat pass_token = QR Scanner's scanned_pass_token aus. Et kontrolléiert ouni de Pass ze benotzen. Fir status=available weist d’entspriechend Bestellung oder Entrée-Detailer, sou datt d’Personal se iwwerkucke kann.

  4. Nëmmen e separaten Confirm-Button féiert Confirm QR redemption mat deem selwechten pass_token, engem stabilen request_id an confirm=yes aus. Op status=redeemed, späichert receipt_id an markéiert déi Bestellung oder Entrée als fäerdeg.

  5. already_used, expired, revoked oder invalid bedeiten, datt keen Entrée erlaabt an d’Bestellung net iwwerginn däerf ginn. En Scan oder eng erfollegräich Kontroll aleen schliesst d’Transaktioun ni nie.

Workflow-Diagramm — net en App-Screenshot

Eenmal konfiguréieren

Erstellt oder wielt Äre Bubble App-Projet an BestPlugins → Dashboard → Plugins. Wielt Xodera QR Passes Native, kopéiert säi Schlëssel, dann opmaachen Bubble → Plugins → Xodera QR Passes Native an füügt en an project_api_key. Eenmol späicheren; dann d'Aktiounen hei drënner benotzen. All Plugin an all Projet huet säi eegene Schlëssel.

Scanning erfuerdert Kameraerlaabnis. Fir eemol‑Benotzungs‑Passer muss festgeluecht ginn, wien Passer erstelle kann an wien se bei der Dier oder um Ofhuelpunkt kontrolléieren kann. Gewéinlech Clienten brauchen keng Personalroll.

qr_issuer_permission_field

qr_pass_issuer · Numm vum Benotzer Jo/Nei Feld dat Mataarbechter markéiert, déi Passer erstelle oder zréckzéien däerfen. Beispill/Standard: qr_pass_issuer. Setzt hei den Feldnumm, net Jo oder Nei. Nëmmen en autoriséierten Administrateur soll dës Permissioun bei engem Benotzer änneren.

qr_staff_permission_field

qr_staff · Numm vum Benotzer Jo/Nei Feld dat Personal markéiert, dat d'Benotzung iwwerpréift an bestätegt. Beispill/Standard: qr_staff. En Ticketinhaber brauch dës Permissioun net. Halten et aus deësen ëffentlechen Umeldungs- a Profilforme eraus.

Eenmal konfiguréieren
  1. Erstellt oder wielt Äre Bubble App-Projet bei BestPlugins → Dashboard → Plugins.
  2. Wielt dësen Plugin aus an kopéiert säi Projet-Schlëssel.
  3. Opmaachen Bubble → Plugins → Xodera QR Passes Native; füügt de Schlëssel an project_api_key an späichert.
  4. Füügt d'Element derbäi, wielt Är App-Daten an baut de Workflow hei drënner op.
  5. Privat Beta Zougang just fir elo. Ëffentlech Installatioun an bezuelt Aktivatioun sinn nach net verfügbar.
Installatioun an Abonnement

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.

Späichert d'Resultat an Ärer App

Beispill Entrée oder Ofhuel: späichert d’Zesummenhangend Bestellung/Ereignis, pass_id, expires_at an issue_request_id. No der bestätegte Benotzung füügt receipt_id, redeemed_at an de Mataarbechter derbäi, deen bestätegt huet. Markéiert de Rekord net als fäerdeg wann de Code just gescannt oder kontrolléiert gouf. En QR Code verifizéiert net d’Identitéit vun enger Persoun.

Feeler, annuléieren an Erhuelung

Wann outcome_unknown=yes, behält de selwechten Pass, request_id an d’Inpute beim erneiten Iwwerpréifen vum Resultat. Erstellt keng nei Bestätegung. already_used, expired an revoked sinn definitiv Geschäftsresultater. Wann d’Erlaabnis refuséiert gëtt, froe en autoriséierten Administrateur d’Rolle vum Mataarbechter ze iwwerkucken. Clear session setzt de Scanner zeréck; et kann eng fäerdeg Benotzung net annuléieren.

Fäegkeeten an Limiten

Geplang Passer sinn eemol‑Benotzung, mat enger Liewensdauer vu 1–86400 Sekonnen; Standard 900. Pass‑Typen: access, event, coupon an membership. Kontrolléiere reservéiert kee Pass. Internetzougang ass fir d’Benotzung vum Pass néideg. Et gëtt keng Bezuelveraarbechtung, Identitéitskontroll oder widderhuelbar laangfristeg Membriëskarte. D’Liesen vun engem gewéinlechen QR Wäert ass getrennt vun der Passkontroll.

Astellungen, Aktiounen an Resultater

Benotzt dës Nimm an Bubble. Geplang Features sinn separat markéiert.

Verfügbare Beta-Astellungen

Element-Astellungen

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

Zoustänn

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

Evenementer

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Aktiounen an hir Inputen

Clear session
Element-Astellungen · 5

Geplangte Workflow. Nach net an der aktuelle Beta verfügbar.

disabledyes/no · Standard: false
Beispillwäertno
Beispiel Bubble AusdrockGuideHost's is_busy (your yes/no custom state)
Desaktivéiert d'Element, wann Är App beschäftegt ass oder dës Aktioun net verfügbar ass.
is_activeyes/no · Standard: true
Beispillwäertyes
Beispiel Bubble AusdrockGuideHost's view_is_active (your yes/no custom state)
Setzt Ja, soulaang dës Vue op ass. Setzt Nee beim Verloossen, sou datt d'Playback oder d'aktuell Aarbecht gestoppt ka ginn.
ui_text_jsontext · Standard: "{}"
Beispillwäert{}
Beispiel Bubble AusdrockApp Settings' player_labels_json (supported keys only)
Optional JSON mat ënnerstëtzten Knäppchenbeschrëftungen. Loosst eidel fir den integrierten Text ze benotzen.
languagetext · Standard: "auto"
Beispillwäertuk
Beispiel Bubble AusdrockCurrent User's preferred_language
Setzt language=auto fir eng ënnerstëtzt Apparat oder Browser-Sprooch ze verfollegen. Gitt e ënnerstëtzte Sproochcode an fir se explizit auszewielen.
workflow_modeyes/no · Standard: false
Beispillwäertyes
Beispiel Bubble AusdrockApp Settings' use_qr_business_actions
Geplangt: erlaabt datt de gescannte QR-Wäert vun Check QR pass benotzt gëtt. Scannen eleng bestätegt net den Entrée oder d'Abholung.
Aktiounen an hir Inputen · 5

Geplangte Workflow. Nach net an der aktuelle Beta verfügbar.

Clear session

Keng Aktiounsparameter

Issue QR pass
environmenttext · Standard: "development"
Beispillwäertdevelopment
Beispiel Bubble AusdrockApp Settings' selected_environment
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
request_idtext · Standard: —
Beispillwäertpickup-123-issue-v1
Beispiel Bubble AusdrockCurrent Admission's stable_request_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
labeltext · Standard: "access"
Beispillwäertevent
Beispiel Bubble AusdrockSelected Admission's pass_label
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
ttl_secondsnumber · Standard: 900
Beispillwäert900
Beispiel Bubble AusdrockEvent Settings' pass_ttl_seconds
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.

Retouren

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Standard: "development"
Beispillwäertdevelopment
Beispiel Bubble AusdrockApp Settings' selected_environment
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
pass_tokentext · Standard: —
Beispillwäert<opaque token returned by Issue / camera scan>
Beispiel Bubble AusdrockQR Pass Scanner's scanned_pass_token (capture before Check)
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.

Retouren

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Standard: "development"
Beispillwäertdevelopment
Beispiel Bubble AusdrockApp Settings' selected_environment
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
pass_tokentext · Standard: —
Beispillwäert<opaque token returned by Issue / camera scan>
Beispiel Bubble AusdrockQR Pass Scanner's scanned_pass_token (capture before Check)
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
request_idtext · Standard: —
Beispillwäertpickup-123-redeem-v1
Beispiel Bubble AusdrockCurrent Admission's stable_redemption_request_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
confirmyes/no · Standard: false
Beispillwäertyes — explicit confirmation only
Beispiel Bubble AusdrockConfirm Checkbox is checked
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.

Retouren

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Standard: "development"
Beispillwäertdevelopment
Beispiel Bubble AusdrockApp Settings' selected_environment
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.
pass_idtext · Standard: —
Beispillwäert<pass_id returned by Issue>
Beispiel Bubble AusdrockSelected Admission's pass_id
Benotzt de Wäert vum aktuelle Geschäftsdatenbank-Datensatz; validéiert en géint d'Grenzwerte hei drënner.

Retouren

pass_id · textrevoked · yes/no
Zoustänn an Evenementer

Geplangte Workflow. Nach net an der aktuelle Beta verfügbar.

Zoustänn

scanner_status · text

Aktuellt Resultat vun dëser Aktioun. Benotzt d'passend Ofschloss-Event ier Dir de Succès späichert. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Aktuellt Resultat vun dëser Aktioun. Benotzt d'passend Ofschloss-Event ier Dir de Succès späichert. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Identifizéierer fir dësen Element oder Aktioun. Halten et bei der entspriechender App-Opzeechnung. Benotzt de selwechten Ufro-Identifizéierer beim Widderhuelen vun engem onbestëmmte Resultat.

pass_label · text

Aktuellen Wäert fir d'ausgewielte Element. Liest et no dem verwandten Evenement. empty,access,event,coupon,membership

receipt_id · text

Identifizéierer fir dësen Element oder Aktioun. Halten et bei der entspriechender App-Opzeechnung. Benotzt de selwechten Ufro-Identifizéierer beim Widderhuelen vun engem onbestëmmte Resultat.

error_code · text

Feelinformatioun fir déi lescht Aktioun. Weist eng hëllefräich Noriicht an bidd de passende Wiederhuelungsversuch un.

is_busy · yes/no

Aarbecht ass nach am gaangen. Waart ier Dir eng aner Aktioun ufänkt.

is_scanning · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

torch_enabled · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

scan_source · text

Aktuellen Wäert fir d'ausgewielte Element. Liest et no dem verwandten Evenement. empty,camera,fixture

pending_redemption · yes/no

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

scanned_pass_token · text

Aktuellen Wäert fir dat ausgewielte Element. Liest et no dem verbonne Event.

Evenementer

scanner_started

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

scanner_paused

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

scanner_cancelled

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

permission_denied

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

pass_scanned

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

validation_started

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

validation_completed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

redemption_started

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

pass_redeemed

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

redemption_rejected

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

redemption_pending

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

fixture_decoded

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

qr_error

Wann dëst Evenement optrëtt, lies d'verbonne Stänn vum selwechten Element.

Froen déi Entwéckler stellen

Wat bedeiten déi zwee Erlaabnisastellungen?

Numm vum Benotzer Ja/Neen Feld dat Mataarbechter markéiert, déi Passer erstelle oder widerruffe däerfe. Beispill/Standard: qr_pass_issuer. Setzt hei den Feldnumm, net Ja oder Neen. Nëmmen en autoriséierten Administrateur soll dës Erlaabnis bei engem Benotzer änneren. Numm vum Benotzer Ja/Neen Feld dat Personal erlaabt, Passer ze kontrolléieren an d’Benotzung ze bestätegen. Beispill/Standard: qr_staff. En Ticketinhaber brauch dës Erlaabnis net. Halten et aus deësen ëffentlechen Aschreiwungs- a Profilformulären eraus.

Kann deen selwechte Mataarbechter Passer erstelle an kontrolléieren?

Jo, wann en autoriséierten Administrateur deem Mataarbechter béid Erlaabnisser gëtt. Dëst erfuerdert kee weidere Projet-Schlëssel. Clienten brauchen normalerweis keng vun deenen Erlaabnisser. Loosst d’Benotzer dës Erlaabnisser net selwer zouweisen.

Firwat Kontroll no Scan benotzen?

Scan liesst de Code. Kontroll freet no, ob de Pass verfügbar ass, ouni en ze benotzen. D’Personal kann d’Bestellung fir d’éischt iwwerkucken. Nëmmen d’separat Confirm QR redemption Aktioun benotzt de Pass eemol.

Wéi funktionéiert d'Abonnement?

Geplangte Präisser: D'Installatioun vum Plugin an Bubble ass gratis. BestPlugins Zougang ass e separat Abonnement fir all Plugin an all Bubble App-Projet: 7 Deeg gratis, dann US$1.50 pro Mount. Development an Live sinn abegraff. Et gëtt kee fixe Limit fir d'Zuel vun Operatiounen; Dateigréisst- a Funktiounsgrenzen gëllen nach. D'Kaasche ass nach net op. Den Aktivatiounsbildschierm weist den éischte Rechnungstermin an d'Kündigungsbedingungen.

Zesummehangend Guides

Marketplace Release ausstinn

Forum-Guide net verëffentlecht

Fir Hëllef, sot eis, wéi en Plugin a Gerät Dir benotzt, d'Aktioun déi Dir probéiert hutt an wat geschitt ass. Benotzt e Beispill ouni perséinlech Daten. Deelt ni Ären Schlëssel oder privat Fichieren.