QR ndërfaqe skaneri. Veprimet e kalimit njëpërdorim janë planifikuar.
QR ndërfaqe skaneri. Veprimet e kalimit njëpërdorim janë planifikuar.
← Të gjithë udhëzuesit për shtojcat native

Xodera Plugins · Bubble Native

Xodera QR Passes Native

Krijoni bileta me një përdorim, konfirmime marrjeje ose kupona. Stafi skanon kodin, kontrollon rezultatin, shqyrton paraprakisht porosinë dhe konfirmon përdorimin vetëm kur është gati.

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.

Dokumentacioni i rishikuar 6 November 2026

Shembuj praktikë

Hyrje njëpërdorim për një ngjarje të të njëjtës dite

Një foto ekrani e një vlere të zakonshme QR mund të ripërdoret në më shumë se një hyrje.

Aplikacioni juaj ruan një rekord Admission dhe një `request_id` të qëndrueshëm për lëshimin e kalimit; përdorni `label=event` të përzgjedhur dhe një `ttl_seconds` brenda kufirit prej 1–86400 sekondash.

Një emetues i autorizuar ekzekuton Issue QR pass dhe dorëzon në mënyrë private QR e kthyer. Stafi skanon → Check QR pass → konfirmon vetëm nëse `ok=yes` dhe `status=available` → Confirm QR redemption me një ID të kërkesës së qëndrueshme të ruajtur.

Vetëm `status=redeemed` së bashku me `receipt_id` autorizojnë konfirmimin e hyrjes në aplikacionin tuaj. Ruani referencën e kalimit ose të dëftesës në Admission; mos ekspozoni përmbajtjen e QR në analitikë.

Për `outcome_unknown`, rikthejeni të njëjtën kërkesë me përdorues/mjedis/kalim identik; kurrë mos gjeneroni një ID të ri konfirmimi. Trajtoni expired, revoked dhe gjendjet tashmë të përdorura si rezultate të ndara.

Planifikuar. Skanimi dhe kontrolli nuk e konsumojnë përdorimin e kalimit; vetëm konfirmimi i dhënë shprehimisht e konsumon atë.

Shfrytëzoni një përfitim afatshkurtër vetëm një herë në sportelin e një partneri

Një partner ka nevojë për një rezultat të konfirmuar të përdorur/të papërdorur në vend të besimit në një imazh QR ose në një animacion ekrani.

`label=coupon`; përpara veprimit të autorizuar të lëshimit, rekordi Benefit i aplikacionit përcakton të drejtën për përfitimin dhe një periudhë të shkurtër vlefshmërie.

Lëshoni një kalim vetëm pasi aplikacioni juaj të ketë kontrolluar të drejtën për përfitimin. Në sportel, Check QR pass tregon disponueshmërinë pa e konsumuar. Pasi stafi të konfirmojë dorëzimin e përfitimit, ekzekutoni Confirm QR redemption.

Rekordi juaj i Përfitimit mund të ruajë `receipt_id` dhe kohën e konfirmuar të përdorimit të kalimit pas `status=redeemed`. Shtojca menaxhon gjendjen e kalimit; aplikacioni juaj menaxhon përfitimin dhe marrëdhënien me klientin.

Nëse një përfitim anulohet para përdorimit, emetuesi i autorizuar i njëjtë mund të Revoke QR pass duke përdorur `pass_id` e tij. Mos njoftoni një rimbursim ose përdorim të suksesshëm të kalimit vetëm nga `ok=yes`.

Planifikuar. Skanimi dhe kontrolli nuk e konsumojnë përdorimin e kalimit; vetëm konfirmimi i dhënë shprehimisht e konsumon atë.

Konfirmoni marrjen e pajisjes ose porosisë në të njëjtën ditë.

Një rrjedhë pune e stafit duhet të dallojë skanimin e një reference për marrjen e artikullit nga dorëzimi real i një artikulli.

Regjistri Collection që i përket aplikacionit tuaj ruan autorizimin, artikullin e synuar dhe ID të veçanta e të qëndrueshme të kërkesave për lëshim dhe për përdorim; përdorni një kalim `label=access` me vlefshmëri të shkurtër.

Pasi aplikacioni juaj të autorizojë marrjen e artikullit, ekzekutoni Issue QR pass. Stafi skanon dhe kontrollon, shqyrton regjistrin përkatës Collection në aplikacionin tuaj, pastaj konfirmon shprehimisht dorëzimin dhe ekzekuton Confirm QR redemption.

Vetëm pas një dëftese të konfirmuar `redeemed`, rrjedha juaj e punës duhet ta shënojë regjistrin Collection si të dorëzuar. Mbani `receipt_id` si lidhjen me rezultatin e kalimit.

Një skanim i përsëritur mund të kthejë already_used; shfaqni regjistrin ekzistues të aplikacionit në vend që të dorëzoni një artikull tjetër. Rikuperoni një konfirmim të pasigurt me të njëjtin ID dhe inpute.

Planifikuar. Skanimi dhe kontrolli nuk e konsumojnë përdorimin e kalimit; vetëm konfirmimi i dhënë shprehimisht e konsumon atë.

Çfarë funksionon tani

Beta private. Skeneri aktual ka kontrolle kamere dhe lejesh. Krijimi, kontrolli dhe konfirmimi i kalimeve me një përdorim janë të planifikuara dhe ende nuk janë gati për t’u përdorur në aplikacionin tuaj.

Krijoni rrjedhën e punës

Planifikuar

Proces i planifikuar. Ende i padisponueshëm në beta-në aktuale.

Këto shembuj përdorin regjistrime aplikacioni si Lesson, Message dhe Order. Zëvendësoni ato me llojet tuaja të të dhënave dhe emrat e elementeve. Adresat e mediave shembull duhet të zëvendësohen me skedarët tuaj.

  1. Planifikuar: një punonjës i autorizuar përdor Issue QR pass për një Hyrje ose Order. Shembull: label=event, ttl_seconds=900, environment=development. Mbani një request_id të qëndrueshëm për atë lëshim të kalimit dhe ruani pass_id me regjistrin.

  2. Shfaqni QR e kthyer tek mbajtësi i saj i synuar. Stafi e skanon. Në rrjedhën e punës së kalimit të planifikuar, përdorni workflow_mode=yes dhe lexoni scanned_pass_token pas pass_scanned. Këto rregullime të rrjedhës së kalimit nuk janë të disponueshme në skanerin aktual.

  3. Ekzekutoni Check QR pass me pass_token = QR Scanner's scanned_pass_token. Kontrolli nuk e konsumon përdorimin e kalimit. Për status=available, shfaqni detajet përkatëse të porosisë ose të hyrjes që stafi t’i shqyrtojë.

  4. Vetëm një buton i veçantë Konfirmo ekzekuton Confirm QR redemption me të njëjtin pass_token, një request_id të qëndrueshëm dhe confirm=yes. Në status=redeemed, ruani receipt_id dhe shënoni atë porosi ose hyrje si e plotësuar.

  5. already_used, expired, revoked ose invalid do të thotë se nuk duhet të lejoni hyrjen apo të dorëzoni porosinë. Një skanim ose një Check i suksesshëm, më vete, nuk e përfundon kurrë transaksionin.

Diagram i rrjedhës së punës — jo një screenshot i aplikacionit

Konfigurojeni një herë

Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins. Zgjidhni Xodera QR Passes Native, kopjoni çelësin e tij, pastaj hapni Bubble → Plugins → Xodera QR Passes Native dhe ngjitni në project_api_key. Ruani një herë; më pas përdorni veprimet më poshtë. Çdo shtojcë në çdo projekt ka çelësin e vet.

Skanimi kërkon leje për kamerën. Për kalime njëpërdorim, vendosni kush mund të krijojë kalime dhe kush mund t’i kontrollojë në derë ose pikën e marrjes. Klientët e zakonshëm nuk kanë nevojë për asnjë rol stafi.

qr_issuer_permission_field

qr_pass_issuer · Emri i fushës yes/no në User që shënon punonjësit e lejuar të krijojnë ose revokojnë kalime. Shembull/parazgjedhje: qr_pass_issuer. Vendosni këtu emrin e fushës, jo yes ose no. Vetëm një administrator i autorizuar duhet ta ndryshojë këtë leje për një përdorues.

qr_staff_permission_field

qr_staff · Emri i fushës yes/no në User që shënon stafin e lejuar të kontrollojë dhe konfirmojë përdorimin. Shembull/parazgjedhje: qr_staff. Një zotërues bilete nuk ka nevojë për këtë leje. Mbajeni jashtë formularëve publikë të regjistrimit dhe të profilit.

Konfigurojeni një herë
  1. Krijoni ose zgjidhni projektin tuaj të aplikacionit Bubble në BestPlugins → Dashboard → Plugins.
  2. Zgjidhni këtë shtojcë dhe kopjoni çelësin e projektit.
  3. Hapni Bubble → Plugins → Xodera QR Passes Native; ngjitni çelësin në project_api_key dhe ruani.
  4. Shtoni elementin, zgjidhni të dhënat e aplikacionit tuaj dhe ndërtoni rrjedhën e punës më poshtë.
  5. Akses beta privat vetëm për momentin. Instalimi publik dhe aktivizimi me pagesë ende nuk janë të hapur.
Instalim dhe abonim

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.

Ruani rezultatin në aplikacionin tuaj

Shembull i Hyrjes ose Marrjes: ruani porosinë/ngjarjen përkatëse, pass_id, expires_at dhe issue_request_id. Pas konfirmimit të përdorimit, shtoni receipt_id, redeemed_at dhe punonjësin që konfirmoi. Mos e shënoni regjistrin si i plotësuar kur kodi është vetëm skanuar ose kontrolluar. Një kod QR nuk verifikon identitetin e një personi.

Dështim, anulim dhe rikuperim

Nëse outcome_unknown=yes, mbani të njëjtën kalim, request_id dhe të dhënat kur kontrolloni rezultatin përsëri. Mos krijoni një konfirmim të ri. already_used, expired dhe revoked janë rezultatet përfundimtare të biznesit. Nëse leja refuzohet, kërkoni një administrator të autorizuar të shqyrtojë rolin e punonjësit. Clear session rivendos skanerin; nuk mund të anulojë një përdorim të plotësuar.

Aftësitë dhe kufizimet

Kalimet e planifikuara janë njëpërdorim, me një jetëgjatësi prej 1–86400 sekonda; parazgjedhja është 900. Llojet e kalimeve: access, event, coupon dhe membership. Kontrolli nuk rezervon një kalim. Për përdorimin e kalimit kërkohet qasje në internet. Nuk ka përpunim pagesash, kontroll identiteti ose kartë anëtarësie të ripërdorshme afatgjatë. Leximi i një vlere të zakonshme QR është i veçantë nga kontrolli i kalimit.

Rregullimet, veprimet dhe rezultatet

Përdorni këto emra në Bubble. Veçoritë e planifikuara janë shënuar veçmas.

Cilësimet beta të disponueshme

Rregullimet e elementit

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

Gjendjet

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

Ngjarjet

scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error

Veprimet dhe inputet e tyre

Clear session
Rregullimet e elementit · 5

Proces i planifikuar. Ende i padisponueshëm në beta-në aktuale.

disabledyes/no · Parazgjedhur: false
Vlera shembullno
Shembull i shprehjes BubbleGuideHost's is_busy (your yes/no custom state)
Çaktivizo elementin ndërsa aplikacioni juaj është i zënë ose kjo veprim është i padisponueshëm.
is_activeyes/no · Parazgjedhur: true
Vlera shembullyes
Shembull i shprehjes BubbleGuideHost's view_is_active (your yes/no custom state)
Vendosni yes ndërsa kjo pamje është e hapur. Vendosni no kur dilni, në mënyrë që riprodhimi ose puna aktuale të mund të ndalojë.
ui_text_jsontext · Parazgjedhur: "{}"
Vlera shembull{}
Shembull i shprehjes BubbleApp Settings' player_labels_json (supported keys only)
JSON opsionale me etiketa butonash të mbështetura. Lëreni bosh për të përdorur tekstin e brendshëm.
languagetext · Parazgjedhur: "auto"
Vlera shembulluk
Shembull i shprehjes BubbleCurrent User's preferred_language
Vendosni language=auto për të ndjekur gjuhën e pajisjes ose të shfletuesit, nëse ajo mbështetet. Futni një kod gjuhe të mbështetur për ta zgjedhur gjuhën shprehimisht.
workflow_modeyes/no · Parazgjedhur: false
Vlera shembullyes
Shembull i shprehjes BubbleApp Settings' use_qr_business_actions
Planifikuar: lejoni që vlera e skanuar QR të përdoret nga Check QR pass. Skanimi vetëm nuk konfirmon hyrjen ose marrjen.
Veprimet dhe inputet e tyre · 5

Proces i planifikuar. Ende i padisponueshëm në beta-në aktuale.

Clear session

Pa parametra veprimi

Issue QR pass
environmenttext · Parazgjedhur: "development"
Vlera shembulldevelopment
Shembull i shprehjes BubbleApp Settings' selected_environment
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
request_idtext · Parazgjedhur: —
Vlera shembullpickup-123-issue-v1
Shembull i shprehjes BubbleCurrent Admission's stable_request_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
labeltext · Parazgjedhur: "access"
Vlera shembullevent
Shembull i shprehjes BubbleSelected Admission's pass_label
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
ttl_secondsnumber · Parazgjedhur: 900
Vlera shembull900
Shembull i shprehjes BubbleEvent Settings' pass_ttl_seconds
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.

Vlerat e kthyera

pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/no
Check QR pass
environmenttext · Parazgjedhur: "development"
Vlera shembulldevelopment
Shembull i shprehjes BubbleApp Settings' selected_environment
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
pass_tokentext · Parazgjedhur: —
Vlera shembull<opaque token returned by Issue / camera scan>
Shembull i shprehjes BubbleQR Pass Scanner's scanned_pass_token (capture before Check)
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.

Vlerat e kthyera

pass_label · textexpires_at · text
Confirm QR redemption
environmenttext · Parazgjedhur: "development"
Vlera shembulldevelopment
Shembull i shprehjes BubbleApp Settings' selected_environment
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
pass_tokentext · Parazgjedhur: —
Vlera shembull<opaque token returned by Issue / camera scan>
Shembull i shprehjes BubbleQR Pass Scanner's scanned_pass_token (capture before Check)
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
request_idtext · Parazgjedhur: —
Vlera shembullpickup-123-redeem-v1
Shembull i shprehjes BubbleCurrent Admission's stable_redemption_request_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
confirmyes/no · Parazgjedhur: false
Vlera shembullyes — explicit confirmation only
Shembull i shprehjes BubbleConfirm Checkbox is checked
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.

Vlerat e kthyera

pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/no
Revoke QR pass
environmenttext · Parazgjedhur: "development"
Vlera shembulldevelopment
Shembull i shprehjes BubbleApp Settings' selected_environment
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.
pass_idtext · Parazgjedhur: —
Vlera shembull<pass_id returned by Issue>
Shembull i shprehjes BubbleSelected Admission's pass_id
Përdorni vlerën e regjistrimit aktual të biznesit; verifikojeni kundrejt kufijve më poshtë.

Vlerat e kthyera

pass_id · textrevoked · yes/no
Gjendjet dhe ngjarjet

Proces i planifikuar. Ende i padisponueshëm në beta-në aktuale.

Gjendjet

scanner_status · text

Rezultati aktual i kësaj veprimi. Përdorni ngjarjen përfundimtare përkatëse para se të ruani suksesin. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded.

server_status · text

Rezultati aktual i kësaj veprimi. Përdorni ngjarjen përfundimtare përkatëse para se të ruani suksesin. empty,available,redeemed,already_used,expired,revoked.

pass_id · text

Identifikues për këtë artikull ose veprim. Mbajeni me regjistrin përkatës të aplikacionit. Përdorni të njëjtin identifikues kërkese kur riprovoni një rezultat të pasigurt.

pass_label · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse. empty,access,event,coupon,membership

receipt_id · text

Identifikues për këtë artikull ose veprim. Mbajeni me regjistrin përkatës të aplikacionit. Përdorni të njëjtin identifikues kërkese kur riprovoni një rezultat të pasigurt.

error_code · text

Informacioni i gabimit për veprimin e fundit. Shfaqni një mesazh i dobishëm dhe ofroni riprovimin përkatës.

is_busy · yes/no

Puna është ende në zhvillim. Prisni përpara se të filloni një veprim tjetër.

is_scanning · yes/no

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

torch_enabled · yes/no

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

scan_source · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse. empty,camera,fixture

pending_redemption · yes/no

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

scanned_pass_token · text

Vlera aktuale për elementin e zgjedhur. Lexojeni pas ngjarjes përkatëse.

Ngjarjet

scanner_started

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

scanner_paused

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

scanner_cancelled

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

permission_denied

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

pass_scanned

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

validation_started

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

validation_completed

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

redemption_started

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

pass_redeemed

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

redemption_rejected

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

redemption_pending

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

fixture_decoded

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

qr_error

Kur ndodh kjo ngjarje, lexoni gjendjet përkatëse nga i njëjti element.

Pyetjet që bëjnë zhvilluesit

Çfarë nënkuptojnë dy rregullimet e lejeve?

Emri i fushës yes/no në User që shënon punonjësit e lejuar të krijojnë ose revokojnë kalime. Shembull/parazgjedhje: qr_pass_issuer. Vendosni këtu emrin e fushës, jo yes ose no. Vetëm një administrator i autorizuar duhet ta ndryshojë këtë leje për një përdorues. Emri i fushës yes/no në User që shënon stafin e lejuar të kontrollojë dhe konfirmojë përdorimin. Shembull/parazgjedhje: qr_staff. Mbajtësi i biletës nuk ka nevojë për këtë leje. Mbajeni jashtë formularëve publikë të regjistrimit dhe të profilit.

A mund i njëjtë punonjës të krijojë dhe të kontrollojë kalime?

Po, nëse një administrator i autorizuar i jep atij punonjësi të dyja lejet. Kjo nuk kërkon një çelës tjetër projekti. Klientët normalisht nuk kanë nevojë për asnjë nga lejet. Mos lejoni përdoruesit t’i caktojnë vetë këto leje.

Pse të përdoret Kontrolli pas Skanimit?

Skanimi lexon kodin. Kontrolli pyet nëse kalimi është i disponueshëm pa u përdorur. Stafi mund të shqyrtojë porosinë së pari. Vetëm veprimi i veçantë Confirm QR redemption përdor kalimin një herë.

Si funksionon abonimi?

Çmimi i planifikuar: instalimi i shtojcës në Bubble është falas. Qasja në BestPlugins është një abonim i veçantë për çdo shtojcë në çdo projekt aplikacioni Bubble: 7 ditë falas, pastaj US$1.50 në muaj. Development dhe Live përfshihen. Nuk ka kufi të caktuar për numrin e operacioneve; kufizimet për madhësinë e skedarëve dhe për veçoritë vazhdojnë të zbatohen. Pagesa nuk është hapur ende. Ekrani i aktivizimit do të shfaqë datën e parë të faturimit dhe kushtet e anulimit.

Udhëzues të lidhur

Lëshimi në Marketplace është në pritje

Udhëzuesi i forumit nuk është postuar

Për ndihmë, na tregoni cilin shtojcë dhe pajisje përdorni, veprimin që provuat dhe çfarë ndodhi. Përdorni një shembull pa të dhëna personale. Kurrë mos ndani çelësin tuaj ose skedarët privatë.