QR‑skannerikäyttöliittymä. Yhden käyttökerran läpivienti‑toiminnot on suunniteltu.
QR‑skannerikäyttöliittymä. Yhden käyttökerran läpivienti‑toiminnot on suunniteltu.
← Kaikki alkuperäiset oppaat

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Luo kertakäyttöisiä lippuja, noutovahvistuksia tai kuponkeja. Henkilökunta skannaa koodin, tarkistaa tuloksen, esikatselee tilauksen ja vahvistaa käytön vasta kun valmis.

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.

Dokumentaatio tarkistettu 6 marraskuussa 2026

Käytännön esimerkit

Kertakäyttöinen sisäänpääsy saman päivän tapahtumaan

Tavallisen QR‑arvon kuvakaappaus voidaan muuten käyttää useammassa sisäänkäynnissä.

Sovelluksesi tallentaa Admission-tietueen ja vakaan issue `request_id`; käytä kuratoitua `label=event` ja `ttl_seconds` 1–86400-sekunnin sopimuksessa.

Valtuutettu myöntäjä suorittaa Issue QR pass ja toimittaa palautetun QR yksityisesti. Henkilökunta skannaa → Check QR pass → vahvistaa vain jos `ok=yes` ja `status=available` → Confirm QR redemption tallennetun vakaan request ID:n kanssa.

Vain `status=redeemed` plus `receipt_id` valtuuttavat sovelluksesi admission-kuittauksen. Tallenna passi/kuittausviite Admissioniin; älä paljasta QR:n sisältöä analytiikassa.

`outcome_unknown`:n osalta hae sama pyyntö identtisillä käyttäjällä/ympäristöllä/passilla; älä koskaan luo uutta vahvistus-ID:tä. Käsittele expired, revoked ja jo käytetyt tilat erillisinä tuloksina.

Suunniteltu. Skannaus ja tarkistus eivät kuluta passia; vain nimenomainen vahvistus kuluttaa sen.

Lunasta lyhytkestoinen etu kerran kumppanin kassalla

Kumppani tarvitsee vahvistetun käytetty/ei-käytetty -tuloksen sen sijaan, että luottaisi QR-kuvaan tai näytön animaatioon.

`label=coupon`; sovelluksen Benefit-tietue määrittelee kelpoisuuden ja lyhyen voimassaoloikkunan ennen valtuutettua issue-toimintoa.

Myönnä passi vasta sovelluksesi kelpoisuustarkistuksen jälkeen. Kassalla Check QR pass näyttää saatavuuden kuluttamatta sitä. Kun henkilökunnan jäsen vahvistaa edun toimituksen, suorita Confirm QR redemption.

Benefit-tietueesi voi tallentaa `receipt_id`:n ja vahvistetun lunastuksen ajan `status=redeemed`:n jälkeen. Liitännäinen hallinnoi passin tilaa; sovelluksesi hallinnoi etua ja asiakassuhdetta.

Jos etu peruutetaan ennen käyttöä, sama valtuutettu myöntäjä voi Revoke QR pass käyttäen sen `pass_id`:aa. Älä ilmoita palautuksesta tai onnistuneesta lunastuksesta pelkästään `ok=yes`:n perusteella.

Suunniteltu. Skannaus ja tarkistus eivät kuluta passia; vain nimenomainen vahvistus kuluttaa sen.

Vahvista saman päivän laite- tai tilausnoudon

Henkilökunnan työnkulku tarvitsee erottaa kokoelman viitteen skannaaminen tavaran todellisesta luovutuksesta.

Sovelluksesi omistama Collection-tietue säilyttää valtuutuksen, kohde-esineen ja erilliset vakaat issue-/lunastus-pyyntö-ID:t; käytä lyhytkestoista `label=access`-passia.

Kun sovelluksesi valtuuttaa keräyksen, Issue QR pass. Henkilökunta skannaa ja tarkistaa, tarkastelee sovelluksessasi vastaavaa Collectionia, ja sitten vahvistaa eksplisiittisesti luovutuksen ja Confirm QR redemption:n.

Vain vahvistetun `redeemed`-kuittauksen jälkeen työnkulkuasi tulisi asettaa Collection luovutetuksi. Säilytä `receipt_id` linkkinä passin tulokseen.

Toistuva skannaus saattaa palauttaa already_used:n; näytä olemassa oleva sovellustietue sen sijaan, että luovuttaisit toisen esineen. Palauta epävarma vahvistus samalla ID:llä ja syötteillä.

Suunniteltu. Skannaus ja tarkistus eivät kuluta passia; vain nimenomainen vahvistus kuluttaa sen.

Mikä toimii nyt

Yksityinen beta. Nykyinen skanneri sisältää kamera- ja käyttöoikeusasetukset. Kertakäyttöisten lippujen luominen, tarkistaminen ja vahvistaminen on suunnitteilla, eikä se ole vielä valmis käytettäväksi sovelluksessasi.

Rakenna työnkulku

Suunniteltu

Suunniteltu työnkulku. Ei vielä saatavilla nykyisessä betassa.

Nämä esimerkit käyttävät sovellustietueita, kuten Lesson, Message ja Order. Korvaa ne omilla tietotyypeilläsi ja elementtien nimillä. Esimerkkimediaosoitteet on korvattava omilla tiedostoillasi.

  1. Suunniteltu: valtuutettu työntekijä käyttää Issue QR pass sisäänpääsyyn tai Order. Esimerkki: label=event, ttl_seconds=900, environment=development. Säilytä vakaa request_id kyseistä tapahtumaa varten ja tallenna pass_id tietueeseen.

  2. Näytä palautettu QR sen tarkoitetulle haltijalle. Henkilökunta skannaa sen. Suunnitellussa passityönkulussa käytä workflow_mode=yes ja lue scanned_pass_token pass_scanned:n jälkeen. Nämä passityönkulun asetukset eivät ole käytettävissä nykyisessä skannerissa.

  3. Suorita Check QR pass pass_token = QR Scanner's scanned_pass_token:n kanssa. Se tarkistaa ilman passin käyttöä. status=available:n osalta näytä vastaava tilaus‑ tai sisäänkirjautumistieto, jotta henkilökunta voi tarkastella sitä.

  4. Vain erillinen Vahvista‑painike suorittaa Confirm QR redemption samalla pass_token:lla, vakaalla request_id:lla ja confirm=yes:lla. status=redeemed:n yhteydessä tallenna receipt_id ja merkitse tilaus tai sisäänkirjautuminen valmiiksi.

  5. already_used, expired, revoked tai invalid tarkoittavat, ettei tilausta saa myöntää tai luovuttaa. Pelkkä skannaus tai onnistunut tarkistus ei koskaan suorita tapahtumaa loppuun.

Työnkulkukaavio — ei sovelluksen kuvakaappaus

Määritä kerran

Luo tai valitse Bubble‑sovellusprojekti BestPlugins → Dashboard → Plugins. Valitse Xodera QR Passes Native, kopioi sen avain, avaa sitten Bubble → Plugins → Xodera QR Passes Native ja liitä se project_api_key:ään. Tallenna kerran; käytä sitten alla olevia toimintoja. Jokaisella liitännäisellä jokaisessa projektissa on oma avain.

Skannaaminen vaatii kameran käyttöluvan. Yksikertaisille passeille määritä, kuka voi luoda passeja ja kuka voi tarkistaa ne ovella tai noutopisteessä. Tavallisille asiakkaille ei tarvita henkilökunnan roolia.

qr_issuer_permission_field

qr_pass_issuer · Käyttäjän kyllä/ei -kentän nimi, joka merkitsee työntekijöitä, joilla on oikeus luoda tai peruuttaa lippuja. Esimerkki/oletus: qr_pass_issuer. Syötä kentän nimi tähän, ei kyllä tai ei. Vain valtuutettu ylläpitäjä saa muuttaa tätä käyttöoikeutta käyttäjällä.

qr_staff_permission_field

qr_staff · Käyttäjän kyllä/ei -kentän nimi, joka merkitsee henkilökunnan jäseniä, joilla on oikeus tarkistaa ja vahvistaa käyttö. Esimerkki/oletus: qr_staff. Lipun haltija ei tarvitse tätä käyttöoikeutta. Pidä se pois julkisista rekisteröinti- ja profiililomakkeista.

Määritä kerran
  1. Luo tai valitse Bubble‑sovellusprojekti BestPlugins → Dashboard → Plugins.
  2. Valitse tämä liitännäinen ja kopioi sen projektin avain.
  3. Avaa Bubble → Plugins → Xodera QR Passes Native; liitä avain project_api_key:ään ja tallenna.
  4. Lisää elementti, valitse sovellustietosi ja rakenna alla oleva työnkulku.
  5. Yksityinen beta‑pääsy toistaiseksi. Julkinen asennus ja maksullinen aktivointi eivät ole vielä avoinna.
Asennus ja tilaus

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.

Tallenna tulos sovellukseesi

Esimerkki sisäänpääsystä tai noudosta: tallenna liittyvä tilaus/tapahtuma, pass_id, expires_at ja issue_request_id. Kun käyttö on vahvistettu, lisää receipt_id, redeemed_at ja työntekijä, joka vahvisti. Älä merkitse tietuetta valmiiksi, kun koodi on vain skannattu tai tarkistettu. QR‑koodi ei vahvista henkilön henkilöllisyyttä.

Epäonnistuminen, peruutus ja palautus

Jos outcome_unknown=yes, säilytä sama passi, request_id ja syötteet tarkistettaessa tulosta uudelleen. Älä luo uutta vahvistusta. already_used, expired ja revoked ovat lopullisia liiketoimintatuloksia. Jos lupa on evätty, pyydä valtuutettua ylläpitäjää tarkistamaan työntekijän rooli. Clear session nollaa skannerin; se ei voi peruuttaa suoritettua käyttöä.

Ominaisuudet ja rajoitukset

Suunnitellut passit ovat kertakäyttöisiä, niiden käyttöaika on 1–86400 sekuntia; oletus 900. Passityypit: access, event, coupon ja membership. Tarkistus ei varaa passia. Passin käyttöön vaaditaan internetyhteys. Ei maksujen käsittelyä, henkilöllisyyden tarkistusta tai uudelleenkäytettävää pitkäaikaista jäsenkorttia. Tavallisen QR‑arvon lukeminen on erillistä passin tarkistuksesta.

Asetukset, toiminnot ja tulokset

Käytä näitä nimiä Bubble:ssa. Suunnitellut ominaisuudet on merkitty erikseen.

Käytettävissä olevat beta-asetukset

Elementin asetukset

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

Tilat

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

Tapahtumat

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Toiminnot ja niiden syötteet

Clear session
Elementin asetukset · 5

Suunniteltu työnkulku. Ei vielä saatavilla nykyisessä betassa.

disabledyes/no · Oletus: false
Esimerkkisarvono
Esimerkki Bubble -lausekeGuideHost's is_busy (your yes/no custom state)
Poista elementti käytöstä, kun sovelluksesi on kiireinen tai tämä toiminto ei ole saatavilla.
is_activeyes/no · Oletus: true
Esimerkkisarvoyes
Esimerkki Bubble -lausekeGuideHost's view_is_active (your yes/no custom state)
Aseta kyllä, kun tämä näkymä on auki. Aseta ei, kun poistutaan, jotta toisto tai nykyinen työ voi pysähtyä.
ui_text_jsontext · Oletus: "{}"
Esimerkkisarvo{}
Esimerkki Bubble -lausekeApp Settings' player_labels_json (supported keys only)
Valinnainen JSON tuetuilla painikkeen teksteillä. Jätä tyhjäksi käyttääksesi sisäänrakennettua tekstiä.
languagetext · Oletus: "auto"
Esimerkkisarvouk
Esimerkki Bubble -lausekeCurrent User's preferred_language
Aseta language=auto seuraamaan tuettua laitetta tai selaimen kieltä. Syötä tuettu kielikoodi valitaksesi sen eksplisiittisesti.
workflow_modeyes/no · Oletus: false
Esimerkkisarvoyes
Esimerkki Bubble -lausekeApp Settings' use_qr_business_actions
Suunniteltu: salli skannatun QR-arvon käyttö Check QR pass:n toimesta. Pelkkä skannaus ei vahvista sisäänpääsyä tai noutoa.
Toiminnot ja niiden syötteet · 5

Suunniteltu työnkulku. Ei vielä saatavilla nykyisessä betassa.

Clear session

Ei toiminto‑parametreja

Issue QR pass
environmenttext · Oletus: "development"
Esimerkkisarvodevelopment
Esimerkki Bubble -lausekeApp Settings' selected_environment
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
request_idtext · Oletus: —
Esimerkkisarvopickup-123-issue-v1
Esimerkki Bubble -lausekeCurrent Admission's stable_request_id
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
labeltext · Oletus: "access"
Esimerkkisarvoevent
Esimerkki Bubble -lausekeSelected Admission's pass_label
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
ttl_secondsnumber · Oletus: 900
Esimerkkisarvo900
Esimerkki Bubble -lausekeEvent Settings' pass_ttl_seconds
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.

Palautukset

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Oletus: "development"
Esimerkkisarvodevelopment
Esimerkki Bubble -lausekeApp Settings' selected_environment
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
pass_tokentext · Oletus: —
Esimerkkisarvo<opaque token returned by Issue / camera scan>
Esimerkki Bubble -lausekeQR Pass Scanner's scanned_pass_token (capture before Check)
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.

Palautukset

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Oletus: "development"
Esimerkkisarvodevelopment
Esimerkki Bubble -lausekeApp Settings' selected_environment
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
pass_tokentext · Oletus: —
Esimerkkisarvo<opaque token returned by Issue / camera scan>
Esimerkki Bubble -lausekeQR Pass Scanner's scanned_pass_token (capture before Check)
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
request_idtext · Oletus: —
Esimerkkisarvopickup-123-redeem-v1
Esimerkki Bubble -lausekeCurrent Admission's stable_redemption_request_id
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
confirmyes/no · Oletus: false
Esimerkkisarvoyes — explicit confirmation only
Esimerkki Bubble -lausekeConfirm Checkbox is checked
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.

Palautukset

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Oletus: "development"
Esimerkkisarvodevelopment
Esimerkki Bubble -lausekeApp Settings' selected_environment
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.
pass_idtext · Oletus: —
Esimerkkisarvo<pass_id returned by Issue>
Esimerkki Bubble -lausekeSelected Admission's pass_id
Käytä nykyisen liiketoimintatietueen arvoa; tarkista se alla olevia rajoja vastaan.

Palautukset

pass_id · textrevoked · yes/no
Tilat ja tapahtumat

Suunniteltu työnkulku. Ei vielä saatavilla nykyisessä betassa.

Tilat

scanner_status · text

Tämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistumisen tallentamista. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded

server_status · text

Tämän toiminnon nykyinen tulos. Käytä vastaavaa valmistumistapahtumaa ennen onnistumisen tallentamista. empty,available,redeemed,already_used,expired,revoked

pass_id · text

Tunniste tälle kohteelle tai toiminnolle. Säilytä se vastaavan sovellustietueen kanssa. Käytä samaa pyyntö‑tunnistetta, kun yrität epävarmaa tulosta uudelleen.

pass_label · text

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen. empty,access,event,coupon,membership

receipt_id · text

Tunniste tälle kohteelle tai toiminnolle. Säilytä se vastaavan sovellustietueen kanssa. Käytä samaa pyyntö‑tunnistetta, kun yrität epävarmaa tulosta uudelleen.

error_code · text

Viimeisen toiminnon virhetiedot. Näytä hyödyllinen viesti ja tarjoa asiaankuuluva uudelleenyritys.

is_busy · yes/no

Työ on vielä kesken. Odota ennen kuin aloitat toisen toiminnon.

is_scanning · yes/no

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.

torch_enabled · yes/no

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.

scan_source · text

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen. empty,camera,fixture

pending_redemption · yes/no

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.

scanned_pass_token · text

Valitun kohteen nykyinen arvo. Lue se liittyvän tapahtuman jälkeen.

Tapahtumat

scanner_started

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

scanner_paused

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

scanner_cancelled

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

permission_denied

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

pass_scanned

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

validation_started

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

validation_completed

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

redemption_started

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

pass_redeemed

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

redemption_rejected

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

redemption_pending

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

fixture_decoded

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

qr_error

Kun tämä tapahtuma tapahtuu, lue siihen liittyvät tilat samasta elementistä.

Kysymykset, joita kehittäjät esittävät

Mitä kaksi käyttöoikeusasetusta tarkoittavat?

Käyttäjän kyllä/ei -kentän nimi, joka merkitsee työntekijöitä, joilla on oikeus luoda tai peruuttaa passeja. Esimerkki/oletus: qr_pass_issuer. Kirjoita kentän nimi tähän, ei kyllä tai ei. Vain valtuutettu ylläpitäjä saa muuttaa tätä käyttöoikeutta käyttäjällä. Käyttäjän kyllä/ei -kentän nimi, joka merkitsee henkilökuntaa, jolla on oikeus tarkistaa ja vahvistaa käyttö. Esimerkki/oletus: qr_staff. Lipun haltijalla ei ole tarvetta tälle oikeudelle. Pidä se pois julkisista rekisteröinti- ja profiililomakkeista.

Voiko sama työntekijä luoda ja tarkistaa passeja?

Kyllä, jos valtuutettu ylläpitäjä antaa työntekijälle molemmat oikeudet. Tämä ei vaadi toista projektin avainta. Asiakkaat eivät yleensä tarvitse kumpaakaan oikeutta. Älä anna käyttäjien myöntää näitä oikeuksia itselleen.

Miksi käyttää Tarkistusta skannauksen jälkeen?

Skannaus lukee koodin. Tarkistus kysyy, onko passi käytettävissä ilman sen kuluttamista. Henkilökunta voi tarkastella tilausta ensin. Vain erillinen Confirm QR redemption‑toiminto käyttää passia kerran.

Miten tilaus toimii?

Suunniteltu hinnoittelu: lisäosan asentaminen Bubble:ään on ilmaista. BestPlugins‑pääsy on erillinen tilaus jokaiselle lisäosalle kussakin Bubble‑sovellusprojektissa: 7 päivää ilmaiseksi, jonka jälkeen US$1.50 kuukaudessa. Development ja Live sisältyvät. Toimintojen määrälle ei ole kiinteää rajoitusta; tiedostokoko- ja ominaisuusrajoitukset ovat edelleen voimassa. Kassaprosessi ei ole vielä auki. Aktivointinäytöllä näytetään ensimmäinen laskutuspäivä ja peruutusehdot.

Aiheeseen liittyvät oppaat

Marketplace-julkaisua odotetaan

Foorumiohjetta ei ole julkaistu

Avun saamiseksi kerro, mitä lisäosaa ja laitetta käytät, mitä toimintoa yritit ja mitä tapahtui. Käytä esimerkkiä ilman henkilötietoja. Älä koskaan jaa avaintasi tai yksityisiä tiedostoja.