QR‑skandeerderkoppelvlak. Eenmalige pas‑aksies is beplan.
QR‑skandeerderkoppelvlak. Eenmalige pas‑aksies is beplan.
← Alle inheemse gidse

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Bou eenmalige kaartjies, afhaalbevestigings of koepons. Personeel skandeer die kode, kontroleer die resultaat, voorskou die bestelling en bevestig gebruik slegs wanneer gereed.

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.

Dokumentasie hersien 6 November 2026

Praktiese voorbeelde

Eenmalige toelating vir ’n dieselfde-dag geleentheid

’n Skermskoot van ’n gewone QR waarde kan andersins by meer as een ingang hergebruik word.

U app stoor 'n Toelatingsrekord en 'n stabiele `request_id` vir die uitreiking; gebruik gekureerde `label=event` en 'n `ttl_seconds` binne die 1–86400-sekond kontrak.

'n Gemagtigde uitreiker voer Issue QR pass uit en lewer die teruggegee QR privaat af. Personeel skandeer → Check QR pass → bevestig slegs as `ok=yes` en `status=available` → Confirm QR redemption met 'n gestoorde stabiele versoek-ID.

Slegs `status=redeemed` plus `receipt_id` mag u app se toelatingsbewys. Stoor die pas/bewysverwysing op die Toelating; moenie QR-inhoud aan analise blootstel nie.

Vir `outcome_unknown`, herstel dieselfde versoek met identiese gebruiker/omgewing/pas; genereer nooit 'n nuwe bevestigings-ID nie. Hanteer expired, revoked en reeds-gebruikte state as afsonderlike uitkomste.

Beplan. Skandering en kontrole verbruik nie die pas nie; slegs eksplisiete bevestiging verbruik dit.

Gebruik 'n kortlewende voordeel een keer by 'n vennoot-toonbank.

'n Vennoot benodig 'n bevestigde gebruik/ongebruik resultaat in plaas van om op 'n QR-afbeelding of skermanimasie te vertrou.

`label=coupon`; die app se Voordeelrekord definieer geskiktheid en 'n kort geldigheidsvenster voordat 'n gemagtigde uitreiking-aksie plaasvind.

Reik 'n pas slegs uit na u app se geskiktheidskontrole. By die toonbank toon Check QR pass beskikbaarheid sonder om dit te verbruik. Nadat die personeel lewering van die voordeel bevestig, voer Confirm QR redemption uit.

U Voordeelrekord kan `receipt_id` en die bevestigde gebruikstyd na `status=redeemed` stoor. Die inprop bestuur die passtatus; u app bestuur die voordeel en klantverhouding.

As 'n voordeel gekanselleer word voor gebruik, kan dieselfde gemagtigde uitreiker Revoke QR pass gebruik met sy `pass_id`. Moenie ’n terugbetaling of suksesvolle gebruik op grond van `ok=yes` alleen aankondig nie.

Beplan. Skandering en kontrole verbruik nie die pas nie; slegs eksplisiete bevestiging verbruik dit.

Bevestig 'n dieselfde-dag toerusting- of bestellingsafhaling.

'n Personeel-werkstroom moet onderskei tussen die skandering van 'n afhaalverwysing en die werklike oorhandiging van 'n item.

U app se besitde Versamelingrekord behou magtiging, die beoogde item en afsonderlike stabiele uitreiking/verlossingsversoek-ID's; gebruik 'n kortlewende `label=access`-pas.

Nadat u app die afhaling magtig, Issue QR pass. Personeel skandeer en kontroleer, inspekteer die ooreenstemmende Versameling in u app, en bevestig dan eksplisiet die oorhandiging en Confirm QR redemption.

Slegs na 'n bevestigde `redeemed`-ontvangs moet u werkstroom die Versameling op 'oorhandig' stel. Hou `receipt_id` as die skakel na die pasuitkoms.

'n Herhaalde skandering kan already_used teruggee; vertoon die bestaande app-rekord in plaas van om nog 'n item oor te hand. Herstel 'n onseker bevestiging met dieselfde ID en insette.

Beplan. Skandering en kontrole verbruik nie die pas nie; slegs eksplisiete bevestiging verbruik dit.

Wat nou werk

Privaat beta. Die huidige skandeerder het kamera‑ en toestemming‑kontroles. Die skep, kontroleer en bevestig van eenmalige passe is beplan en nog nie gereed om in jou app gebruik te word nie.

Bou die werkvloei

Beplan

Beplande werkstroom. Nog nie beskikbaar in die huidige beta nie.

Hierdie voorbeelde gebruik app-rekords soos Lesson, Message en Order. Vervang dit met jou eie datatipes en elementname. Voorbeeldmedia-adresse moet met jou eie lêers vervang word.

  1. Beplan: ’n gemagtigde werknemer gebruik Issue QR pass vir ’n Toelating of Order. Voorbeeld: label=event, ttl_seconds=900, environment=development. Behouw ’n stabiele request_id vir daardie uitreiking en stoor pass_id saam met die rekord.

  2. Wys die teruggegee QR aan die beoogde houer. Personeel skandeer dit. In die beplande paswerkstroom, gebruik workflow_mode=yes en lees scanned_pass_token na pass_scanned. Hierdie paswerkstroominstellings is nie beskikbaar in die huidige skandeerder nie.

  3. Voer Check QR pass uit met pass_token = QR Scanner's scanned_pass_token. Dit kontroleer sonder om die pas te verbruik. Vir status=available, wys die ooreenstemmende bestelling of inskrywingdetails sodat personeel dit kan hersien.

  4. Slegs ’n aparte Bevestig-knoppie voer Confirm QR redemption uit met dieselfde pass_token, ’n stabiele request_id en confirm=yes. Op status=redeemed, stoor receipt_id en merk daardie bestelling of inskrywing voltooi.

  5. already_used, expired, revoked of invalid beteken nie toelating of oordrag van die bestelling nie. ’n Skandering of ’n suksesvolle Kontrole alleen voltooi die transaksie nooit.

Werkvloediagram — nie 'n app-skermkiekie nie

Stel een keer op

Skep of kies jou Bubble-appprojek in BestPlugins → Dashboard → Plugins. Kies Xodera QR Passes Native, kopieer die sleutel, open dan Bubble → Plugins → Xodera QR Passes Native en plak dit in project_api_key. Stoor een keer; gebruik dan die aksies hieronder. Elke inprop in elke projek het sy eie sleutel.

Skandering benodig kamera toestemming. Vir eenmalige passe, bepaal wie passe kan skep en wie dit by die deur of afhaalpunt kan kontroleer. Gewone kliënte het nie personeelrol nodig nie.

qr_issuer_permission_field

qr_pass_issuer · Naam van die gebruiker ja/nee-veld wat werknemers merk wat toegelaat word om paspoorte te skep of te herroep. Voorbeeld/verstek: qr_pass_issuer. Plaas hier die veldnaam, nie ja of nee nie. Slegs 'n gemagtigde administrateur moet daardie toestemming op 'n gebruiker verander.

qr_staff_permission_field

qr_staff · Naam van die gebruiker ja/nee-veld wat personeel merk wat toegelaat word om gebruik te kontroleer en te bevestig. Voorbeeld/verstek: qr_staff. 'n Kaarthouer hoef nie hierdie toestemming te hê nie. Hou dit uit openbare registrasie- en profielvorms.

Stel een keer op
  1. Skep of kies jou Bubble-appprojek by BestPlugins → Dashboard → Plugins.
  2. Kies hierdie inprop en kopieer die projek-sleutel.
  3. Open Bubble → Plugins → Xodera QR Passes Native; plak die sleutel in project_api_key en stoor.
  4. Voeg die element by, kies jou app-data en bou die werkstroom hieronder.
  5. Privaat beta-toegang slegs vir nou. Publieke installasie en betaalde aktivering is nog nie beskikbaar nie.
Installasie en intekening

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.

Stoor die resultaat in jou app

Voorbeeld Toelating of Afhaal: stoor die verwante bestelling/geleentheid, pass_id, expires_at en issue_request_id. Na bevestigde gebruik, voeg receipt_id, redeemed_at en die werknemer wat bevestig het, by. Merk die rekord nie as voltooi nie wanneer die kode net geskande of nagegaan is. ’n QR kode verifieer nie ’n persoon se identiteit nie.

Mislukking, kanselleer en herstel

As outcome_unknown=yes, behou dieselfde pas, request_id en insette wanneer die resultaat weer gekontroleer word. Skep nie ’n nuwe bevestiging nie. already_used, expired en revoked is finale besigheidsresultate. As toestemming geweier word, vra ’n gemagtigde administrateur om die werknemer se rol te hersien. Clear session stel die skandeerder terug; dit kan nie ’n voltooi gebruik ongedaan maak nie.

Vermoeëns en beperkings

Beplande passe is enkelgebruik, met ’n leeftyd van 1–86400 sekondes; verstek 900. Pas tipes: access, event, coupon en membership. Kontroleer reserveer nie ’n pas nie. Internettoegang is benodig vir pasgebruik. Geen betalingsverwerking, identiteitstoets of herbruikbare langtermyn lidmaatskapkaart nie. Die lees van ’n gewone QR waarde is geskei van die kontrole van ’n pas.

Instellings, aksies en resultate

Gebruik hierdie name in Bubble. Beplande funksies word afsonderlik gemerk.

Beskikbare beta-instellings

Elementinstellings

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

Toestande

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

Gebeurtenisse

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Aksies en hul insette

Clear session
Elementinstellings · 5

Beplande werkstroom. Nog nie beskikbaar in die huidige beta nie.

disabledyes/no · Verstek: false
Voorbeeldwaardeno
Voorbeeld Bubble-uitdrukkingGuideHost's is_busy (your yes/no custom state)
Deaktiveer die element terwyl jou app besig is of hierdie aksie nie beskikbaar is nie.
is_activeyes/no · Verstek: true
Voorbeeldwaardeyes
Voorbeeld Bubble-uitdrukkingGuideHost's view_is_active (your yes/no custom state)
Stel ja wanneer hierdie aansig oop is. Stel nee wanneer dit verlaat word, sodat terugspeel of huidige werk kan stop.
ui_text_jsontext · Verstek: "{}"
Voorbeeldwaarde{}
Voorbeeld Bubble-uitdrukkingApp Settings' player_labels_json (supported keys only)
Opsioneel JSON met ondersteunde knoppie-etikette. Laat leeg om die ingeboude teks te gebruik.
languagetext · Verstek: "auto"
Voorbeeldwaardeuk
Voorbeeld Bubble-uitdrukkingCurrent User's preferred_language
Stel language=auto in om ’n ondersteunde toestel of blaaier se taal te volg. Voer ’n ondersteunde taalkode in om dit eksplisiet te kies.
workflow_modeyes/no · Verstek: false
Voorbeeldwaardeyes
Voorbeeld Bubble-uitdrukkingApp Settings' use_qr_business_actions
Beplan: laat die geskandeerde QR-waarde deur Check QR pass gebruik toe. Skandering alleen bevestig nie toegang of afhaling nie.
Aksies en hul insette · 5

Beplande werkstroom. Nog nie beskikbaar in die huidige beta nie.

Clear session

Geen aksie‑parameters nie

Issue QR pass
environmenttext · Verstek: "development"
Voorbeeldwaardedevelopment
Voorbeeld Bubble-uitdrukkingApp Settings' selected_environment
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
request_idtext · Verstek: —
Voorbeeldwaardepickup-123-issue-v1
Voorbeeld Bubble-uitdrukkingCurrent Admission's stable_request_id
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
labeltext · Verstek: "access"
Voorbeeldwaardeevent
Voorbeeld Bubble-uitdrukkingSelected Admission's pass_label
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
ttl_secondsnumber · Verstek: 900
Voorbeeldwaarde900
Voorbeeld Bubble-uitdrukkingEvent Settings' pass_ttl_seconds
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.

Teruggegewe waardes

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Verstek: "development"
Voorbeeldwaardedevelopment
Voorbeeld Bubble-uitdrukkingApp Settings' selected_environment
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
pass_tokentext · Verstek: —
Voorbeeldwaarde<opaque token returned by Issue / camera scan>
Voorbeeld Bubble-uitdrukkingQR Pass Scanner's scanned_pass_token (capture before Check)
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.

Teruggegewe waardes

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Verstek: "development"
Voorbeeldwaardedevelopment
Voorbeeld Bubble-uitdrukkingApp Settings' selected_environment
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
pass_tokentext · Verstek: —
Voorbeeldwaarde<opaque token returned by Issue / camera scan>
Voorbeeld Bubble-uitdrukkingQR Pass Scanner's scanned_pass_token (capture before Check)
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
request_idtext · Verstek: —
Voorbeeldwaardepickup-123-redeem-v1
Voorbeeld Bubble-uitdrukkingCurrent Admission's stable_redemption_request_id
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
confirmyes/no · Verstek: false
Voorbeeldwaardeyes — explicit confirmation only
Voorbeeld Bubble-uitdrukkingConfirm Checkbox is checked
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.

Teruggegewe waardes

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Verstek: "development"
Voorbeeldwaardedevelopment
Voorbeeld Bubble-uitdrukkingApp Settings' selected_environment
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.
pass_idtext · Verstek: —
Voorbeeldwaarde<pass_id returned by Issue>
Voorbeeld Bubble-uitdrukkingSelected Admission's pass_id
Gebruik die huidige besigheidsrekord se waarde; valideer dit teen die onderstaande limiete.

Teruggegewe waardes

pass_id · textrevoked · yes/no
Toestande en gebeurtenisse

Beplande werkstroom. Nog nie beskikbaar in die huidige beta nie.

Toestande

scanner_status · text

Huidige resultaat van hierdie aksie. Gebruik die ooreenstemmende voltooiingsgebeurtenis voordat u sukses stoor. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Huidige resultaat van hierdie aksie. Gebruik die ooreenstemmende voltooiingsgebeurtenis voordat u sukses stoor. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Identifiseerder vir hierdie item of aksie. Behou dit saam met die ooreenstemmende app‑rekord. Gebruik dieselfde versoek‑identifiseerder wanneer u 'n onseker resultaat herprobeer.

pass_label · text

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis. empty,access,event,coupon,membership

receipt_id · text

Identifiseerder vir hierdie item of aksie. Behou dit saam met die ooreenstemmende app‑rekord. Gebruik dieselfde versoek‑identifiseerder wanneer u 'n onseker resultaat herprobeer.

error_code · text

Foutinligting vir die laaste aksie. Wys 'n nuttige boodskap en bied die toepaslike herprobe aan.

is_busy · yes/no

Werk is nog in gang. Wag voordat u 'n ander aksie begin.

is_scanning · yes/no

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.

torch_enabled · yes/no

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.

scan_source · text

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis. empty,camera,fixture

pending_redemption · yes/no

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.

scanned_pass_token · text

Huidige waarde vir die gekose item. Lees dit na die verwante gebeurtenis.

Gebeurtenisse

scanner_started

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

scanner_paused

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

scanner_cancelled

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

permission_denied

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

pass_scanned

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

validation_started

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

validation_completed

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

redemption_started

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

pass_redeemed

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

redemption_rejected

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

redemption_pending

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

fixture_decoded

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

qr_error

Wanneer hierdie gebeurtenis plaasvind, lees die verwante toestande vanaf dieselfde element.

Vrae wat ontwikkelaars vra

Wat beteken die twee toestemminginstellings?

Naam van die gebruiker ja/nee-veld wat werknemers merk wat passe mag skep of intrek. Voorbeeld/verstek: qr_pass_issuer. Plaas hier die veldnaam, nie ja of nee nie. Slegs ’n gemagtigde administrateur moet daardie toestemming op ’n gebruiker verander. Naam van die gebruiker ja/nee-veld wat personeel merk wat passe mag kontroleer en bevestig. Voorbeeld/verstek: qr_staff. ’n Kaartjiehouer hoef nie hierdie toestemming te hê nie. Hou dit uit openbare registrasie- en profielvorms.

Kan dieselfde werknemer passe skep en kontroleer?

Ja, as ’n gemagtigde administrateur daardie werknemer albei toestemmings gee. Dit vereis nie ’n ander projek-sleutel nie. Kliënte hoef normaalweg nie enige van die toestemmings te hê nie. Laat nie gebruikers toe om hierdie toestemmings aan hulself toe te ken nie.

Hoekom Check na Scan gebruik?

Skandering lees die kode. Check vra of die pas beskikbaar is sonder om dit te gebruik. Personeel kan eers die bestelling hersien. Slegs die aparte Confirm QR redemption-aksie gebruik die pas een keer.

Hoe werk die intekening?

Beplande pryse: die installering van die plugin in Bubble is gratis. BestPlugins-toegang is ’n aparte intekening vir elke plugin in elke Bubble-appprojek: 7 dae gratis, daarna US$1.50 per maand. Development en Live is ingesluit. Daar is geen vaste limiet op die aantal operasies nie; lêergrootte- en funksielimiete is steeds van toepassing. Afrekeningsproses is nog nie oop nie. Die aktiveringsskerm sal die eerste faktuurdatum en kansellasievoorwaardes wys.

Verwante gidse

Marketplace vrystelling hangende

Forumgids nie gepos nie

Vir hulp, vertel ons watter plugin en toestel jy gebruik, die aksie wat jy probeer het en wat gebeur het. Gebruik ’n voorbeeld sonder persoonlike data. Deel nooit jou sleutel of private lêers nie.