QR-scannergrænseflade. Engangs-pas handlinger er planlagt.
QR-scannergrænseflade. Engangs-pas handlinger er planlagt.
← Alle indfødte vejledninger

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Arbejdsgangsdiagram — ikke et app‑skærmbillede

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
  1. Opret eller vælg dit Bubble app-projekt på BestPlugins → Dashboard → Plugins.
  2. Vælg dette plugin og kopier dets projekt-nøgle.
  3. Åbn Bubble → Plugins → Xodera QR Passes Native; indsæt nøglen i project_api_key og gem.
  4. Tilføj elementet, vælg dine app-data og opbyg arbejdsflowet nedenfor.
  5. 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 · text

Tilstande

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

Begivenheder

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Handlinger og deres input

Clear session
Elementindstillinger · 5

Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.

disabledyes/no · Standard: false
Eksempelværdino
Eksempel Bubble udtrykGuideHost'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ærdiyes
Eksempel Bubble udtrykGuideHost'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 udtrykApp 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ærdiuk
Eksempel Bubble udtrykCurrent 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ærdiyes
Eksempel Bubble udtrykApp 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ærdidevelopment
Eksempel Bubble udtrykApp Settings' selected_environment
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
request_idtext · Standard: —
Eksempelværdipickup-123-issue-v1
Eksempel Bubble udtrykCurrent Admission's stable_request_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
labeltext · Standard: "access"
Eksempelværdievent
Eksempel Bubble udtrykSelected Admission's pass_label
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
ttl_secondsnumber · Standard: 900
Eksempelværdi900
Eksempel Bubble udtrykEvent 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/no
Check QR pass
environmenttext · Standard: "development"
Eksempelværdidevelopment
Eksempel Bubble udtrykApp 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 udtrykQR 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 · text
Confirm QR redemption
environmenttext · Standard: "development"
Eksempelværdidevelopment
Eksempel Bubble udtrykApp 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 udtrykQR 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ærdipickup-123-redeem-v1
Eksempel Bubble udtrykCurrent Admission's stable_redemption_request_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.
confirmyes/no · Standard: false
Eksempelværdiyes — explicit confirmation only
Eksempel Bubble udtrykConfirm 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/no
Revoke QR pass
environmenttext · Standard: "development"
Eksempelværdidevelopment
Eksempel Bubble udtrykApp 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 udtrykSelected Admission's pass_id
Brug den aktuelle forretningspost's værdi; valider den mod grænserne nedenfor.

Returneringer

pass_id · textrevoked · yes/no
Tilstande og hændelser

Planlagt arbejdsgang. Ikke tilgængelig i den aktuelle beta endnu.

Tilstande

scanner_status · text

Nuvæ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 · text

Nuvæ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 · text

Identifikator 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 · text

Nuværende værdi for det valgte element. Læs den efter den relaterede hændelse. empty,access,event,coupon,membership

receipt_id · text

Identifikator 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 · text

Fejlinformation for den sidste handling. Vis en hjælpsom besked og tilbyd den relevante genforsøg.

is_busy · yes/no

Arbejdet er stadig i gang. Vent, før du starter en anden handling.

is_scanning · yes/no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

torch_enabled · yes/no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

scan_source · text

Nuværende værdi for det valgte element. Læs den efter den relaterede hændelse. empty,camera,fixture

pending_redemption · yes/no

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

scanned_pass_token · text

Nuværende værdi for det valgte element. Læs den efter den relaterede begivenhed.

Begivenheder

scanner_started

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

scanner_paused

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

scanner_cancelled

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

permission_denied

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

pass_scanned

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

validation_started

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

validation_completed

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

redemption_started

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

pass_redeemed

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

redemption_rejected

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

redemption_pending

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

fixture_decoded

Når denne hændelse indtræffer, læs de relaterede tilstande fra det samme element.

qr_error

Nå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.