QR interfàcia del scanner. Las accions de passa d’un sol usatge son previstas.
QR interfàcia del scanner. Las accions de passa d’un sol usatge son previstas.
← Totas las guidas Bubble Native

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Construïtz de bilhets d’usatge unic, de confirmacions de retirada o de cupons. Lo personal escaneja lo còdi, verifica lo resultat, previsualiza la comanda e confirma l’utilizacion solament quand es prèst.

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.

Documentacion revisada 6 novèmber 2026

Exemples practics

Admissió d'una sola utilizacion per un eveniment del meteis jorn

Una captura d'ecran d'una valor QR ordinària pòt, al contrari, èsser reutilizada a mai d'una entrada.

Vòstra aplicacion emmagazina un registre d'Admission e una emissió estable `request_id` ; utilizatz `label=event` curat e un `ttl_seconds` dins lo contracte de 1‑86400 segondas.

Un emetor autorizat executa Issue QR pass e entrega privatament lo QR retornat. Lo personal escaneja → Check QR pass → confirma solament se `ok=yes` e `status=available` → Confirm QR redemption amb un ID de demanda estable emmagazinat.

Solament `status=redeemed` e `receipt_id` autorizan lo recebut d'admission de vòstra aplicacion. Emmagazinez la referéncia del pass/recebut sus l'Admission ; exponètz pas lo contengut de QR a l'analisi.

Per `outcome_unknown`, recuperatz la meteissa demanda amb lo meteis utilizaire, environament e pass; generatz pas jamai un ID de confirmacion novèl. Tractatz los estats expired, revoked e ja utilizat coma de resultats distints.

Planificat. L'escaneament e la verificacion utilizan pas lo pass ; solament la confirmacion explicita lo fa.

Utilizatz un avantatge de corta durada un còp al comptador de servici d'un partenari

Un partener a besonh d’un resultat confirmat utilizat/non utilizat al luòc de se fisar d’una imatge QR o d’una animacion d’ecran.

`label=coupon` ; lo registre de Benefici de l’aplicacion definís l’eligibilitat e una fenèstra de validesa curta abans una accion d’emission autorizada.

Emètz un pass solament aprèp la verificacion d’eligibilitat de vòstra aplicacion. Al comptador, Check QR pass indica la disponibilitat sens lo consumar. Un còp que lo personal confirma la entrega del benefici, executatz Confirm QR redemption.

Vòstre registre Benefit pòt gardar `receipt_id` e lo moment d'utilizacion confirmada aprèp `status=redeemed`. Lo plugin gerís l'estat del pass; vòstra aplicacion gerís l'avantatge e la relacion amb lo client.

Se un benefici es anullat abans son utilizacion, lo meteis emetor autorizat pòt Revoke QR pass amb son `pass_id`. Anunciez pas un remborsament o una redencion capitada solament a partir de `ok=yes`.

Planificat. L'escaneament e la verificacion utilizan pas lo pass ; solament la confirmacion explicita lo fa.

Confirmar una retirada d’equipament o de comanda lo meteis jorn

Lo flux de trabalh del personal deu distinguir l'escanejament d'una referéncia de retirada e la remesa efectiva d'un article.

Lo registre Collection de vòstra aplicacion garda l'autorizacion, l'article previst e d'ID de demanda estables e separats per l'emission e l'utilizacion; utilizatz un pass `label=access` de corta durada.

Aprèp que vòstra aplicacion a autorizat la retirada, executatz Issue QR pass. Lo personal escaneja e utiliza Check, verifica lo Collection correspondent dins vòstra aplicacion, puèi confirma explicitament la remesa e executa Confirm QR redemption.

Sonque aprèp una confirmacion d'utilizacion `redeemed`, vòstre flux de trabalh deu marcar lo Collection coma remés. Gardatz `receipt_id` coma ligam amb lo resultat del pass.

Un escanejament repetit pòt tornar already_used ; afichatz lo registre existent de l’aplicacion al luòc de entregar un autre article. Recuperatz una confirmacion incerta amb lo meteis ID e las meteissas entradas.

Planificat. L'escaneament e la verificacion utilizan pas lo pass ; solament la confirmacion explicita lo fa.

Qué fonciona ara

Beta privada. Lo scanner actual disposa de contraròtles de camèra e de permissions. La creacion, la verificacion e la confirmacion de passes d’usatge unic son planificadas e son pas encara prèstas per èsser utilizadas dins vòstra aplicacion.

Crear lo flux de trabalh

Planificat

Flux de trabalh previst. Pas encara disponible dins la beta actuala.

Aquestes exemples utilizan de registres d’aplicacion tals coma Lesson, Message e Order. Remplaçatz-los per vòstres pròpris tipes de donadas e noms d’elements. Las adreças de mèdias d’exemple devon èsser remplaçadas per vòstres pròpris fichièrs.

  1. Previst: un emplegat autorizat utiliza Issue QR pass per un Admission o Order. Exemple: label=event, ttl_seconds=900, environment=development. Gardatz un request_id estable per aquela emission e enregistratz pass_id amb lo registre.

  2. Afichatz lo QR tornat al destinatari previst. Lo personal lo escaneja. Dins lo flux de trabalh del pass planificat, utilizatz workflow_mode=yes e legissètz scanned_pass_token aprèp pass_scanned. Aquestas configuracions del flux de pass son pas disponiblas dins lo scanner actual.

  3. Executatz Check QR pass amb pass_token = QR Scanner's scanned_pass_token. Verifica sens utilizar lo pass. Per status=available, afichatz los detalhs de la comanda o de l’entrada correspondenta per que lo personal los pòsca revisar.

  4. Solament un boton Confirm separat executa Confirm QR redemption amb lo meteis pass_token, un request_id estable e confirm=yes. En status=redeemed, enregistratz receipt_id e marcatz aquela comanda o entrada coma completa.

  5. already_used, expired, revoked o invalid significa que cal pas autorizar l'entrada ni remetre la comanda. Un escanejament o un Check capitat, tot sol, acaba pas jamai la transaccion.

Diagrama del flux de trabalh — pas una captura d’ecran d’aplicacion

Configurar un sol còp

Creatz o causissètz vòstre projècte d’aplicacion Bubble dins BestPlugins → Dashboard → Plugins. Causissètz Xodera QR Passes Native, copiatz sa clau, puèi dobrissètz Bubble → Plugins → Xodera QR Passes Native e pegatz-la dins project_api_key. Enregistratz una còp ; puèi utilizatz las accions çai-jos. Cada plugin dins cada projècte a sa pròpria clau.

Lo scan requerís la permission de la camèra. Per de passes d’un sol usatge, decidissètz qui pòt crear de passes e qui los pòt verificar a la pòrta o al punt de retirada. Los clients corrents necessitan pas cap de ròtle de personal.

qr_issuer_permission_field

qr_pass_issuer · Nom del camp User de tipe yes/no qu'indica los emplegats autorizats a crear o revocar de passes. Exemple/per defaut: qr_pass_issuer. Entratz aicí lo nom del camp, pas yes o no. Sonque un administrator autorizat deu cambiar aquela permission d'un utilizaire.

qr_staff_permission_field

qr_staff · Nom del camp User de tipe yes/no qu'indica lo personal autorizat a verificar e confirmar l'utilizacion. Exemple/per defaut: qr_staff. Lo titular d'un bilhet a pas besonh d'aquela permission. Excluissètz-la dels formularis publics d'inscripcion e de perfil.

Configurar un sol còp
  1. Creatz o causissètz vòstre projècte d’aplicacion Bubble a BestPlugins → Dashboard → Plugins.
  2. Causissètz aqueste plugin e copiatz sa clau de projècte.
  3. Dobrissètz Bubble → Plugins → Xodera QR Passes Native ; pegatz la clau dins project_api_key e enregistratz.
  4. Apondètz l’element, causissètz vòstras donadas d’aplicacion e construïtz lo flux de trabalh çai-jos.
  5. Accès beta privat solament per ara. L’installacion publica e l’activacion pagada son pas encara dobèrtas.
Installacion e abonament

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.

Enregistrar lo resultat dins vòstra aplicacion

Exemple d’Admissió o de Retirada : enregistratz la comanda/evèniment associat, pass_id, expires_at e issue_request_id. Après una utilizacion confirmada, apondètz receipt_id, redeemed_at e l’emplegat qu’a confirmat. Marcatz pas lo registre coma complet quand lo còdi es solament escanejat o verificat. Un còdi QR verifica pas l’identitat d’una persona.

Fracàs, anullacion e recuperacion

Se outcome_unknown=yes, mantengatz lo meteis pass, request_id e las entradas al moment de verificar tornamai lo resultat. Creatz pas una nòva confirmacion. already_used, expired e revoked son los resultats finalas de l’activitat. Se la permission es refusada, demandatz a un administrator autorizat de revisar lo ròtle de l’emplegat. Clear session reïnicializa lo scanner ; pòt pas anullar una utilizacion completada.

Capacitats e limits

Los passes planificats son d’usatge unic, amb una durada de 1–86400 segondas ; per defaut 900. Tipus de passes : access, event, coupon e membership. La verificacion reserva pas un pass. L’accès a Internet es necessari per l’utilizacion del pass. Cap de tractament de pagament, de verificacion d’identitat o de carta de membresia reutilizable a long tèrme. La lectura d’una valor QR ordinària es separada de la verificacion d’un pass.

Paramètres, accions e resultats

Utilizatz aqueles noms dins Bubble. Las foncions planificadas son marcadas separadament.

Paramètres beta disponibles

Paramètres de l’element

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

Estats

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

Eveniments

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Accions e lors entradas

Clear session
Paramètres de l’element · 5

Flux de trabalh previst. Pas encara disponible dins la beta actuala.

disabledyes/no · Per defaut: false
Valor d’exempleno
Exemple d'expression BubbleGuideHost's is_busy (your yes/no custom state)
Desactivar l’element mentre vòstra aplicacion es ocupada o aquesta accion es indisponibla.
is_activeyes/no · Per defaut: true
Valor d’exempleyes
Exemple d'expression BubbleGuideHost's view_is_active (your yes/no custom state)
Definissètz yes mentre aquesta vista es dobèrta. Definissètz no quand la quitatz, per que la lectura o lo trabalh en cors se pòsca arrestar.
ui_text_jsontext · Per defaut: "{}"
Valor d’exemple{}
Exemple d'expression BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional amb etiquetas de botonas suportadas. Daissatz void per utilizar lo tèxte integrat.
languagetext · Per defaut: "auto"
Valor d’exempleuk
Exemple d'expression BubbleCurrent User's preferred_language
Definissètz language=auto per seguir la lenga de l'aparelh o del navegador se aquela lenga es suportada. Entratz un còde de lenga suportat per la causir explicitament.
workflow_modeyes/no · Per defaut: false
Valor d’exempleyes
Exemple d'expression BubbleApp Settings' use_qr_business_actions
Planificat : permetre que la valor QR escanejada siá utilizada per Check QR pass. L’escanejament solament confirma pas l’entrada o la retirada.
Accions e lors entradas · 5

Flux de trabalh previst. Pas encara disponible dins la beta actuala.

Clear session

Cap de paramètre d'accion

Issue QR pass
environmenttext · Per defaut: "development"
Valor d’exempledevelopment
Exemple d'expression BubbleApp Settings' selected_environment
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
request_idtext · Per defaut: —
Valor d’exemplepickup-123-issue-v1
Exemple d'expression BubbleCurrent Admission's stable_request_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
labeltext · Per defaut: "access"
Valor d’exempleevent
Exemple d'expression BubbleSelected Admission's pass_label
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
ttl_secondsnumber · Per defaut: 900
Valor d’exemple900
Exemple d'expression BubbleEvent Settings' pass_ttl_seconds
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.

Valors retornadas

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Per defaut: "development"
Valor d’exempledevelopment
Exemple d'expression BubbleApp Settings' selected_environment
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
pass_tokentext · Per defaut: —
Valor d’exemple<opaque token returned by Issue / camera scan>
Exemple d'expression BubbleQR Pass Scanner's scanned_pass_token (capture before Check)
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.

Valors retornadas

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Per defaut: "development"
Valor d’exempledevelopment
Exemple d'expression BubbleApp Settings' selected_environment
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
pass_tokentext · Per defaut: —
Valor d’exemple<opaque token returned by Issue / camera scan>
Exemple d'expression BubbleQR Pass Scanner's scanned_pass_token (capture before Check)
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
request_idtext · Per defaut: —
Valor d’exemplepickup-123-redeem-v1
Exemple d'expression BubbleCurrent Admission's stable_redemption_request_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
confirmyes/no · Per defaut: false
Valor d’exempleyes — explicit confirmation only
Exemple d'expression BubbleConfirm Checkbox is checked
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.

Valors retornadas

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Per defaut: "development"
Valor d’exempledevelopment
Exemple d'expression BubbleApp Settings' selected_environment
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.
pass_idtext · Per defaut: —
Valor d’exemple<pass_id returned by Issue>
Exemple d'expression BubbleSelected Admission's pass_id
Utilizatz la valor del registre comercial actual ; validatz-la contra los limits çai-jos.

Valors retornadas

pass_id · textrevoked · yes/no
Estats e eveniments

Flux de trabalh previst. Pas encara disponible dins la beta actuala.

Estats

scanner_status · text

Resultat actual d’aquesta accion. Utilizar l’eveniment de fin correspondenta abans d’enregistrar lo succès. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Resultat actual d’aquesta accion. Utilizar l’eveniment de fin correspondenta abans d’enregistrar lo succès. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Identificant per aqueste element o accion. Conservar-lo amb l’enregistrament d’aplicacion correspondent. Utiliza lo meteis identificant de demanda al moment de tornar ensajar un resultat incert.

pass_label · text

Valor actual per l’element seleccionat. Lo legir aprèp l’eveniment associat. empty,access,event,coupon,membership

receipt_id · text

Identificant per aqueste element o accion. Conservar-lo amb l’enregistrament d’aplicacion correspondent. Utiliza lo meteis identificant de demanda al moment de tornar ensajar un resultat incert.

error_code · text

Informacions d'error per la darrièra accion. Afichatz un messatge util e prepausatz de tornar ensajar l'operacion pertinenta.

is_busy · yes/no

Lo trabalh es encara en cors. Esperatz abans d’aviar una autra accion.

is_scanning · yes/no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

torch_enabled · yes/no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

scan_source · text

Valor actual per l’element seleccionat. Lo legir aprèp l’eveniment associat. empty,camera,fixture

pending_redemption · yes/no

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

scanned_pass_token · text

Valor actual per l’element seleccionat. Legissètz-la aprèp l’eveniment associat.

Eveniments

scanner_started

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

scanner_paused

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

scanner_cancelled

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

permission_denied

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

pass_scanned

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

validation_started

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

validation_completed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

redemption_started

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

pass_redeemed

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

redemption_rejected

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

redemption_pending

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

fixture_decoded

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

qr_error

Quand aqueste eveniment se produtz, legissètz los estats relatius a partir del meteis element.

Questions que los desvolopaires posan

Quin es lo sens dels dos paramètres de permission ?

Nom del camp User de tipe yes/no qu'indica los emplegats autorizats a crear o revocar de passes. Exemple/per defaut: qr_pass_issuer. Entratz aicí lo nom del camp, pas yes o no. Sonque un administrator autorizat deu cambiar aquela permission d'un utilizaire. Nom del camp User de tipe yes/no qu'indica lo personal autorizat a verificar e confirmar l'utilizacion. Exemple/per defaut: qr_staff. Lo titular d'un bilhet a pas besonh d'aquela permission. Excluissètz-la dels formularis publics d'inscripcion e de perfil.

Lo meteis emplegat pòt crear e verificar de passes ?

Òc, se un administrator autorizat dona a aquel emplegat ambdós permisos. Aquò requerís pas una clau de projècte addicionala. Los clients normalament necessitan cap d'aqueste permís. Deishatz pas los utilizaires s'assignar aqueles permisos.

Perqué utilizar Check aprèp Scan?

Scan legís lo còdi. Check verifica se lo pass es disponible sens l'utilizar. Lo personal pòt revisar la comanda d'en primièr. Sonque l'accion separada Confirm QR redemption utiliza lo pass un còp.

Cossí fonciona l’abonament ?

Preus previstos : l’installacion del plugin dins Bubble es gratuita. L’accès a BestPlugins es un abonament separat per cada plugin dins cada projècte d’aplicacion Bubble : 7 jorns gratuïts, puèi US$1.50 per mes. Development e Live son incluses. I a pas de limit fix sus lo nombre d’operacions ; los limits de talha de fichièr e de foncionalitats s’aplican encara. La pagina de pagament es pas encara dobèrta. L’ecran d’activacion mostrarà la primièra data de facturacion e las condicions d’annullacion.

Guidas ligadas

Publicacion de Marketplace en espèra

Guida del forum pas publicada

Per obténer d’ajuda, informatz-nos quin plugin e quin aparelh utilizatz, l’accion que ensajatz e çò qu’es capitat. Utilizatz un exemple sens donadas personalas. Partajatz pas jamai vòstra clau o vòstres fichièrs privats.