
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Skapa engångsbiljetter, upphämtningsbekräftelser eller kuponger. Personal skannar koden, kontrollerar resultatet, förhandsgranskar beställningen och bekräftar användning först när den är 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 granskad 6 november 2026
Praktiska exempel
Engångsinpassering för ett evenemang samma dag
En skärmdump av ett vanligt QR‑värde kan annars återanvändas vid fler än en ingång.
Din app lagrar en Admissionspost och en stabil utfärdande `request_id`; använd skräddarsydd `label=event` och en `ttl_seconds` inom 1–86400-sekundskontraktet.
En auktoriserad utfärdare kör Issue QR pass och levererar privat det returnerade QR. Personal skannar → Check QR pass → bekräftar endast om `ok=yes` och `status=available` → Confirm QR redemption med ett lagrat stabilt begäran-ID.
Endast `status=redeemed` plus `receipt_id` godkänner din apps admissionskvitto. Spara pass-/kvittoreferensen på Admissionsposten; exponera inte QR-innehållet för analys.
För `outcome_unknown`, återställ samma begäran med identisk användare/miljö/pass; generera aldrig ett nytt bekräftelse-ID. Hantera expired, revoked och redan använda tillstånd som separata resultat.
Planerat. Skanning och kontroll använder inte passet; endast explicit bekräftelse gör det.
Lös in en kortvarig förmån en gång vid en partnerdisk
En partner behöver ett bekräftat använt/oanvänt resultat istället för att lita på en QR-bild eller en skärmanimation.
`label=coupon`; appens Förmånsregister definierar behörighet och ett kort giltighetsfönster innan en auktoriserad utfärdandeåtgärd.
Utfärda ett pass först efter att din apps behörighetskontroll har genomförts. Vid disken visar Check QR pass tillgänglighet utan att förbruka det. Efter att personalen bekräftat leverans av förmånen, kör Confirm QR redemption.
Ditt Förmånsregister kan lagra `receipt_id` och den bekräftade inlösningstiden efter `status=redeemed`. Pluginet hanterar passets tillstånd; din app hanterar förmånen och kundrelationen.
Om en förmån avbryts innan användning kan samma auktoriserade utfärdare Revoke QR pass med sin `pass_id`. Tillkännage inte en återbetalning eller lyckad inlösen enbart från `ok=yes`.
Planerat. Skanning och kontroll använder inte passet; endast explicit bekräftelse gör det.
Bekräfta en utrustnings- eller orderupphämtning samma dag
Ett personalflöde måste skilja på att skanna en samlingsreferens och att faktiskt överlämna en vara.
Din apps ägda Samlingspost behåller auktorisation, den avsedda varan och separata stabila utfärdande-/inlösningsbegäran-ID:n; använd ett kortvarigt `label=access`-pass.
Efter att din app auktoriserat samling, Issue QR pass. Personal skannar och kontrollerar, inspekterar den matchande samlingen i din app, och bekräftar sedan uttryckligen överlämnandet och Confirm QR redemption.
Endast efter ett bekräftat `redeemed`-kvitto bör ditt flöde sätta samlingen till överlämnad. Behåll `receipt_id` som länken till passresultatet.
En upprepad skanning kan returnera already_used; visa det befintliga appposten istället för att överlämna en annan vara. Återställ en osäker bekräftelse med samma ID och indata.
Planerat. Skanning och kontroll använder inte passet; endast explicit bekräftelse gör det.
Vad som fungerar nu
Privat beta. Den nuvarande skannern har kamera‑ och behörighetskontroller. Att skapa, kontrollera och bekräfta engångspass är planerat och är ännu inte redo att användas i din app.
Bygg arbetsflödet
Planerad
Planerat arbetsflöde. Finns ännu inte i den aktuella betaversionen.
Dessa exempel använder app‑poster såsom Lesson, Message och Order. Ersätt dem med dina egna datatyper och elementnamn. Exempel på mediadresser måste ersättas med dina egna filer.
Planerat: en auktoriserad anställd använder Issue QR pass för en inpassering eller Order. Exempel: label=event, ttl_seconds=900, environment=development. Behåll ett stabilt request_id för den ärendet och spara pass_id med posten.
Visa den returnerade QR för dess avsedda ägare. Personal skannar den. I det planerade passflödet, använd workflow_mode=yes och läs scanned_pass_token efter pass_scanned. Dessa pass‑flödesinställningar är inte tillgängliga i den aktuella skannern.
Kör Check QR pass med pass_token = QR Scanner's scanned_pass_token. Det kontrollerar utan att använda passet. För status=available, visa den matchande ordern eller inmatningsdetaljerna så att personal kan granska dem.
Endast en separat Bekräfta‑knapp kör Confirm QR redemption med samma pass_token, ett stabilt request_id och confirm=yes. På status=redeemed, spara receipt_id och markera den ordern eller inmatningen som slutförd.
already_used, expired, revoked eller invalid betyder att inte släppa in eller överlämna ordern. En skanning eller en lyckad Kontroll ensam slutför aldrig transaktionen.
Konfigurera en gång
Skapa eller välj ditt Bubble‑appprojekt i BestPlugins → Dashboard → Plugins. Välj Xodera QR Passes Native, kopiera dess nyckel, öppna sedan Bubble → Plugins → Xodera QR Passes Native och klistra in den i project_api_key. Spara en gång; använd sedan åtgärderna nedan. Varje plugin i varje projekt har sin egen nyckel.
Skanning kräver kameratillstånd. För engångspass, bestäm vem som får skapa pass och vem som får kontrollera dem vid dörren eller upphämtningsstället. Vanliga kunder behöver ingen personalroll.
qr_issuer_permission_field
qr_pass_issuer · Namnet på användarens ja/nej-fält som markerar anställda som får skapa eller återkalla pass. Exempel/standard: qr_pass_issuer. Ange fältnamnet här, inte ja eller nej. Endast en behörig administratör bör ändra den behörigheten för en användare.
qr_staff_permission_field
qr_staff · Namnet på användarens ja/nej-fält som markerar personal som får kontrollera och bekräfta användning. Exempel/standard: qr_staff. En biljettinnehavare behöver inte denna behörighet. Håll det utanför offentliga registrerings- och profilformulär.
Konfigurera en gång
- Skapa eller välj ditt Bubble‑appprojekt på BestPlugins → Dashboard → Plugins.
- Välj detta plugin och kopiera dess projektnyckel.
- Öppna Bubble → Plugins → Xodera QR Passes Native; klistra in nyckeln i project_api_key och spara.
- Lägg till elementet, välj dina appdata och bygg arbetsflödet nedan.
- Privat beta‑åtkomst endast för tillfället. Offentlig installation och betald aktivering är ännu inte öppna.
Installation och prenumeration
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.
Spara resultatet i din app
Exempel på inpassering eller upphämtning: spara den relaterade ordern/händelsen, pass_id, expires_at och issue_request_id. Efter bekräftad användning, lägg till receipt_id, redeemed_at och den anställde som bekräftade. Markera inte posten som slutförd när koden bara har skannats eller kontrollerats. En QR‑kod verifierar inte en persons identitet.
Fel, avbryt och återställning
Om outcome_unknown=yes, behåll samma pass, request_id och inmatningarna när resultatet kontrolleras igen. Skapa inte en ny bekräftelse. already_used, expired och revoked är slutgiltiga affärsresultat. Om behörighet nekas, be en auktoriserad administratör att granska den anställdes roll. Clear session återställer skannern; den kan inte ångra en slutförd användning.
Kapaciteter och begränsningar
Planerade pass är engångsbruk med en livslängd på 1–86400 sekunder; standard 900. Pass‑typer: access, event, coupon och membership. Kontroll reserverar inte ett pass. Internetåtkomst krävs för passanvändning. Ingen betalningshantering, identitetskontroll eller återanvändbart långtidsmedlemskort. Att läsa ett vanligt QR‑värde är separat från att kontrollera ett pass.
Inställningar, åtgärder och resultat
Använd dessa namn i Bubble. Planerade funktioner markeras separat.
Tillgängliga beta-inställningar
Elementinställningar
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textTillstånd
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/noHändelser
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_errorÅtgärder och deras indata
Clear sessionElementinställningar · 5
Planerat arbetsflöde. Finns ännu inte i den aktuella betaversionen.
disabledyes/no · Standard: false- Exempelvärde
no - Exempel Bubble uttryck
GuideHost's is_busy (your yes/no custom state) - Inaktivera elementet medan din app är upptagen eller åtgärden är otillgänglig.
is_activeyes/no · Standard: true- Exempelvärde
yes - Exempel Bubble uttryck
GuideHost's view_is_active (your yes/no custom state) - Sätt ja medan denna vy är öppen. Sätt nej vid lämning, så uppspelning eller pågående arbete kan stoppas.
ui_text_jsontext · Standard: "{}"- Exempelvärde
{} - Exempel Bubble uttryck
App Settings' player_labels_json (supported keys only) - Valfri JSON med stöd för knappetiketter. Lämna tomt för att använda den inbyggda texten.
languagetext · Standard: "auto"- Exempelvärde
uk - Exempel Bubble uttryck
Current User's preferred_language - Ställ in language=auto för att följa en stödjande enhet eller webbläsarspråk. Ange en stödjande språkkod för att välja den explicit.
workflow_modeyes/no · Standard: false- Exempelvärde
yes - Exempel Bubble uttryck
App Settings' use_qr_business_actions - Planerat: tillåt att det skannade QR-värdet används av Check QR pass. Enbart skanning bekräftar inte inträde eller upphämtning.
Åtgärder och deras indata · 5
Planerat arbetsflöde. Finns ännu inte i den aktuella betaversionen.
Clear session
Inga åtgärdsparametrar
Issue QR pass
environmenttext · Standard: "development"- Exempelvärde
development - Exempel Bubble uttryck
App Settings' selected_environment - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
request_idtext · Standard: —- Exempelvärde
pickup-123-issue-v1 - Exempel Bubble uttryck
Current Admission's stable_request_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
labeltext · Standard: "access"- Exempelvärde
event - Exempel Bubble uttryck
Selected Admission's pass_label - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
ttl_secondsnumber · Standard: 900- Exempelvärde
900 - Exempel Bubble uttryck
Event Settings' pass_ttl_seconds - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Returer
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Standard: "development"- Exempelvärde
development - Exempel Bubble uttryck
App Settings' selected_environment - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
pass_tokentext · Standard: —- Exempelvärde
<opaque token returned by Issue / camera scan> - Exempel Bubble uttryck
QR Pass Scanner's scanned_pass_token (capture before Check) - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Returer
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Standard: "development"- Exempelvärde
development - Exempel Bubble uttryck
App Settings' selected_environment - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
pass_tokentext · Standard: —- Exempelvärde
<opaque token returned by Issue / camera scan> - Exempel Bubble uttryck
QR Pass Scanner's scanned_pass_token (capture before Check) - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
request_idtext · Standard: —- Exempelvärde
pickup-123-redeem-v1 - Exempel Bubble uttryck
Current Admission's stable_redemption_request_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
confirmyes/no · Standard: false- Exempelvärde
yes — explicit confirmation only - Exempel Bubble uttryck
Confirm Checkbox is checked - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Returer
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Standard: "development"- Exempelvärde
development - Exempel Bubble uttryck
App Settings' selected_environment - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
pass_idtext · Standard: —- Exempelvärde
<pass_id returned by Issue> - Exempel Bubble uttryck
Selected Admission's pass_id - Använd det aktuella affärspostens värde; validera det mot gränserna nedan.
Returer
pass_id · textrevoked · yes/noTillstånd och händelser
Planerat arbetsflöde. Finns ännu inte i den aktuella betaversionen.
Tillstånd
scanner_status · textAktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textAktuellt resultat av denna åtgärd. Använd motsvarande slutförande‑händelse innan du sparar framgång. empty,available,redeemed,already_used,expired,revoked
pass_id · textIdentifierare för detta objekt eller åtgärd. Behåll den med motsvarande app‑post. Använd samma begäranidentifierare vid återförsök av ett osäkert resultat.
pass_label · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen. empty,access,event,coupon,membership
receipt_id · textIdentifierare för detta objekt eller åtgärd. Behåll den med motsvarande app‑post. Använd samma begäranidentifierare vid återförsök av ett osäkert resultat.
error_code · textFelinformation för den senaste åtgärden. Visa ett hjälpsamt meddelande och erbjud relevant återförsök.
is_busy · yes/noArbetet pågår fortfarande. Vänta innan du påbörjar en annan åtgärd.
is_scanning · yes/noAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
torch_enabled · yes/noAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
scan_source · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen. empty,camera,fixture
pending_redemption · yes/noAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
scanned_pass_token · textAktuellt värde för det valda objektet. Läs det efter den relaterade händelsen.
Händelser
scanner_startedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
scanner_pausedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
scanner_cancelledNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
permission_deniedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
pass_scannedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
validation_startedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
validation_completedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
redemption_startedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
pass_redeemedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
redemption_rejectedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
redemption_pendingNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
fixture_decodedNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
qr_errorNär denna händelse inträffar, läs de relaterade tillstånden från samma element.
Frågor som utvecklare ställer
Vad betyder de två behörighetsinställningarna?
Namn på användarfältet ja/nej som markerar anställda som får skapa eller återkalla pass. Exempel/standard: qr_pass_issuer. Ange fältnamnet här, inte ja eller nej. Endast en auktoriserad administratör bör ändra den behörigheten för en användare. Namn på användarfältet ja/nej som markerar personal som får kontrollera och bekräfta användning. Exempel/standard: qr_staff. En biljettinnehavare behöver inte denna behörighet. Håll det utanför offentliga registrerings- och profilformulär.
Kan samma anställde skapa och kontrollera pass?
Ja, om en auktoriserad administratör ger den anställde båda behörigheterna. Detta kräver ingen ytterligare projektnyckel. Kunder behöver normalt ingen av behörigheterna. Låt inte användare tilldela dessa behörigheter till sig själva.
Varför använda Kontroll efter Skanning?
Skanning läser koden. Kontroll frågar om passet är tillgängligt utan att använda det. Personal kan granska ordern först. Endast den separata Confirm QR redemption‑åtgärden använder passet en gång.
Hur fungerar prenumerationen?
Planerad prissättning: installation av pluginet i Bubble är gratis. BestPlugins‑åtkomst är en separat prenumeration för varje plugin i varje Bubble‑appprojekt: 7 dagar gratis, därefter US$1.50 per månad. Development och Live ingår. Det finns ingen fast gräns för antalet operationer; filstorleks‑ och funktionsgränser gäller fortfarande. Kassan är ännu inte öppen. Aktiveringsskärmen visar det första faktureringsdatumet och avbokningsvillkoren.
Relaterade guider
Marketplace-utgåva väntar
Forumguide ej publicerad
För hjälp, berätta vilken plugin och enhet du använder, vilken åtgärd du försökte och vad som hände. Använd ett exempel utan personuppgifter. Dela aldrig din nyckel eller privata filer.