QR skener interfejs. Planirane su jednokratne akcije prolaza.
QR skener interfejs. Planirane su jednokratne akcije prolaza.
← Svi izvorni vodiči

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Izradite jednorazne karte, potvrde preuzimanja ili kupone. Osoblje skenira kod, provjerava rezultat, pregledava narudžbu i potvrđuje upotrebu tek kada je spremno.

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.

Dokumentacija pregledana 6 novembar 2026

Praktični primjeri

Jednokratni ulaz za događaj istog dana

Snimak ekrana obične QR vrijednosti može se inače ponovno koristiti na više od jednog ulaza.

Vaša aplikacija pohranjuje zapis o Prijemu i stabilni izdavanje `request_id`; koristite uređeni `label=event` i `ttl_seconds` unutar 1–86400‑sekundnog ugovora.

Ovlašteni izdavač pokreće Issue QR pass i privatno isporučuje vraćeni QR. Osoblje skenira → Check QR pass → potvrđuje samo ako su `ok=yes` i `status=available` → Confirm QR redemption uz pohranjeni stabilni ID zahtjeva.

Samo `status=redeemed` plus `receipt_id` autoriziraju priznanicu prijema vaše aplikacije. Pohranite referencu propusnice/priznanice na Prijemu; ne otkrivajte sadržaj QR analitici.

Za `outcome_unknown`, oporavite isti zahtjev s identičnim korisnikom/okruženjem/propusnicom; nikada ne generišite novi ID potvrde. Obradite expired, revoked i već korištene stanje kao odvojene ishode.

Planirano. Skeniranje i provjera ne koriste propusnicu; koristi je samo eksplicitna potvrda.

Iskoristite kratkotrajnu pogodnost jednokratno na šalteru partnera

Partner treba potvrđen rezultat korišteno/neiskorišteno umjesto da vjeruje QR slici ili animaciji na ekranu.

`label=coupon`; zapis o Benefit-u aplikacije definira podobnost i kratko razdoblje valjanosti prije ovlaštene akcije izdavanja.

Izdajte propusnicu tek nakon provjere podobnosti vaše aplikacije. Na šalteru, Check QR pass prikazuje dostupnost bez potrošnje. Nakon što član osoblja potvrdi isporuku benefita, pokrenite Confirm QR redemption.

Vaš zapis o Benefit-u može pohraniti `receipt_id` i potvrđeno vrijeme iskorištenja nakon `status=redeemed`. Dodatak upravlja stanjem propusnice; vaša aplikacija upravlja benefitom i odnosom s kupcima.

Ako se benefit otkaže prije upotrebe, isti ovlašteni izdavač može Revoke QR pass koristeći svoj `pass_id`. Ne najavljujte povrat novca ili uspješno iskorištenje samo na osnovi `ok=yes`.

Planirano. Skeniranje i provjera ne koriste propusnicu; koristi je samo eksplicitna potvrda.

Potvrdite preuzimanje opreme ili narudžbe istog dana

Radni tok osoblja treba razlikovati skeniranje reference za preuzimanje od stvarnog predavanja predmeta.

Vaš zapis o vlasničkoj Kolekciji aplikacije čuva autorizaciju, namijenjenu stavku i odvojene stabilne ID‑ove zahtjeva za izdavanje/iskorištenje; koristite kratkotrajnu `label=access` propusnicu.

Nakon što vaša aplikacija odobri preuzimanje, Issue QR pass. Osoblje skenira i provjerava, pregledava odgovarajuću kolekciju u vašoj aplikaciji, zatim izričito potvrđuje predaju i Confirm QR redemption.

Tek nakon potvrđenog iskorištenja s potvrdom `redeemed` vaš radni tok treba označiti zapis Kolekcije kao predan. Zadržite `receipt_id` kao vezu do rezultata propusnice.

Ponovljeni sken može vratiti already_used; prikažite postojeći zapis aplikacije umjesto da predajete još jedan predmet. Povratite neizvjesnu potvrdu s istim ID‑om i unosima.

Planirano. Skeniranje i provjera ne koriste propusnicu; koristi je samo eksplicitna potvrda.

Šta trenutno radi

Privatna beta. Trenutni skener ima kontrolu kamere i dozvola. Izrada, provjera i potvrda jednoraznih propusnica je planirana i još nije spremna za upotrebu u vašoj aplikaciji.

Izradite radni tok

Planirano

Planirani radni tok. Još nije dostupan u trenutnoj beta verziji.

Ovi primjeri koriste zapise aplikacije poput Lesson, Message i Order. Zamijenite ih svojim tipovima podataka i nazivima elemenata. Primjer adresa medija mora biti zamijenjen vašim vlastitim datotekama.

  1. Planirano: ovlašteni zaposlenik koristi Issue QR pass za ulaz ili Order. Primjer: label=event, ttl_seconds=900, environment=development. Zadržite stabilni request_id za to izdavanje propusnice i spremite pass_id uz zapis.

  2. Prikažite vraćeni QR njegovom namijenjenom vlasniku. Osoblje ga skenira. U planiranom radnom toku propusnice, koristite workflow_mode=yes i pročitajte scanned_pass_token nakon pass_scanned. Ove postavke radnog toka propusnice nisu dostupne u trenutnom skeneru.

  3. Pokrenite Check QR pass sa pass_token = QR Scanner's scanned_pass_token. Provjerava bez korištenja propusnice. Za status=available, prikažite odgovarajuće detalje narudžbe ili unosa kako bi osoblje moglo pregledati.

  4. Samo zasebno dugme Potvrdi pokreće Confirm QR redemption s istim pass_token, stabilnim request_id i confirm=yes. Na status=redeemed, spremite receipt_id i označite tu narudžbu ili unos kao dovršenu.

  5. already_used, expired, revoked ili invalid znači da ne smijete dozvoliti ulazak niti predati narudžbu. Samo skeniranje ili uspješna provjera nikada ne dovršavaju transakciju.

Dijagram radnog toka — nije snimak ekrana aplikacije

Jednom konfigurirajte

Kreirajte ili odaberite vaš Bubble projekt aplikacije u BestPlugins → Dashboard → Plugins. Odaberite Xodera QR Passes Native, kopirajte njegov ključ, zatim otvorite Bubble → Plugins → Xodera QR Passes Native i zalijepite ga u project_api_key. Sačuvajte jednom; zatim koristite radnje ispod. Svaki dodatak u svakom projektu ima svoj ključ.

Skeniranje zahtijeva dozvolu za kameru. Za jednokratne propusnice odlučite ko može kreirati propusnice i ko ih može provjeriti na vratima ili mjestu preuzimanja. Obični kupci ne trebaju nijednu ulogu osoblja.

qr_issuer_permission_field

qr_pass_issuer · Naziv korisničkog da/ne polja koje označava zaposlenike kojima je dozvoljeno kreirati ili opozvati propusnice. Primjer/pretpostavka: qr_pass_issuer. Ovdje unesite naziv polja, a ne da ili ne. Samo ovlašteni administrator treba promijeniti to dopuštenje za korisnika.

qr_staff_permission_field

qr_staff · Naziv korisničkog da/ne polja koje označava osoblje kojem je dozvoljeno provjeriti i potvrditi korištenje. Primjer/pretpostavka: qr_staff. Vlasnik karte ne treba ovo dopuštenje. Izostavite ga iz javnih obrazaca za registraciju i profile.

Jednom konfigurirajte
  1. Kreirajte ili odaberite vaš Bubble projekt aplikacije na BestPlugins → Dashboard → Plugins.
  2. Odaberite ovaj dodatak i kopirajte njegov ključ projekta.
  3. Otvorite Bubble → Plugins → Xodera QR Passes Native; zalijepite ključ u project_api_key i sačuvajte.
  4. Dodajte element, odaberite svoje podatke aplikacije i izgradite radni tok ispod.
  5. Privatan beta pristup samo za sada. Javna instalacija i plaćena aktivacija još nisu otvorene.
Instalacija i pretplata

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.

Sačuvajte rezultat u vašoj aplikaciji

Primjer ulaza ili preuzimanja: spremite povezanu narudžbu/događaj, pass_id, expires_at i issue_request_id. Nakon potvrđene upotrebe, dodajte receipt_id, redeemed_at i zaposlenika koji je potvrdio. Nemojte označiti zapis kao dovršen kada je kod samo skeniran ili provjeren. QR kod ne verificira identitet osobe.

Neuspjeh, otkazivanje i oporavak

Ako outcome_unknown=yes, zadržite istu propusnicu, request_id i unose prilikom ponovne provjere rezultata. Nemojte kreirati novu potvrdu. already_used, expired i revoked su konačni poslovni rezultati. Ako je dozvola odbijena, zatražite od ovlaštenog administratora da pregleda ulogu zaposlenika. Clear session resetuje skener; ne može poništiti dovršenu upotrebu.

Mogućnosti i ograničenja

Planirane propusnice su jednokratne, s trajanjem od 1–86400 sekundi; podrazumijevano 900. Tipovi propusnica: access, event, coupon i membership. Provjera ne rezerviše propusnicu. Potrebna je internet veza za korištenje propusnice. Nema obrade plaćanja, provjere identiteta niti ponovne upotrebe dugoročnog članskog kartice. Čitanje obične QR vrijednosti je odvojeno od provjere propusnice.

Postavke, radnje i rezultati

Koristite ova imena u Bubble. Planirane funkcije su označene odvojeno.

Dostupna beta podešavanja

Postavke elementa

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

Stanja

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

Događaji

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Radnje i njihovi ulazi

Clear session
Postavke elementa · 5

Planirani radni tok. Još nije dostupan u trenutnoj beta verziji.

disabledyes/no · Podrazumevano: false
Primjer vrijednostino
Primjer Bubble izrazaGuideHost's is_busy (your yes/no custom state)
Onemogućite element dok je aplikacija zauzeta ili je ova radnja nedostupna.
is_activeyes/no · Podrazumevano: true
Primjer vrijednostiyes
Primjer Bubble izrazaGuideHost's view_is_active (your yes/no custom state)
Postavite da dok je ovaj prikaz otvoren. Postavite ne pri napuštanju, kako reprodukcija ili trenutni rad mogu stati.
ui_text_jsontext · Podrazumevano: "{}"
Primjer vrijednosti{}
Primjer Bubble izrazaApp Settings' player_labels_json (supported keys only)
Opcionalni JSON s podržanim oznakama dugmadi. Ostavite prazno da koristite ugrađeni tekst.
languagetext · Podrazumevano: "auto"
Primjer vrijednostiuk
Primjer Bubble izrazaCurrent User's preferred_language
Postavite language=auto da prati podržani uređaj ili jezik preglednika. Unesite podržani kod jezika da ga izričito odaberete.
workflow_modeyes/no · Podrazumevano: false
Primjer vrijednostiyes
Primjer Bubble izrazaApp Settings' use_qr_business_actions
Planirano: omogućiti da skenirana QR vrijednost bude korištena od strane Check QR pass. Samo skeniranje ne potvrđuje ulazak ili preuzimanje.
Radnje i njihovi ulazi · 5

Planirani radni tok. Još nije dostupan u trenutnoj beta verziji.

Clear session

Nema parametara akcije

Issue QR pass
environmenttext · Podrazumevano: "development"
Primjer vrijednostidevelopment
Primjer Bubble izrazaApp Settings' selected_environment
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
request_idtext · Podrazumevano: —
Primjer vrijednostipickup-123-issue-v1
Primjer Bubble izrazaCurrent Admission's stable_request_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
labeltext · Podrazumevano: "access"
Primjer vrijednostievent
Primjer Bubble izrazaSelected Admission's pass_label
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
ttl_secondsnumber · Podrazumevano: 900
Primjer vrijednosti900
Primjer Bubble izrazaEvent Settings' pass_ttl_seconds
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.

Povrati

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Podrazumevano: "development"
Primjer vrijednostidevelopment
Primjer Bubble izrazaApp Settings' selected_environment
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
pass_tokentext · Podrazumevano: —
Primjer vrijednosti<opaque token returned by Issue / camera scan>
Primjer Bubble izrazaQR Pass Scanner's scanned_pass_token (capture before Check)
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.

Povrati

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Podrazumevano: "development"
Primjer vrijednostidevelopment
Primjer Bubble izrazaApp Settings' selected_environment
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
pass_tokentext · Podrazumevano: —
Primjer vrijednosti<opaque token returned by Issue / camera scan>
Primjer Bubble izrazaQR Pass Scanner's scanned_pass_token (capture before Check)
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
request_idtext · Podrazumevano: —
Primjer vrijednostipickup-123-redeem-v1
Primjer Bubble izrazaCurrent Admission's stable_redemption_request_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
confirmyes/no · Podrazumevano: false
Primjer vrijednostiyes — explicit confirmation only
Primjer Bubble izrazaConfirm Checkbox is checked
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.

Povrati

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Podrazumevano: "development"
Primjer vrijednostidevelopment
Primjer Bubble izrazaApp Settings' selected_environment
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.
pass_idtext · Podrazumevano: —
Primjer vrijednosti<pass_id returned by Issue>
Primjer Bubble izrazaSelected Admission's pass_id
Koristite vrijednost trenutnog poslovnog zapisa; provjerite je prema donjim ograničenjima.

Povrati

pass_id · textrevoked · yes/no
Stanja i događaji

Planirani radni tok. Još nije dostupan u trenutnoj beta verziji.

Stanja

scanner_status · text

Trenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Trenutni rezultat ove radnje. Koristite odgovarajući događaj završetka prije spremanja uspjeha. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Identifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Koristite isti identifikator zahtjeva pri ponovnom pokušaju neizvjesnog rezultata.

pass_label · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezane događaja. empty,access,event,coupon,membership

receipt_id · text

Identifikator za ovu stavku ili radnju. Sačuvajte ga uz odgovarajući zapis aplikacije. Koristite isti identifikator zahtjeva pri ponovnom pokušaju neizvjesnog rezultata.

error_code · text

Informacije o grešci za posljednju radnju. Prikažite korisnu poruku i ponudite odgovarajući pokušaj ponovo.

is_busy · yes/no

Rad je još u toku. Sačekajte prije nego što započnete drugu radnju.

is_scanning · yes/no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

torch_enabled · yes/no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

scan_source · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezane događaja. empty,camera,fixture

pending_redemption · yes/no

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

scanned_pass_token · text

Trenutna vrijednost odabranog elementa. Pročitajte je nakon povezanog događaja.

Događaji

scanner_started

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

scanner_paused

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

scanner_cancelled

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

permission_denied

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

pass_scanned

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

validation_started

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

validation_completed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

redemption_started

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

pass_redeemed

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

redemption_rejected

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

redemption_pending

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

fixture_decoded

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

qr_error

Kada se ovaj događaj dogodi, pročitajte povezana stanja iz istog elementa.

Pitanja koja programeri postavljaju

Šta znače dvije postavke dozvola?

Naziv polja korisnika da/ne koje označava zaposlenike kojima je dozvoljeno kreirati ili opozvati propusnice. Primjer/podrazumevano: qr_pass_issuer. Ovdje unesite naziv polja, a ne da ili ne. Samo ovlašteni administrator treba promijeniti tu dozvolu za korisnika. Naziv polja korisnika da/ne koje označava osoblje kojem je dozvoljeno provjeriti i potvrditi upotrebu. Primjer/podrazumevano: qr_staff. Vlasnik karte ne treba ovu dozvolu. Izostavite je iz javnih obrazaca za registraciju i profile.

Može li isti zaposlenik kreirati i provjeravati propusnice?

Da, ako ovlašteni administrator tom zaposleniku dodijeli obje dozvole. Ovo ne zahtijeva dodatni projektni ključ. Kupci obično ne trebaju nijednu od dozvola. Nemojte dozvoliti korisnicima da sami sebi dodjeljuju ove dozvole.

Zašto koristiti Provjeru nakon Skeniranja?

Skeniranje čita kod. Provjera pita da li je propusnica dostupna bez korištenja. Osoblje može prvo pregledati narudžbu. Samo zasebna radnja Confirm QR redemption koristi propusnicu jednom.

Kako funkcionira pretplata?

Planirana cijena: instalacija plugina u Bubble je besplatna. Pristup BestPlugins je zasebna pretplata za svaki plugin u svakom Bubble projektu aplikacije: 7 dana besplatno, zatim US$1.50 mjesečno. Development i Live su uključeni. Nema fiksnog ograničenja broja operacija; i dalje vrijede ograničenja veličine datoteka i funkcionalnosti. Plaćanje još nije otvoreno. Aktivacijski ekran će prikazati prvi datum naplate i uvjete otkazivanja.

Povezani vodiči

Marketplace izdanje na čekanju

Vodič foruma nije objavljen

Za pomoć, recite nam koji plugin i uređaj koristite, koju radnju ste pokušali i šta se dogodilo. Koristite primjer bez ličnih podataka. Nikada ne dijelite svoj ključ ili privatne datoteke.