
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Bina tiket satu kali guna, pengesahan pengambilan atau kupon. Kakitangan mengimbas kod, memeriksa hasil, pratonton pesanan dan mengesahkan penggunaan hanya bila bersedia.
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.
Dokumentasi disemak 6 November 2026
Contoh praktikal
Kemasukan satu kali guna untuk acara hari yang sama
Tangkapan skrin nilai QR biasa boleh digunakan semula di lebih daripada satu pintu masuk.
Apl anda menyimpan rekod Kemasukan dan `request_id` yang stabil untuk pengeluaran pas; gunakan nilai terpilih `label=event` dan `ttl_seconds` dalam had kontrak 1–86400 saat.
Penerbit yang dibenarkan menjalankan Issue QR pass dan secara persendirian menghantar QR yang dikembalikan. Kakitangan mengimbas → Check QR pass → mengesahkan hanya jika `ok=yes` dan `status=available` → Confirm QR redemption dengan ID permintaan stabil yang disimpan.
Hanya `status=redeemed` plus `receipt_id` yang membenarkan resit kemasukan apl anda. Simpan rujukan pas/resit pada Kemasukan; jangan dedahkan kandungan QR kepada analitik.
Untuk `outcome_unknown`, pulihkan permintaan yang sama dengan pengguna/persekitaran/pas yang sama; jangan sekali-kali jana ID pengesahan baru. Tangani expired, revoked dan keadaan sudah digunakan sebagai hasil yang berbeza.
Dirancang. Pengimbasan dan pemeriksaan tidak menebus pas; hanya pengesahan yang dibuat secara nyata akan menebusnya.
Tebus manfaat jangka pendek sekali di kaunter rakan kongsi
Rakan kongsi memerlukan hasil digunakan/tidak digunakan yang disahkan dan bukannya mempercayai imej QR atau animasi skrin.
`label=coupon`; sebelum tindakan pengeluaran pas yang dibenarkan dilakukan, rekod Manfaat apl menetapkan kelayakan dan tempoh sah yang singkat.
Hasilkan pas hanya selepas pemeriksaan kelayakan apl anda. Di kaunter, Check QR pass menunjukkan ketersediaan tanpa menggunakannya. Selepas kakitangan mengesahkan penghantaran manfaat, jalankan Confirm QR redemption.
Rekod Manfaat anda boleh menyimpan `receipt_id` dan masa penebusan yang disahkan selepas `status=redeemed`. Plugin mengurus keadaan pas; apl anda mengurus manfaat serta hubungan pelanggan.
Jika manfaat dibatalkan sebelum digunakan, penerbit pas yang sama dan diberi kuasa boleh menggunakan Revoke QR pass dengan `pass_id` pas tersebut. Jangan umumkan bayaran balik atau penebusan yang berjaya hanya berdasarkan `ok=yes`.
Dirancang. Pengimbasan dan pemeriksaan tidak menebus pas; hanya pengesahan yang dibuat secara nyata akan menebusnya.
Sahkan pengambilan peralatan atau pesanan pada hari yang sama
Alur kerja kakitangan perlu membezakan antara mengimbas rujukan pengambilan dan menyerahkan item secara sebenar.
Rekod Koleksi milik apl anda menyimpan kebenaran, item yang dimaksudkan dan ID permintaan yang stabil dan berasingan untuk pengeluaran pas/penebusan; gunakan pas `label=access` jangka pendek.
Selepas apl anda membenarkan pengambilan, Issue QR pass. Kakitangan mengimbas dan Memeriksa, meneliti Koleksi yang sepadan dalam apl anda, kemudian sahkan penyerahan secara nyata dan jalankan Confirm QR redemption.
Hanya selepas resit `redeemed` yang disahkan alur kerja anda harus menetapkan Koleksi sebagai diserahkan. Simpan `receipt_id` sebagai pautan kepada hasil pas.
Imbasan berulang mungkin mengembalikan already_used; paparkan rekod apl sedia ada dan bukannya menyerahkan item lain. Pulihkan pengesahan yang tidak pasti dengan ID dan input yang sama.
Dirancang. Pengimbasan dan pemeriksaan tidak menebus pas; hanya pengesahan yang dibuat secara nyata akan menebusnya.
Apa yang berfungsi sekarang
Beta peribadi. Pengimbas semasa mempunyai kawalan kamera dan kebenaran. Penciptaan, pemeriksaan dan pengesahan pas satu kali guna dirancang dan belum sedia untuk digunakan dalam aplikasi anda yet.
Bina aliran kerja
Dirancang
Alur kerja yang dirancang. Belum tersedia dalam beta semasa.
Contoh-contoh ini menggunakan rekod aplikasi seperti Lesson, Message dan Order. Gantikan mereka dengan jenis data dan nama elemen anda sendiri. Alamat media contoh mesti diganti dengan fail anda sendiri.
Dirancang: pekerja berautoriti menggunakan Issue QR pass untuk Kemasukan atau Order. Contoh: label=event, ttl_seconds=900, environment=development. Simpan request_id yang stabil untuk pengeluaran pas itu dan simpan pass_id bersama rekod.
Tunjukkan QR yang dikembalikan kepada pemiliknya yang dimaksudkan. Kakitangan mengimbasnya. Dalam aliran kerja pas yang dirancang, gunakan workflow_mode=yes dan baca scanned_pass_token selepas pass_scanned. Tetapan aliran kerja pas ini tidak tersedia dalam pengimbas semasa.
Jalankan Check QR pass dengan pass_token = QR Scanner's scanned_pass_token. Ia memeriksa tanpa menebus pas. Untuk status=available, tunjukkan pesanan atau butiran kemasukan yang sepadan supaya kakitangan dapat menyemaknya.
Hanya butang Sahkan berasingan yang menjalankan Confirm QR redemption dengan pass_token yang sama, request_id yang stabil dan confirm=yes. Pada status=redeemed, simpan receipt_id dan tandakan pesanan atau kemasukan itu selesai.
already_used, expired, revoked atau invalid bermakna jangan benarkan kemasukan atau serahkan pesanan. Imbasan atau Pemeriksaan yang berjaya sahaja tidak pernah menyelesaikan transaksi.
Konfigurasi sekali
Buat atau pilih projek aplikasi Bubble anda dalam BestPlugins → Dashboard → Plugins. Pilih Xodera QR Passes Native, salin kuncinya, kemudian buka Bubble → Plugins → Xodera QR Passes Native dan tampal ke dalam project_api_key. Simpan sekali; kemudian gunakan tindakan di bawah. Setiap plugin dalam setiap projek mempunyai kunci masing‑masing.
Pengimbasan memerlukan kebenaran kamera. Untuk pas satu kali guna, tentukan siapa yang boleh membuat pas dan siapa yang boleh memeriksanya di pintu atau titik pengambilan. Pelanggan biasa tidak memerlukan peranan kakitangan.
qr_issuer_permission_field
qr_pass_issuer · Nama medan ya/tidak Pengguna yang menandakan pekerja dibenarkan membuat atau membatalkan pas. Contoh/lalai: qr_pass_issuer. Letakkan nama medan di sini, bukan ya atau tidak. Hanya pentadbir yang dibenarkan harus menukar kebenaran itu pada pengguna.
qr_staff_permission_field
qr_staff · Nama medan ya/tidak Pengguna yang menandakan kakitangan dibenarkan memeriksa dan mengesahkan penggunaan. Contoh/lalai: qr_staff. Pemegang tiket tidak memerlukan kebenaran ini. Keluarkan daripada borang pendaftaran awam dan profil.
Konfigurasi sekali
- Buat atau pilih projek aplikasi Bubble anda di BestPlugins → Dashboard → Plugins.
- Pilih plugin ini dan salin kunci projeknya.
- Buka Bubble → Plugins → Xodera QR Passes Native; tampal kunci ke dalam project_api_key dan simpan.
- Tambah elemen, pilih data aplikasi anda dan bina alur kerja di bawah.
- Akses beta peribadi hanya untuk sekarang. Pemasangan awam dan pengaktifan berbayar belum dibuka.
Pemasangan dan langganan
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.
Simpan hasil dalam aplikasi anda
Contoh Kemasukan atau Pengambilan: simpan pesanan/acara berkaitan, pass_id, expires_at dan issue_request_id. Selepas penggunaan disahkan, tambahkan receipt_id, redeemed_at dan pekerja yang mengesahkan. Jangan tandakan rekod selesai apabila kod hanya diimbas atau diperiksa. Kod QR tidak mengesahkan identiti seseorang.
Kegagalan, pembatalan dan pemulihan
Jika outcome_unknown=yes, kekalkan pas yang sama, request_id dan input semasa memeriksa keputusan lagi. Jangan cipta pengesahan baru. already_used, expired dan revoked adalah hasil perniagaan akhir. Jika kebenaran ditolak, minta pentadbir berautoriti menyemak peranan pekerja. Clear session menetapkan semula pengimbas; ia tidak dapat membatalkan penggunaan yang telah selesai.
Keupayaan dan had
Pas yang dirancang adalah satu kali guna, dengan jangka hayat 1–86400 saat; lalai 900. Jenis pas: access, event, coupon dan membership. Pemeriksaan tidak menempah pas. Akses internet diperlukan untuk penggunaan pas. Tiada pemprosesan pembayaran, pemeriksaan identiti atau kad keahlian jangka panjang yang boleh digunakan semula. Membaca nilai QR biasa berasingan daripada memeriksa pas.
Tetapan, tindakan dan hasil
Gunakan nama-nama ini dalam Bubble. Ciri yang dirancang ditandakan secara berasingan.
Tetapan beta tersedia
Tetapan elemen
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textKeadaan
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/noAcara
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_errorTindakan dan inputnya
Clear sessionTetapan elemen · 5
Alur kerja yang dirancang. Belum tersedia dalam beta semasa.
disabledyes/no · Lalai: false- Nilai contoh
no - Contoh ungkapan Bubble
GuideHost's is_busy (your yes/no custom state) - Lumpuhkan elemen semasa aplikasi anda sibuk atau tindakan ini tidak tersedia.
is_activeyes/no · Lalai: true- Nilai contoh
yes - Contoh ungkapan Bubble
GuideHost's view_is_active (your yes/no custom state) - Tetapkan ya semasa pandangan ini dibuka. Tetapkan tidak apabila keluar, supaya main semula atau kerja semasa dapat dihentikan.
ui_text_jsontext · Lalai: "{}"- Nilai contoh
{} - Contoh ungkapan Bubble
App Settings' player_labels_json (supported keys only) - JSON pilihan dengan label butang yang disokong. Biarkan kosong untuk menggunakan teks terbina dalam.
languagetext · Lalai: "auto"- Nilai contoh
uk - Contoh ungkapan Bubble
Current User's preferred_language - Tetapkan language=auto untuk mengikuti peranti atau bahasa pelayar yang disokong. Masukkan kod bahasa yang disokong untuk memilihnya secara eksplisit.
workflow_modeyes/no · Lalai: false- Nilai contoh
yes - Contoh ungkapan Bubble
App Settings' use_qr_business_actions - Dirancang: benarkan nilai QR yang diimbas digunakan oleh Check QR pass. Pengimbasan sahaja tidak mengesahkan kemasukan atau pengambilan.
Tindakan dan inputnya · 5
Alur kerja yang dirancang. Belum tersedia dalam beta semasa.
Clear session
Tiada parameter tindakan
Issue QR pass
environmenttext · Lalai: "development"- Nilai contoh
development - Contoh ungkapan Bubble
App Settings' selected_environment - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
request_idtext · Lalai: —- Nilai contoh
pickup-123-issue-v1 - Contoh ungkapan Bubble
Current Admission's stable_request_id - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
labeltext · Lalai: "access"- Nilai contoh
event - Contoh ungkapan Bubble
Selected Admission's pass_label - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
ttl_secondsnumber · Lalai: 900- Nilai contoh
900 - Contoh ungkapan Bubble
Event Settings' pass_ttl_seconds - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
Pulangan
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Lalai: "development"- Nilai contoh
development - Contoh ungkapan Bubble
App Settings' selected_environment - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
pass_tokentext · Lalai: —- Nilai contoh
<opaque token returned by Issue / camera scan> - Contoh ungkapan Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
Pulangan
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Lalai: "development"- Nilai contoh
development - Contoh ungkapan Bubble
App Settings' selected_environment - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
pass_tokentext · Lalai: —- Nilai contoh
<opaque token returned by Issue / camera scan> - Contoh ungkapan Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
request_idtext · Lalai: —- Nilai contoh
pickup-123-redeem-v1 - Contoh ungkapan Bubble
Current Admission's stable_redemption_request_id - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
confirmyes/no · Lalai: false- Nilai contoh
yes — explicit confirmation only - Contoh ungkapan Bubble
Confirm Checkbox is checked - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
Pulangan
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Lalai: "development"- Nilai contoh
development - Contoh ungkapan Bubble
App Settings' selected_environment - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
pass_idtext · Lalai: —- Nilai contoh
<pass_id returned by Issue> - Contoh ungkapan Bubble
Selected Admission's pass_id - Gunakan nilai rekod perniagaan semasa; sahkan ia terhadap had di bawah.
Pulangan
pass_id · textrevoked · yes/noKeadaan dan peristiwa
Alur kerja yang dirancang. Belum tersedia dalam beta semasa.
Keadaan
scanner_status · textKeputusan semasa tindakan ini. Gunakan acara penyelesaian yang sepadan sebelum menyimpan kejayaan. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textKeputusan semasa tindakan ini. Gunakan acara penyelesaian yang sepadan sebelum menyimpan kejayaan. empty,available,redeemed,already_used,expired,revoked
pass_id · textPengenal untuk item atau tindakan ini. Simpan bersama rekod aplikasi yang sepadan. Gunakan pengenal permintaan yang sama semasa mencuba semula hasil yang tidak pasti.
pass_label · textNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan. empty,access,event,coupon,membership
receipt_id · textPengenal untuk item atau tindakan ini. Simpan bersama rekod aplikasi yang sepadan. Gunakan pengenal permintaan yang sama semasa mencuba semula hasil yang tidak pasti.
error_code · textMaklumat ralat untuk tindakan terakhir. Tunjukkan mesej bantuan dan tawarkan percubaan semula yang relevan.
is_busy · yes/noKerja masih dalam proses. Tunggu sebelum memulakan tindakan lain.
is_scanning · yes/noNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan.
torch_enabled · yes/noNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan.
scan_source · textNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan. empty,camera,fixture
pending_redemption · yes/noNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan.
scanned_pass_token · textNilai semasa untuk item yang dipilih. Baca selepas acara berkaitan.
Acara
scanner_startedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
scanner_pausedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
scanner_cancelledApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
permission_deniedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
pass_scannedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
validation_startedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
validation_completedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
redemption_startedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
pass_redeemedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
redemption_rejectedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
redemption_pendingApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
fixture_decodedApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
qr_errorApabila acara ini berlaku, baca keadaan berkaitan dari elemen yang sama.
Soalan yang ditanya pembangun
Apakah maksud dua tetapan kebenaran ini?
Nama medan ya/tidak Pengguna yang menandakan pekerja dibenarkan membuat atau membatalkan pas. Contoh/lalai: qr_pass_issuer. Letakkan nama medan di sini, bukan ya atau tidak. Hanya pentadbir berautoriti yang harus menukar kebenaran itu pada pengguna. Nama medan ya/tidak Pengguna yang menandakan kakitangan dibenarkan memeriksa dan mengesahkan penggunaan. Contoh/lalai: qr_staff. Pemegang tiket tidak memerlukan kebenaran ini. Pastikan ia tidak dimasukkan dalam borang pendaftaran awam dan profil.
Bolehkah pekerja yang sama membuat dan memeriksa pas?
Ya, jika pentadbir berautoriti memberikan pekerja tersebut kedua-dua kebenaran. Ini tidak memerlukan kunci projek lain. Pelanggan biasanya tidak memerlukan mana-mana kebenaran. Jangan biarkan pengguna menetapkan kebenaran ini kepada diri mereka sendiri.
Mengapa menggunakan Pemeriksaan selepas Imbasan?
Imbasan membaca kod. Pemeriksaan menanya sama ada pas tersedia tanpa menebusnya. Kakitangan boleh menyemak pesanan terlebih dahulu. Hanya tindakan Confirm QR redemption berasingan yang menggunakan pas sekali.
Bagaimana langganan berfungsi?
Harga yang dirancang: pemasangan plugin dalam Bubble percuma. Akses BestPlugins memerlukan langganan berasingan untuk setiap plugin dalam setiap projek aplikasi Bubble: 7 hari percuma, kemudian US$1.50 sebulan. Development dan Live termasuk. Tiada had tetap pada bilangan operasi; had saiz fail dan ciri masih dikenakan. Pembayaran belum dibuka lagi. Skrin pengaktifan akan menunjukkan tarikh pengebilan pertama dan terma pembatalan.
Panduan berkaitan
Marketplace belum dilancarkan
Panduan forum belum diposkan
Untuk bantuan, beritahu kami plugin dan peranti yang anda gunakan, tindakan yang anda cuba serta apa yang terjadi. Gunakan contoh tanpa data peribadi. Jangan sekali-kali kongsikan kunci atau fail peribadi anda.