
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Cree tickets de un só uso, confirmacións de recollida ou cupóns. O persoal escanea o código, verifica o resultado, previsualiza o pedido e confirma o uso só cando estea listo.
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.
Documentación revisada 6 novembro 2026
Exemplos prácticos
Admisión de un só uso para un evento do mesmo día
Unha captura de pantalla dun valor QR ordinario pode reutilizarse en máis dun punto de entrada.
A súa aplicación almacena un rexistro de Admission e un `request_id` estable para a emisión; use `label=event` curado e un `ttl_seconds` dentro do contrato de 1–86400 segundos.
Un emisor autorizado executa Issue QR pass e entrega privadamente o QR devolto. O persoal escanea → Check QR pass → confirma só se `ok=yes` e `status=available` → Confirm QR redemption con un ID de solicitude estable almacenado.
Só `status=redeemed` máis `receipt_id` autoriza o recibo de admisión da súa aplicación. Almacene a referencia do pase/recibo na Admission; non exposa o contido de QR á analítica.
Para `outcome_unknown`, recupere a mesma solicitude co mesmo usuario/ambiente/pase; nunca xere un novo ID de confirmación. Xestione expired, revoked e os estados xa usados como resultados distintos.
Planificado. O escaneo e a comprobación non consomen o pase; só a confirmación explícita o consome.
Resgate un beneficio de curta duración unha única vez no mostrador dun socio.
Un socio necesita un resultado confirmado usado/non usado en lugar de confiar nunha imaxe QR ou nunha animación na pantalla.
`label=coupon`; o rexistro de Beneficio da aplicación define a elegibilidade e unha curta xanela de validez antes dunha acción de emisión autorizada.
Emita un pase só despois da comprobación de elegibilidade da súa aplicación. No mostrador, Check QR pass mostra dispoñibilidade sen consumilo. Despois de que o persoal confirme a entrega do beneficio, execute Confirm QR redemption.
O seu rexistro de Beneficio pode almacenar `receipt_id` e a hora de redepción confirmada despois de `status=redeemed`. O complemento xestiona o estado do pase; a súa aplicación xestiona o beneficio e a relación co cliente.
Se un beneficio se cancela antes do uso, o mesmo emisor autorizado pode Revoke QR pass usando o seu `pass_id`. Non anuncie un reembolso ou unha redepción exitosa só a partir de `ok=yes`.
Planificado. O escaneo e a comprobación non consomen o pase; só a confirmación explícita o consome.
Confirmar a recollida de equipamento ou pedido no mesmo día.
Un fluxo de traballo do persoal necesita distinguir o escaneo dunha referencia de recollida da entrega real dun artigo.
O rexistro de Colección posuído pola súa aplicación conserva a autorización, o artigo previsto e IDs de solicitude de emisión/redepción estables separados; use un pase `label=access` de curta duración.
Despois de que a súa aplicación autorice a recollida, Issue QR pass. O persoal escanea e comproba, inspecciona a Colección coincidente na súa aplicación e, a continuación, confirma explicitamente a entrega e Confirm QR redemption.
Só despois dun recibo `redeemed` confirmado debería o seu fluxo de traballo marcar a Colección como entregada. Mantén `receipt_id` como a ligazón ao resultado do pase.
Un escaneo repetido pode devolver already_used; amose o rexistro existente da aplicación en vez de entregar outro artigo. Recupere unha confirmación incerta co mesmo ID e entradas.
Planificado. O escaneo e a comprobación non consomen o pase; só a confirmación explícita o consome.
O que funciona agora
Beta privada. O escáner actual ten control de cámara e permisos. A creación, verificación e confirmación de pases de un só uso está planificada e aínda non está dispoñible para usar na súa aplicación.
Crea o fluxo de traballo
Planificado
Fluxo de traballo planificado. Aínda non está dispoñible na versión beta actual.
Estes exemplos usan rexistros de aplicación como Lesson, Message e Order. Substitúeaos polos seus propios tipos de datos e nomes de elementos. Os enderezos de medios de exemplo deben substituírse polos seus propios ficheiros.
Planificado: un empregado autorizado usa Issue QR pass para unha admisión ou Order. Exemplo: label=event, ttl_seconds=900, environment=development. Manteña un request_id estable para esa emisión e garde pass_id co rexistro.
Mostre o QR devolto ao seu titular previsto. O persoal escanéao. No fluxo de traballo de pases planificados, use workflow_mode=yes e lea scanned_pass_token despois de pass_scanned. Estas configuracións do fluxo de pase non están dispoñibles no escáner actual.
Execute Check QR pass con pass_token = QR Scanner's scanned_pass_token. Verifica sen consumir o pase. Para status=available, mostre os detalles da orde ou entrada coincidentes para que o persoal poida revisalos.
Só un botón Confirmar separado executa Confirm QR redemption co mesmo pass_token, un request_id estable e confirm=yes. En status=redeemed, garde receipt_id e marque esa orde ou entrada como completa.
already_used, expired, revoked ou invalid significa non admitir nin entregar a orde. Un escaneo ou unha comprobación exitosa por si só nunca completa a transacción.
Configura unha vez
Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins. Escolla Xodera QR Passes Native, copie a súa clave, despois abra Bubble → Plugins → Xodera QR Passes Native e péguela en project_api_key. Guarde unha vez; a seguir utilice as accións a continuación. Cada complemento en cada proxecto ten a súa propia clave.
A escaneo necesita permiso de cámara. Para pases de un só uso, decida quen pode crear pases e quen pode comprobalo na porta ou punto de recollida. Os clientes ordinarios non precisan ningún rol de persoal.
qr_issuer_permission_field
qr_pass_issuer · Nome do campo de usuario si/non que marca aos empregados autorizados a crear ou revogar pases. Exemplo/por defecto: qr_pass_issuer. Introduza aquí o nome do campo, non si ou non. Só un administrador autorizado debe cambiar ese permiso nun usuario.
qr_staff_permission_field
qr_staff · Nome do campo de usuario si/non que marca ao persoal autorizado a comprobar e confirmar o uso. Exemplo/por defecto: qr_staff. Un titular de billete non necesita este permiso. Mantéña fóra dos formularios públicos de rexistro e perfil.
Configura unha vez
- Cree ou escolla o seu proxecto de aplicación Bubble en BestPlugins → Dashboard → Plugins.
- Escolla este complemento e copie a súa clave de proxecto.
- Abra Bubble → Plugins → Xodera QR Passes Native; pegue a clave en project_api_key e garde.
- Engada o elemento, escolla os datos da súa aplicación e constrúa o fluxo de traballo a continuación.
- Acceso a beta privada só por agora. A instalación pública e a activación de pago aínda non están abertas.
Instalación e subscrición
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.
Garde o resultado na súa aplicación
Exemplo de admisión ou recollida: garde a orde/evento relacionado, pass_id, expires_at e issue_request_id. Despois do uso confirmado, engada receipt_id, redeemed_at e o empregado que confirmou. Non marque o rexistro como completo cando o código só se escaneou ou comprobou. Un código QR non verifica a identidade dunha persoa.
Fallo, cancelación e recuperación
Se outcome_unknown=yes, manteña o mesmo pase, request_id e as entradas ao comprobar o resultado de novo. Non cree unha nova confirmación. already_used, expired e revoked son resultados empresariais finais. Se se denega o permiso, solicite a un administrador autorizado que revise o rol do empregado. Clear session reinicia o escáner; non pode desfacer un uso completado.
Capacidades e límites
Os pases planificados son de uso único, cun tempo de vida de 1–86400 segundos; por defecto 900. Tipos de pase: access, event, coupon e membership. A comprobación non reserva un pase. É necesario acceso a Internet para usar o pase. Non hai procesamento de pagamento, verificación de identidade ou tarxeta de afiliación reutilizable a longo prazo. Ler un valor QR ordinario é independente da comprobación dun pase.
Configuracións, accións e resultados
Utilice estes nomes en Bubble. As funcionalidades planificadas están marcadas por separado.
Configuracións beta dispoñibles
Configuración do elemento
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textEstados
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/noEventos
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_errorAccións e as súas entradas
Clear sessionConfiguración do elemento · 5
Fluxo de traballo planificado. Aínda non está dispoñible na versión beta actual.
disabledyes/no · Predeterminado: false- Valor de exemplo
no - Exemplo de expresión Bubble
GuideHost's is_busy (your yes/no custom state) - Desactiva o elemento mentres a túa aplicación está ocupada ou esta acción non está dispoñible.
is_activeyes/no · Predeterminado: true- Valor de exemplo
yes - Exemplo de expresión Bubble
GuideHost's view_is_active (your yes/no custom state) - Establece sí mentres esta vista está aberta. Establece non ao saír, para que a reprodución ou o traballo actual poidan detenerse.
ui_text_jsontext · Predeterminado: "{}"- Valor de exemplo
{} - Exemplo de expresión Bubble
App Settings' player_labels_json (supported keys only) - JSON opcional con etiquetas de botón compatibles. Déixao baleiro para usar o texto incorporado.
languagetext · Predeterminado: "auto"- Valor de exemplo
uk - Exemplo de expresión Bubble
Current User's preferred_language - Establece language=auto para seguir un dispositivo ou idioma de navegador compatible. Introduce un código de idioma compatible para elixilo explicitamente.
workflow_modeyes/no · Predeterminado: false- Valor de exemplo
yes - Exemplo de expresión Bubble
App Settings' use_qr_business_actions - Planificado: permitir que o valor QR escaneado sexa usado por Check QR pass. O escaneo por si só non confirma a entrada ou a recollida.
Accións e as súas entradas · 5
Fluxo de traballo planificado. Aínda non está dispoñible na versión beta actual.
Clear session
Sen parámetros de acción
Issue QR pass
environmenttext · Predeterminado: "development"- Valor de exemplo
development - Exemplo de expresión Bubble
App Settings' selected_environment - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
request_idtext · Predeterminado: —- Valor de exemplo
pickup-123-issue-v1 - Exemplo de expresión Bubble
Current Admission's stable_request_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
labeltext · Predeterminado: "access"- Valor de exemplo
event - Exemplo de expresión Bubble
Selected Admission's pass_label - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
ttl_secondsnumber · Predeterminado: 900- Valor de exemplo
900 - Exemplo de expresión Bubble
Event Settings' pass_ttl_seconds - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Valores devoltos
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Predeterminado: "development"- Valor de exemplo
development - Exemplo de expresión Bubble
App Settings' selected_environment - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
pass_tokentext · Predeterminado: —- Valor de exemplo
<opaque token returned by Issue / camera scan> - Exemplo de expresión Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Valores devoltos
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Predeterminado: "development"- Valor de exemplo
development - Exemplo de expresión Bubble
App Settings' selected_environment - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
pass_tokentext · Predeterminado: —- Valor de exemplo
<opaque token returned by Issue / camera scan> - Exemplo de expresión Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
request_idtext · Predeterminado: —- Valor de exemplo
pickup-123-redeem-v1 - Exemplo de expresión Bubble
Current Admission's stable_redemption_request_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
confirmyes/no · Predeterminado: false- Valor de exemplo
yes — explicit confirmation only - Exemplo de expresión Bubble
Confirm Checkbox is checked - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Valores devoltos
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Predeterminado: "development"- Valor de exemplo
development - Exemplo de expresión Bubble
App Settings' selected_environment - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
pass_idtext · Predeterminado: —- Valor de exemplo
<pass_id returned by Issue> - Exemplo de expresión Bubble
Selected Admission's pass_id - Utiliza o valor do rexistro empresarial actual; valídalo contra os límites abaixo.
Valores devoltos
pass_id · textrevoked · yes/noEstados e eventos
Fluxo de traballo planificado. Aínda non está dispoñible na versión beta actual.
Estados
scanner_status · textResultado actual desta acción. Use o evento de finalización coincidente antes de gardar o éxito. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textResultado actual desta acción. Use o evento de finalización coincidente antes de gardar o éxito. empty,available,redeemed,already_used,expired,revoked
pass_id · textIdentificador para este elemento ou acción. Mantéña co rexistro da aplicación correspondente. Use o mesmo identificador de solicitude ao volver a intentar un resultado incerto.
pass_label · textValor actual do elemento seleccionado. Léao despois do evento relacionado. empty,access,event,coupon,membership
receipt_id · textIdentificador para este elemento ou acción. Mantéña co rexistro da aplicación correspondente. Use o mesmo identificador de solicitude ao volver a intentar un resultado incerto.
error_code · textInformación de erro da última acción. Mostra unha mensaxe útil e ofrece o reintento correspondente.
is_busy · yes/noO traballo aínda está en progreso. Agarde antes de iniciar outra acción.
is_scanning · yes/noValor actual do elemento seleccionado. Léelo despois do evento relacionado.
torch_enabled · yes/noValor actual do elemento seleccionado. Léelo despois do evento relacionado.
scan_source · textValor actual do elemento seleccionado. Léao despois do evento relacionado. empty,camera,fixture
pending_redemption · yes/noValor actual do elemento seleccionado. Léelo despois do evento relacionado.
scanned_pass_token · textValor actual do elemento seleccionado. Léelo despois do evento relacionado.
Eventos
scanner_startedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
scanner_pausedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
scanner_cancelledCando ocorra este evento, lea os estados relacionados do mesmo elemento.
permission_deniedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
pass_scannedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
validation_startedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
validation_completedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
redemption_startedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
pass_redeemedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
redemption_rejectedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
redemption_pendingCando ocorra este evento, lea os estados relacionados do mesmo elemento.
fixture_decodedCando ocorra este evento, lea os estados relacionados do mesmo elemento.
qr_errorCando ocorra este evento, lea os estados relacionados do mesmo elemento.
Preguntas que os desenvolvedores fan
Que significan as dúas configuracións de permiso?
Nome do campo de usuario si/non que marca aos empregados con permiso para crear ou revogar pases. Exemplo/por defecto: qr_pass_issuer. Insira aquí o nome do campo, non si ou non. Só un administrador autorizado debe cambiar ese permiso nun usuario. Nome do campo de usuario si/non que marca ao persoal con permiso para comprobar e confirmar o uso. Exemplo/por defecto: qr_staff. Un titular de billete non necesita este permiso. Mantéña fóra dos formularios públicos de rexistro e perfil.
Pode o mesmo empregado crear e comprobar pases?
Sí, se un administrador autorizado concede a ese empregado ambos permisos. Isto non require outra clave de proxecto. Os clientes normalmente non precisan ningún dos permisos. Non permita que os usuarios se asignen estes permisos a si mesmos.
Por que usar Comprobar despois de Escanear?
Escanear le o código. Comprobar pregunta se o pase está dispoñible sen usalo. O persoal pode revisar a orde primeiro. Só a acción Confirm QR redemption separada usa o pase unha vez.
Como funciona a subscrición?
Prezo previsto: instalar o complemento en Bubble é gratuíto. O acceso a BestPlugins é unha subscrición separada para cada complemento en cada proxecto de aplicación Bubble: 7 días gratuítos, despois US$1.50 ao mes. Development e Live están incluídos. Non hai un límite fixo no número de operacións; os límites de tamaño de ficheiro e de funcionalidades aínda se aplican. O proceso de compra aínda non está aberto. A pantalla de activación mostrará a primeira data de facturación e os termos de cancelación.
Guías relacionadas
Marketplace publicación pendente
Guía do foro non publicada
Para obter axuda, indícanos que complemento e dispositivo utilizas, a acción que intentaches e o que sucedeu. Usa un exemplo sen datos persoais. Nunca compartas a túa clave ou ficheiros privados.