
Xodera Plugins · Bubble Native
Xodera QR Passes Native
Buat tiket satu kali pakai, konfirmasi pengambilan, atau kupon. Staf memindai kode, memeriksa hasil, meninjau pesanan, dan mengonfirmasi penggunaan hanya saat siap.
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 ditinjau 6 November 2026
Contoh praktis
Admit satu kali pakai untuk acara hari yang sama
Tangkapan layar nilai QR biasa dapat digunakan kembali di lebih dari satu pintu masuk.
Aplikasi Anda menyimpan catatan Admission dan issue stabil `request_id`; gunakan `label=event` yang dikurasi dan `ttl_seconds` dalam kontrak 1–86400-detik.
Penerbit yang berwenang menjalankan Issue QR pass dan secara pribadi mengirimkan QR yang dikembalikan. Staf memindai → Check QR pass → konfirmasi hanya jika `ok=yes` dan `status=available` → Confirm QR redemption dengan ID permintaan stabil yang disimpan.
Hanya `status=redeemed` plus `receipt_id` yang memberi wewenang pada tanda terima admission aplikasi Anda. Simpan referensi pass/tanda terima pada Admission; jangan mengungkapkan isi QR ke analitik.
Untuk `outcome_unknown`, pulihkan permintaan yang sama dengan pengguna/lingkungan/pass yang identik; jangan pernah membuat ID konfirmasi baru. Tangani expired, revoked, dan status sudah digunakan sebagai hasil yang berbeda.
Direncanakan. Pemindaian dan pemeriksaan tidak menggunakan pass; hanya konfirmasi eksplisit yang melakukannya.
Tukarkan manfaat berjangka pendek satu kali di konter mitra
Mitra memerlukan hasil terpakai/tidak terpakai yang terkonfirmasi alih-alih mempercayai gambar QR atau animasi layar.
`label=coupon`; catatan Benefit aplikasi menentukan kelayakan dan jendela validitas singkat sebelum tindakan issue yang berwenang.
Terbitkan pass hanya setelah pemeriksaan kelayakan aplikasi Anda. Di konter, Check QR pass menunjukkan ketersediaan tanpa mengkonsumsinya. Setelah staf mengonfirmasi pengiriman manfaat, jalankan Confirm QR redemption.
Catatan Benefit Anda dapat menyimpan `receipt_id` dan waktu penebusan yang terkonfirmasi setelah `status=redeemed`. Plugin mengelola status pass; aplikasi Anda mengelola manfaat dan hubungan pelanggan.
Jika manfaat dibatalkan sebelum digunakan, penerbit berwenang yang sama dapat Revoke QR pass menggunakan `pass_id`-nya. Jangan mengumumkan pengembalian dana atau penebusan berhasil hanya dari `ok=yes`.
Direncanakan. Pemindaian dan pemeriksaan tidak menggunakan pass; hanya konfirmasi eksplisit yang melakukannya.
Konfirmasi pengambilan peralatan atau pesanan pada hari yang sama
Alur kerja staf perlu membedakan pemindaian referensi pengambilan dengan penyerahan barang secara nyata.
Catatan Collection milik aplikasi Anda menyimpan otorisasi, barang yang dimaksud, dan ID permintaan issue/penebusan stabil yang terpisah; gunakan pass `label=access` berjangka pendek.
Setelah aplikasi Anda mengotorisasi pengambilan, Issue QR pass. Staf memindai dan memeriksa, meninjau Collection yang cocok di aplikasi Anda, lalu secara eksplisit mengonfirmasi penyerahan dan Confirm QR redemption.
Hanya setelah receipt `redeemed` terkonfirmasi alur kerja Anda harus menandai Collection sebagai telah diserahkan. Simpan `receipt_id` sebagai tautan ke hasil pass.
Pemindaian berulang dapat mengembalikan already_used; tampilkan catatan aplikasi yang ada alih-alih menyerahkan barang lain. Pulihkan konfirmasi yang tidak pasti dengan ID dan input yang sama.
Direncanakan. Pemindaian dan pemeriksaan tidak menggunakan pass; hanya konfirmasi eksplisit yang melakukannya.
Apa yang berfungsi sekarang
Beta pribadi. Pemindai saat ini memiliki kontrol kamera dan izin. Pembuatan, pemeriksaan, dan konfirmasi tiket satu kali pakai masih direncanakan dan belum siap digunakan dalam aplikasi Anda.
Buat alur kerja
Direncanakan
Alur kerja yang direncanakan. Belum tersedia dalam beta saat ini.
Contoh-contoh ini menggunakan catatan aplikasi seperti Lesson, Message, dan Order. Ganti mereka dengan tipe data dan nama elemen Anda sendiri. Alamat media contoh harus diganti dengan file Anda sendiri.
Direncanakan: seorang karyawan berwenang menggunakan Issue QR pass untuk catatan Admission atau Order. Contoh: label=event, ttl_seconds=900, environment=development. Pertahankan request_id yang stabil untuk penerbitan tersebut dan simpan pass_id bersama catatan.
Tampilkan QR yang dikembalikan kepada pemilik yang dimaksud. Staf memindainya. Dalam alur kerja tiket yang direncanakan, gunakan workflow_mode=yes dan baca scanned_pass_token setelah pass_scanned. Pengaturan alur kerja tiket ini tidak tersedia di pemindai saat ini.
Jalankan Check QR pass dengan pass_token = QR Scanner's scanned_pass_token. Ini memeriksa tanpa menggunakan tiket. Untuk status=available, tampilkan detail order atau entri yang cocok agar staf dapat meninjaunya.
Hanya tombol Konfirmasi terpisah yang menjalankan Confirm QR redemption dengan pass_token yang sama, request_id yang stabil, dan confirm=yes. Pada status=redeemed, simpan receipt_id dan tandai order atau entri tersebut selesai.
already_used, expired, revoked, atau invalid berarti jangan izinkan masuk dan jangan serahkan order. Pemindaian atau Pemeriksaan yang berhasil saja tidak pernah menyelesaikan transaksi.
Konfigurasi sekali saja
Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins. Pilih Xodera QR Passes Native, salin kuncinya, lalu buka Bubble → Plugins → Xodera QR Passes Native dan tempelkan ke project_api_key. Simpan sekali; kemudian gunakan tindakan di bawah ini. Setiap plugin di setiap proyek memiliki kunci masing‑masing.
Pemindaian memerlukan izin kamera. Untuk tiket satu kali pakai, tentukan siapa yang dapat membuat tiket dan siapa yang dapat memeriksanya di pintu atau titik pengambilan. Pelanggan biasa tidak memerlukan peran staf.
qr_issuer_permission_field
qr_pass_issuer · Nama bidang ya/tidak Pengguna yang menandai karyawan yang diizinkan membuat atau mencabut pass. Contoh/default: qr_pass_issuer. Masukkan nama bidang di sini, bukan ya atau tidak. Hanya administrator yang berwenang yang boleh mengubah izin tersebut pada pengguna.
qr_staff_permission_field
qr_staff · Nama bidang ya/tidak Pengguna yang menandai staf yang diizinkan memeriksa dan mengonfirmasi penggunaan. Contoh/default: qr_staff. Pemegang tiket tidak memerlukan izin ini. Jauhkan dari formulir pendaftaran publik dan formulir profil.
Konfigurasi sekali saja
- Buat atau pilih proyek aplikasi Bubble Anda di BestPlugins → Dashboard → Plugins.
- Pilih plugin ini dan salin kunci proyeknya.
- Buka Bubble → Plugins → Xodera QR Passes Native; tempelkan kunci ke project_api_key dan simpan.
- Tambahkan elemen, pilih data aplikasi Anda, dan bangun alur kerja di bawah ini.
- Akses beta pribadi hanya untuk saat ini. Instalasi publik dan aktivasi berbayar belum dibuka.
Instalasi 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 di aplikasi Anda
Contoh Admit atau Pengambilan: simpan order/acara terkait, pass_id, expires_at, dan issue_request_id. Setelah penggunaan dikonfirmasi, tambahkan receipt_id, redeemed_at, dan karyawan yang mengonfirmasi. Jangan tandai catatan selesai ketika kode hanya dipindai atau diperiksa. Kode QR tidak memverifikasi identitas seseorang.
Kegagalan, pembatalan, dan pemulihan
Jika outcome_unknown=yes, pertahankan tiket yang sama, request_id, dan masukan saat memeriksa hasil lagi. Jangan buat konfirmasi baru. already_used, expired, dan revoked adalah hasil bisnis akhir. Jika izin ditolak, minta administrator berwenang meninjau peran karyawan. Clear session mengatur ulang pemindai; tidak dapat membatalkan penggunaan yang telah selesai.
Kemampuan dan batasan
Tiket yang direncanakan bersifat satu kali pakai, dengan masa pakai 1–86400 detik; default 900. Jenis tiket: access, event, coupon, dan membership. Pemeriksaan tidak memesan tiket. Akses internet diperlukan untuk penggunaan tiket. Tidak ada pemrosesan pembayaran, pemeriksaan identitas, atau kartu keanggotaan jangka panjang yang dapat digunakan kembali. Membaca nilai QR biasa terpisah dari pemeriksaan tiket.
Pengaturan, tindakan, dan hasil
Gunakan nama-nama ini di Bubble. Fitur yang direncanakan ditandai secara terpisah.
Pengaturan beta yang tersedia
Pengaturan elemen
disabled · yes/nois_active · yes/noui_text_json · textlanguage · textStatus
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 sessionPengaturan elemen · 5
Alur kerja yang direncanakan. Belum tersedia dalam beta saat ini.
disabledyes/no · Bawaan: false- Nilai contoh
no - Contoh ekspresi Bubble
GuideHost's is_busy (your yes/no custom state) - Nonaktifkan elemen saat aplikasi Anda sibuk atau tindakan ini tidak tersedia.
is_activeyes/no · Bawaan: true- Nilai contoh
yes - Contoh ekspresi Bubble
GuideHost's view_is_active (your yes/no custom state) - Setel ya saat tampilan ini terbuka. Setel tidak saat keluar, sehingga pemutaran atau pekerjaan saat ini dapat berhenti.
ui_text_jsontext · Bawaan: "{}"- Nilai contoh
{} - Contoh ekspresi Bubble
App Settings' player_labels_json (supported keys only) - JSON opsional dengan label tombol yang didukung. Biarkan kosong untuk menggunakan teks bawaan.
languagetext · Bawaan: "auto"- Nilai contoh
uk - Contoh ekspresi Bubble
Current User's preferred_language - Set language=auto untuk mengikuti perangkat atau bahasa peramban yang didukung. Masukkan kode bahasa yang didukung untuk memilihnya secara eksplisit.
workflow_modeyes/no · Bawaan: false- Nilai contoh
yes - Contoh ekspresi Bubble
App Settings' use_qr_business_actions - Direncanakan: izinkan nilai QR yang dipindai digunakan oleh Check QR pass. Pemindaian saja tidak mengonfirmasi masuk atau pengambilan.
Tindakan dan inputnya · 5
Alur kerja yang direncanakan. Belum tersedia dalam beta saat ini.
Clear session
Tidak ada parameter aksi
Issue QR pass
environmenttext · Bawaan: "development"- Nilai contoh
development - Contoh ekspresi Bubble
App Settings' selected_environment - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
request_idtext · Bawaan: —- Nilai contoh
pickup-123-issue-v1 - Contoh ekspresi Bubble
Current Admission's stable_request_id - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
labeltext · Bawaan: "access"- Nilai contoh
event - Contoh ekspresi Bubble
Selected Admission's pass_label - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
ttl_secondsnumber · Bawaan: 900- Nilai contoh
900 - Contoh ekspresi Bubble
Event Settings' pass_ttl_seconds - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Pengembalian
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · Bawaan: "development"- Nilai contoh
development - Contoh ekspresi Bubble
App Settings' selected_environment - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
pass_tokentext · Bawaan: —- Nilai contoh
<opaque token returned by Issue / camera scan> - Contoh ekspresi Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Pengembalian
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · Bawaan: "development"- Nilai contoh
development - Contoh ekspresi Bubble
App Settings' selected_environment - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
pass_tokentext · Bawaan: —- Nilai contoh
<opaque token returned by Issue / camera scan> - Contoh ekspresi Bubble
QR Pass Scanner's scanned_pass_token (capture before Check) - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
request_idtext · Bawaan: —- Nilai contoh
pickup-123-redeem-v1 - Contoh ekspresi Bubble
Current Admission's stable_redemption_request_id - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
confirmyes/no · Bawaan: false- Nilai contoh
yes — explicit confirmation only - Contoh ekspresi Bubble
Confirm Checkbox is checked - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Pengembalian
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · Bawaan: "development"- Nilai contoh
development - Contoh ekspresi Bubble
App Settings' selected_environment - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
pass_idtext · Bawaan: —- Nilai contoh
<pass_id returned by Issue> - Contoh ekspresi Bubble
Selected Admission's pass_id - Gunakan nilai catatan bisnis saat ini; validasi terhadap batas di bawah.
Pengembalian
pass_id · textrevoked · yes/noStatus dan peristiwa
Alur kerja yang direncanakan. Belum tersedia dalam beta saat ini.
Status
scanner_status · textHasil saat ini dari tindakan ini. Gunakan event penyelesaian yang cocok sebelum menyimpan keberhasilan. idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · textHasil saat ini dari tindakan ini. Gunakan event penyelesaian yang cocok sebelum menyimpan keberhasilan. empty,available,redeemed,already_used,expired,revoked
pass_id · textPengidentifikasi untuk item atau tindakan ini. Simpan bersama catatan aplikasi yang cocok. Gunakan pengidentifikasi permintaan yang sama saat mencoba kembali hasil yang tidak pasti.
pass_label · textNilai saat ini untuk item yang dipilih. Baca setelah acara terkait. empty,access,event,coupon,membership
receipt_id · textPengidentifikasi untuk item atau tindakan ini. Simpan bersama catatan aplikasi yang cocok. Gunakan pengidentifikasi permintaan yang sama saat mencoba kembali hasil yang tidak pasti.
error_code · textInformasi error untuk tindakan terakhir. Tampilkan pesan yang membantu dan tawarkan percobaan ulang yang relevan.
is_busy · yes/noPekerjaan masih dalam proses. Tunggu sebelum memulai tindakan lain.
is_scanning · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
torch_enabled · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
scan_source · textNilai saat ini untuk item yang dipilih. Baca setelah acara terkait. empty,camera,fixture
pending_redemption · yes/noNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
scanned_pass_token · textNilai saat ini untuk item yang dipilih. Baca setelah peristiwa terkait.
Acara
scanner_startedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
scanner_pausedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
scanner_cancelledSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
permission_deniedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
pass_scannedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
validation_startedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
validation_completedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
redemption_startedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
pass_redeemedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
redemption_rejectedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
redemption_pendingSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
fixture_decodedSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
qr_errorSaat peristiwa ini terjadi, baca status terkait dari elemen yang sama.
Pertanyaan yang diajukan pengembang
Apa arti dua pengaturan izin ini?
Nama bidang ya/tidak Pengguna yang menandai karyawan yang diizinkan membuat atau mencabut tiket. Contoh/default: qr_pass_issuer. Masukkan nama bidang di sini, bukan ya atau tidak. Hanya administrator berwenang yang boleh mengubah izin tersebut pada pengguna. Nama bidang ya/tidak Pengguna yang menandai staf yang diizinkan memeriksa dan mengonfirmasi penggunaan. Contoh/default: qr_staff. Pemegang tiket tidak memerlukan izin ini. Jauhkan dari formulir pendaftaran publik dan formulir profil.
Apakah karyawan yang sama dapat membuat dan memeriksa tiket?
Ya, jika administrator berwenang memberikan kedua izin tersebut kepada karyawan tersebut. Ini tidak memerlukan kunci proyek lain. Pelanggan biasanya tidak memerlukan izin apa pun. Jangan biarkan pengguna memberi diri mereka sendiri izin ini.
Mengapa menggunakan Pemeriksaan setelah Pemindaian?
Pemindaian membaca kode. Pemeriksaan menanyakan apakah tiket tersedia tanpa menggunakannya. Staf dapat meninjau order terlebih dahulu. Hanya aksi Confirm QR redemption terpisah yang menggunakan tiket satu kali.
Bagaimana cara kerja langganan?
Penetapan harga yang direncanakan: menginstal plugin di Bubble gratis. Akses BestPlugins merupakan langganan terpisah untuk setiap plugin dalam setiap proyek aplikasi Bubble: 7 hari gratis, kemudian US$1.50 per bulan. Development dan Live termasuk. Tidak ada batas tetap pada jumlah operasi; batas ukuran file dan fitur tetap berlaku. Checkout belum dibuka. Layar aktivasi akan menampilkan tanggal penagihan pertama dan ketentuan pembatalan.
Panduan terkait
Marketplace rilis tertunda
Panduan forum belum diposting
Untuk bantuan, beri tahu kami plugin dan perangkat yang Anda gunakan, tindakan yang Anda coba, dan apa yang terjadi. Gunakan contoh tanpa data pribadi. Jangan pernah membagikan kunci atau file pribadi Anda.