
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Opret engangs‑billetter, afhentningsbekræftelser eller kuponer. Personalet scanner koden, tjekker resultatet, forhåndsviser ordren og bekræfter brugen, når de er klar.
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.
Dokumentation gennemgået 6 november 2026
Praktiske eksempler
Engangsadgang til en begivenhed samme dag
Et screenshot af en almindelig QR‑værdi kan ellers genbruges ved mere end én indgang.
Din app gemmer en Admission‑post og en stabil udstedelse `request_id`; brug den kuraterede `label=event` og en `ttl_seconds` inden for 1–86400‑sekund kontrakten.
En autoriseret udsteder kører Issue QR pass og leverer privat den returnerede QR. Personalet scanner → Check QR pass → bekræfter kun hvis `ok=yes` og `status=available` → Confirm QR redemption med et gemt stabilt anmodnings‑ID.
Kun `status=redeemed` plus `receipt_id` autoriserer din apps admissionskvittering. Gem pas‑/kvitteringsreferencen på Admission; udsæt ikke indholdet af QR for analyse.
For `outcome_unknown`, genindhent den samme anmodning med identisk bruger/miljø/pas; generer aldrig et nyt bekræftelses‑ID. Håndtér expired, revoked og allerede‑brugte tilstande som separate resultater.
Planlagt. Scanning og kontrol bruger ikke passet; kun eksplicit bekræftelse gør.
Indløs en kortvarig fordel én gang ved en partner‑skranke
En partner har brug for et bekræftet brugt/ubrugt resultat i stedet for at stole på et QR‑billede eller en skærmanimation.
`label=coupon`; appens Benefit‑post definerer berettigelse og et kort gyldighedsvindue før en autoriseret udstedelses‑handling.
Udsted et pas først efter din apps berettigelses‑kontrol. Ved skranken viser Check QR pass tilgængelighed uden at forbruge det. Når personalet bekræfter levering af fordelen, kør Confirm QR redemption.
Din Benefit‑post kan gemme `receipt_id` og den bekræftede indløsnings‑tid efter `status=redeemed`. Plugin‑et håndterer pas‑tilstanden; din app håndterer fordelen og kundeforholdet.
Hvis en fordel annulleres før brug, kan den samme autoriserede udsteder Revoke QR pass ved hjælp af sin `pass_id`. Annoncér ikke en refundering eller vellykket indløsning kun ud fra `ok=yes`.
Planlagt. Scanning og kontrol bruger ikke passet; kun eksplicit bekræftelse gør.
Bekræft afhentning af udstyr eller ordre samme dag
Et personalearbejdsgang skal skelne mellem scanning af en samlingsreference og faktisk overlevering af en genstand.
Din apps ejede Collection‑post bevarer autorisation, den tilsigtede genstand og separate stabile udstedelses-/indløsnings‑anmodnings‑ID’er; brug et kortvarigt `label=access`‑pas.
Efter din app autoriserer indsamling, Issue QR pass. Personalet scanner og tjekker, inspicerer den tilsvarende Collection i din app, og bekræfter derefter eksplicit overleveringen og Confirm QR redemption.
Kun efter en bekræftet `redeemed`‑kvittering bør din arbejdsgang sætte Collection til overleveret. Behold `receipt_id` som linket til pas‑resultatet.
Et gentaget scan kan returnere already_used; vis den eksisterende app‑post i stedet for at overlevere en anden genstand. Genskab en usikker bekræftelse med samme ID og input.
Planlagt. Scanning og kontrol bruger ikke passet; kun eksplicit bekræftelse gør.
Hvad der virker nu
Privat beta. Den aktuelle scanner har kamera‑ og tilladelsesstyring. Oprettelse, kontrol og bekræftelse af engangs‑pas er planlagt og er endnu ikke klar til brug i din app.
Byg arbejdsprocessen
Planlagt
Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.
Denne eksempler bruger app‑poster såsom Lesson, Message og Order. Erstat dem med dine egne datatyper og elementnavne. Eksempelmedie‑adresser skal erstattes med dine egne filer.
Planlagt: en autoriseret medarbejder bruger Issue QR pass til en adgang eller Order. Eksempel: label=event, ttl_seconds=900, environment=development. Bevar en stabil request_id for den udstedelse og gem pass_id sammen med posten.
Vis den returnerede QR til den tiltænkte indehaver. Personalet scanner den. I den planlagte pas‑workflow bruges workflow_mode=yes, og scanned_pass_token læses efter pass_scanned. Disse pas‑workflow‑indstillinger er ikke tilgængelige i den aktuelle scanner.
Kør Check QR pass med pass_token = QR Scanner's scanned_pass_token. Den tjekker uden at bruge paset. For status=available vis de tilsvarende ordre‑ eller indgangsdetaljer, så personalet kan gennemgå dem.
Kun en separat Bekræft‑knap kører Confirm QR redemption med den samme pass_token, en stabil request_id og confirm=yes. På status=redeemed gemmes receipt_id, og ordren eller indgangen markeres som fuldført.
already_used, expired, revoked eller invalid betyder, at ordren ikke må gives adgang eller overleveres. En scanning eller en vellykket Tjek alene fuldfører aldrig transaktionen.
Konfigurer én gang
Opret eller vælg dit Bubble app‑projekt i BestPlugins → Dashboard → Plugins. Vælg Xodera QR Passes Native, kopier dens nøgle, åbn derefter Bubble → Plugins → Xodera QR Passes Native og indsæt den i project_api_key. Gem én gang; brug derefter handlingerne nedenfor. Hvert plugin i hvert projekt har sin egen nøgle.
Scanning kræver kameratilladelse. For engangs‑pas skal du beslutte, hvem der må oprette pas, og hvem der må tjekke dem ved døren eller afhentningsstedet. Almindelige kunder har ingen staff‑rolle.
qr_issuer_permission_field
qr_pass_issuer · Navn på brugerens ja/nej-felt, der markerer medarbejdere, der må oprette eller tilbagekalde pas. Eksempel/standard: qr_pass_issuer. Indtast feltnavnet her, ikke ja eller nej. Kun en autoriseret administrator bør ændre den tilladelse på en bruger.
qr_staff_permission_field
qr_staff · Navn på brugerens ja/nej-felt, der markerer personale, der må kontrollere og bekræfte brug. Eksempel/standard: qr_staff. En billetindehaver har ikke brug for denne tilladelse. Hold den ude af offentlige tilmeldings- og profilformularer.
Konfigurer én gang
- Opret eller vælg dit Bubble app-projekt på BestPlugins → Dashboard → Plugins.
- Vælg dette plugin og kopier dets projekt-nøgle.
- Åbn Bubble → Plugins → Xodera QR Passes Native; indsæt nøglen i project_api_key og gem.
- Tilføj elementet, vælg dine app-data og opbyg arbejdsflowet nedenfor.
- Privat beta-adgang kun for nu. Offentlig installation og betalt aktivering er endnu ikke åbne.
Installation og 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.
Gem resultatet i din app
Eksempel på adgang eller afhentning: gem den relaterede ordre/begivenhed, pass_id, expires_at og issue_request_id. Efter bekræftet brug, tilføj receipt_id, redeemed_at og den medarbejder, der bekræftede. Marker ikke posten som fuldført, når koden kun er scannet eller tjekket. En QR‑kode verificerer ikke en persons identitet.
Fejl, annullering og genoprettelse
Hvis outcome_unknown=yes, behold det samme pas, request_id og input, når resultatet tjekkes igen. Opret ikke en ny bekræftelse. already_used, expired og revoked er endelige forretningsresultater. Hvis tilladelse nægtes, bed en autoriseret administrator om at gennemgå medarbejderens rolle. Clear session nulstiller scanneren; den kan ikke fortryde en gennemført brug.
Kapaciteter og begrænsninger
Planlagte pas er engangsbrug med en levetid på 1–86400 sekunder; standard 900. Pas‑typer: access, event, coupon og membership. Tjekning reserverer ikke et pas. Internetadgang kræves for brug af pas. Ingen betalingsbehandling, identitetstjek eller genanvendeligt langtidsmedlemskort. Læsning af en almindelig QR‑værdi er adskilt fra at tjekke et pas.
Indstillinger, handlinger og resultater
Brug disse navne i Bubble. Planlagte funktioner er markeret separat.
Tilgængelige beta‑indstillinger
Elementindstillinger
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textTilstande
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/noBegivenheder
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_errorHandlinger og deres input
Clear sessionElementindstillinger · 5
Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.
disabledyes/no · Standard: false- Eksempelværdi
no - Eksempel Bubble udtryk
GuideHost's is_busy (your yes/no custom state) - Deaktivér elementet, mens din app er optaget eller handlingen er utilgængelig.
is_activeyes/no · Standard: true- Eksempelværdi
yes - Eksempel Bubble udtryk
GuideHost's view_is_active (your yes/no custom state) - Sæt ja, mens denne visning er åben. Sæt nej ved afslutning, så afspilning eller aktuelt arbejde kan stoppe.
ui_text_jsontext · Standard: "{}"- Eksempelværdi
{} - Eksempel Bubble udtryk
App Settings' player_labels_json (supported keys only) - Valgfri JSON med understøttede knapetiketter. Lad stå tomt for at bruge den indbyggede tekst.
languagetext · Standard: "auto"- Eksempelværdi
uk - Eksempel Bubble udtryk
Current User's preferred_language - Sæt language=auto til at følge en understøttet enhed eller browsersprog. Indtast en understøttet sprogkode for at vælge den eksplicit.
workflow_modeyes/no · Standard: false- Eksempelværdi
yes - Eksempel Bubble udtryk
App Settings' use_qr_business_actions - Planlagt: tillad at den scannede QR‑værdi kan bruges af Check QR pass. Scanning alene bekræfter ikke indgang eller afhentning.
Handlinger og deres input · 5
Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.
Clear session
Ingen handlingsparametre
Issue QR pass
environmenttext · Standard: "development"- Eksempelværdi
development - Eksempel Bubble udtryk
App Settings' selected_environment - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
request_idtext · Standard: —- Eksempelværdi
pickup-123-issue-v1 - Eksempel Bubble udtryk
Current Admission's stable_request_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
labeltext · Standard: "access"- Eksempelværdi
event - Eksempel Bubble udtryk
Selected Admission's pass_label - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
ttl_secondsnumber · Standard: 900- Eksempelværdi
900 - Eksempel Bubble udtryk
Event Settings' pass_ttl_seconds - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Returneringer
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Standard: "development"- Eksempelværdi
development - Eksempel Bubble udtryk
App Settings' selected_environment - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
pass_tokentext · Standard: —- Eksempelværdi
<opaque token returned by Issue / camera scan> - Eksempel Bubble udtryk
QR Pass Scanner's scanned_pass_token (capture before Check) - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Returneringer
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Standard: "development"- Eksempelværdi
development - Eksempel Bubble udtryk
App Settings' selected_environment - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
pass_tokentext · Standard: —- Eksempelværdi
<opaque token returned by Issue / camera scan> - Eksempel Bubble udtryk
QR Pass Scanner's scanned_pass_token (capture before Check) - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
request_idtext · Standard: —- Eksempelværdi
pickup-123-redeem-v1 - Eksempel Bubble udtryk
Current Admission's stable_redemption_request_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
confirmyes/no · Standard: false- Eksempelværdi
yes — explicit confirmation only - Eksempel Bubble udtryk
Confirm Checkbox is checked - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Returneringer
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Standard: "development"- Eksempelværdi
development - Eksempel Bubble udtryk
App Settings' selected_environment - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
pass_idtext · Standard: —- Eksempelværdi
<pass_id returned by Issue> - Eksempel Bubble udtryk
Selected Admission's pass_id - Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
Returneringer
pass_id · textrevoked · yes/noTilstande og hændelser
Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.
Tilstande
scanner_status · textNuværende resultat af denne handling. Brug den tilsvarende fuldførelseshændelse før du gemmer succes. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textNuværende resultat af denne handling. Brug den tilsvarende fuldførelseshændelse før du gemmer succes. empty,available,redeemed,already_used,expired,revoked
pass_id · textIdentifikator for dette element eller handling. Bevar den sammen med den tilsvarende app‑post. Brug den samme anmodnings‑identifikator ved gentagelse af et usikkert resultat.
pass_label · textNuværende værdi for det valgte element. Læs den efter den relaterede hændelse. empty,access,event,coupon,membership
receipt_id · textIdentifikator for dette element eller handling. Bevar den sammen med den tilsvarende app‑post. Brug den samme anmodnings‑identifikator ved gentagelse af et usikkert resultat.
error_code · textFejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.
is_busy · yes/noArbejdet er stadig i gang. Vent, før du starter en anden handling.
is_scanning · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
torch_enabled · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
scan_source · textNuværende værdi for det valgte element. Læs den efter den relaterede hændelse. empty,camera,fixture
pending_redemption · yes/noNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
scanned_pass_token · textNuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.
Begivenheder
scanner_startedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
scanner_pausedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
scanner_cancelledNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
permission_deniedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
pass_scannedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
validation_startedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
validation_completedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
redemption_startedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
pass_redeemedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
redemption_rejectedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
redemption_pendingNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
fixture_decodedNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
qr_errorNår denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.
Spørgsmål udviklere stiller
Hvad betyder de to tilladelsesindstillinger?
Navn på bruger‑ja/nej‑feltet, der markerer medarbejdere, der må oprette eller tilbagekalde pas. Eksempel/standard: qr_pass_issuer. Angiv feltnavnet her, ikke ja eller nej. Kun en autoriseret administrator bør ændre denne tilladelse på en bruger. Navn på bruger‑ja/nej‑feltet, der markerer personale, der må tjekke og bekræfte brug. Eksempel/standard: qr_staff. En billetindehaver har ikke brug for denne tilladelse. Hold den ude af offentlige tilmeldings‑ og profilformularer.
Kan den samme medarbejder oprette og tjekke pas?
Ja, hvis en autoriseret administrator giver den medarbejder begge tilladelser. Dette kræver ikke en ekstra projekt‑nøgle. Kunder har normalt ingen af tilladelserne. Lad ikke brugere tildele disse tilladelser til sig selv.
Hvorfor bruge Tjek efter Scan?
Scan læser koden. Tjek spørger, om paset er tilgængeligt uden at bruge det. Personalet kan først gennemgå ordren. Kun den separate Confirm QR redemption‑handling bruger paset én gang.
Hvordan fungerer abonnementet?
Planlagt prisfastsættelse: installation af plugin‑et i Bubble er gratis. BestPlugins‑adgang er et separat abonnement for hvert plugin i hvert Bubble‑app‑projekt: 7 dage gratis, derefter US$1.50 pr. måned. Development og Live er inkluderet. Der er ingen fast grænse for antallet af operationer; filstørrelses‑ og funktionsgrænser gælder stadig. Kassen er endnu ikke åben. Aktiveringsskærmen vil vise den første faktureringsdato og annulleringsbetingelser.
Relaterede vejledninger
Marketplace‑udgivelse afventer
Forum‑vejledning ikke offentliggjort
For hjælp, fortæl os, hvilket plugin og hvilken enhed du bruger, hvilken handling du forsøgte, og hvad der skete. Brug et eksempel uden personlige data. Del aldrig din nøgle eller private filer.