
Xodera Plugins · Bubble Native
Xodera QR Passes Native
建立一次性票券、取貨確認或優惠券。工作人員掃描代碼、檢查結果、預覽訂單,並在準備好時確認使用。
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.
文件審閱日期:2026年11月6日
實用範例
同日活動的一次性入場
普通 QR 值的螢幕截圖在多個入口處仍可能被重複使用。
您的應用程式儲存 Admission 記錄和穩定的 issue `request_id`;使用已策劃的 `label=event` 以及 `ttl_seconds`,於 1–86400 秒的合約內。
授權的發行者執行 Issue QR pass 並私下傳遞返回的 QR。工作人員掃描 → Check QR pass → 僅在 `ok=yes` 和 `status=available` 時確認 → Confirm QR redemption,並使用已儲存的穩定請求 ID。
僅 `status=redeemed` 加上 `receipt_id` 可授權您的應用程式的 admission 收據。將通行證/收據參考儲存在 Admission 上;不要將 QR 內容暴露給分析。
對於 `outcome_unknown`,使用相同的使用者/環境/通行證恢復相同的請求;絕不產生新的確認 ID。將 expired、revoked 以及已使用的狀態視為不同的結果。
計畫中。掃描與檢查不會消耗通行證的單次使用資格;只有明確確認才會消耗該資格。
在合作夥伴櫃檯一次性兌換短期效益
合作夥伴需要已確認的已使用/未使用結果,而非僅信任 QR 圖像或螢幕動畫。
`label=coupon`;在獲授權的簽發動作之前,由應用程式的 Benefit 記錄定義資格與較短的有效期。
僅在您的應用程式完成資格檢查後才發行通行證。於櫃檯,Check QR pass 顯示可用性且不會消耗。工作人員確認福利交付後,執行 Confirm QR redemption。
您的 Benefit 記錄可儲存 `receipt_id` 以及 `status=redeemed` 後的確認兌換時間。外掛管理通行證狀態;您的應用程式管理福利與客戶關係。
若福利在使用前被取消,同一授權發行者可使用其 `pass_id` 來 Revoke QR pass。不要僅從 `ok=yes` 宣布退款或成功兌換。
計畫中。掃描與檢查不會消耗通行證的單次使用資格;只有明確確認才會消耗該資格。
確認當日設備或訂單取貨
工作人員工作流程需要區分掃描取貨憑據與實際交付項目。
您的應用程式擁有的 Collection 記錄保留授權、預定項目以及分別的穩定發行/兌換請求 ID;使用短期 `label=access` 通行證。
在您的應用程式授權取貨後,Issue QR pass。工作人員掃描並檢查,檢視您應用程式中相符的 Collection,然後明確確認交付以及 Confirm QR redemption。
僅在確認的 `redeemed` 收據之後,您的工作流程才應將 Collection 設為已交付。保留 `receipt_id` 作為通行證結果的連結。
重複掃描可能返回 already_used;顯示現有的應用程式記錄而非交付另一項目。使用相同的 ID 與輸入恢復不確定的確認。
計畫中。掃描與檢查不會消耗通行證的單次使用資格;只有明確確認才會消耗該資格。
目前可用功能
私人測試版。現行掃描器具備相機與權限控制。一次性通行證的建立、檢查與確認仍在規劃中,尚未可於您的應用程式使用。
建立工作流程
計畫中
規劃中的工作流程。目前的測試版尚未提供。
這些範例使用如 Lesson、Message 和 Order 的應用程式記錄。請以您自己的資料類型和元素名稱取代它們。範例媒體位址必須替換為您自己的檔案。
計畫中:授權員工使用 Issue QR pass 進行入場或 Order。範例:label=event、ttl_seconds=900、environment=development。為該發行保留穩定的 request_id,並將 pass_id 儲存於記錄中。
向預定持有人展示返回的 QR。工作人員掃描它。在計畫通行證工作流程中,使用 workflow_mode=yes 並在 pass_scanned 後讀取 scanned_pass_token。這些通行證工作流程設定在目前的掃描器中不可用。
使用 Check QR pass 搭配 pass_token = QR Scanner's scanned_pass_token 執行。檢查不會消耗通行證的單次使用資格。對於 status=available,顯示相符的訂單或條目詳細資訊,讓工作人員審核。
僅有獨立的 Confirm 按鈕會以相同的 pass_token、穩定的 request_id 和 confirm=yes 執行 Confirm QR redemption。於 status=redeemed 時,儲存 receipt_id 並將該訂單或條目標記為完成。
already_used、expired、revoked 或 invalid 表示不允許入場或交付訂單。僅掃描或成功的檢查本身永不會完成交易。
一次性設定
在 BestPlugins → Dashboard → Plugins 中建立或選取您的 Bubble 應用程式專案。選擇 Xodera QR Passes Native,複製其金鑰,然後開啟 Bubble → Plugins → Xodera QR Passes Native,將金鑰貼入 project_api_key。儲存一次;之後使用下方操作。每個專案中的每個外掛都有其專屬金鑰。
掃描需要相機權限。對於一次性通行證,決定誰可以建立通行證以及誰可以在門口或取貨點檢查通行證。普通顧客不需要任何員工角色。
qr_issuer_permission_field
qr_pass_issuer · 用於標示允許建立或撤銷通行證之員工的使用者是/否欄位名稱。範例/預設值:qr_pass_issuer。請在此填入欄位名稱,而非是或否。僅授權的管理員可變更使用者的此權限。
qr_staff_permission_field
qr_staff · 用於標示允許工作人員檢查並確認使用之使用者是/否欄位名稱。範例/預設值:qr_staff。票券持有人不需要此權限。請將其排除於公開註冊與個人資料表單。
一次性設定
- 在 BestPlugins → Dashboard → Plugins 中建立或選取您的 Bubble 應用程式專案。
- 選取此外掛並複製其專案金鑰。
- 開啟 Bubble → Plugins → Xodera QR Passes Native;將金鑰貼入 project_api_key 並儲存。
- 加入元件,選取您的應用程式資料,並建立下方的工作流程。
- 目前僅限私人測試版存取。公開安裝與付費啟用尚未開放。
安裝與訂閱
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.
將結果儲存至您的應用程式
範例入場或取貨:儲存相關的訂單/活動,pass_id、expires_at 和 issue_request_id。確認使用後,加入 receipt_id、redeemed_at 以及確認的員工。當代碼僅被掃描或檢查時,不要將記錄標記為完成。QR 代碼不驗證個人身份。
失敗、取消與復原
如果 outcome_unknown=yes,保留相同的通行證、request_id 以及輸入,重新檢查結果時不要建立新確認。already_used、expired 和 revoked 為最終業務結果。若權限被拒絕,請授權的管理員審核該員工的角色。Clear session 會重設掃描器;它無法撤銷已完成的使用。
功能與限制
計畫中的通行證為單次使用,壽命為 1–86400 秒;預設為 900。通行證類型:access、event、coupon 和 membership。檢查不會保留通行證。使用通行證需連網。無付款處理、身份驗證或可重複使用的長期會員卡。讀取普通 QR 值與檢查通行證是分開的。
設定、操作與結果
在 Bubble 中使用這些名稱。計畫中的功能會另行標示。
可用的測試版設定
元素設定
disabled · yes/nois_active · yes/noui_text_json · textlanguage · text狀態
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事件
scanner_startedscanner_pausedscanner_cancelledpermission_deniedpass_scannedvalidation_startedvalidation_completedredemption_startedpass_redeemedredemption_rejectedredemption_pendingfixture_decodedqr_error操作及其輸入
Clear session元素設定 · 5
規劃中的工作流程。目前的測試版尚未提供。
disabledyes/no · 預設: false- 範例值
no - 範例 Bubble 表達式
GuideHost's is_busy (your yes/no custom state) - 當您的應用忙碌或此操作不可用時,停用該元件。
is_activeyes/no · 預設: true- 範例值
yes - 範例 Bubble 表達式
GuideHost's view_is_active (your yes/no custom state) - 在此視圖開啟時設為是,離開時設為否,以便停止播放或當前工作。
ui_text_jsontext · 預設: "{}"- 範例值
{} - 範例 Bubble 表達式
App Settings' player_labels_json (supported keys only) - 可選的 JSON,包含支援的按鈕標籤。留空則使用內建文字。
languagetext · 預設: "auto"- 範例值
uk - 範例 Bubble 表達式
Current User's preferred_language - 設定 language=auto 以跟隨支援的裝置或瀏覽器語言。輸入支援的語言代碼以明確選擇。
workflow_modeyes/no · 預設: false- 範例值
yes - 範例 Bubble 表達式
App Settings' use_qr_business_actions - 計畫中:允許掃描的 QR 值被 Check QR pass 使用。僅掃描並不確認進入或取貨。
操作及其輸入 · 5
規劃中的工作流程。目前的測試版尚未提供。
Clear session
無操作參數
Issue QR pass
environmenttext · 預設: "development"- 範例值
development - 範例 Bubble 表達式
App Settings' selected_environment - 使用目前業務記錄的值;依以下限制進行驗證。
request_idtext · 預設: —- 範例值
pickup-123-issue-v1 - 範例 Bubble 表達式
Current Admission's stable_request_id - 使用目前業務記錄的值;依以下限制進行驗證。
labeltext · 預設: "access"- 範例值
event - 範例 Bubble 表達式
Selected Admission's pass_label - 使用目前業務記錄的值;依以下限制進行驗證。
ttl_secondsnumber · 預設: 900- 範例值
900 - 範例 Bubble 表達式
Event Settings' pass_ttl_seconds - 使用目前業務記錄的值;依以下限制進行驗證。
回傳值
pass_id · textpass_token · textpass_label · textexpires_at · textqr_png_data_uri · textreused · yes/noCheck QR pass
environmenttext · 預設: "development"- 範例值
development - 範例 Bubble 表達式
App Settings' selected_environment - 使用目前業務記錄的值;依以下限制進行驗證。
pass_tokentext · 預設: —- 範例值
<opaque token returned by Issue / camera scan> - 範例 Bubble 表達式
QR Pass Scanner's scanned_pass_token (capture before Check) - 使用目前業務記錄的值;依以下限制進行驗證。
回傳值
pass_label · textexpires_at · textConfirm QR redemption
environmenttext · 預設: "development"- 範例值
development - 範例 Bubble 表達式
App Settings' selected_environment - 使用目前業務記錄的值;依以下限制進行驗證。
pass_tokentext · 預設: —- 範例值
<opaque token returned by Issue / camera scan> - 範例 Bubble 表達式
QR Pass Scanner's scanned_pass_token (capture before Check) - 使用目前業務記錄的值;依以下限制進行驗證。
request_idtext · 預設: —- 範例值
pickup-123-redeem-v1 - 範例 Bubble 表達式
Current Admission's stable_redemption_request_id - 使用目前業務記錄的值;依以下限制進行驗證。
confirmyes/no · 預設: false- 範例值
yes — explicit confirmation only - 範例 Bubble 表達式
Confirm Checkbox is checked - 使用目前業務記錄的值;依以下限制進行驗證。
回傳值
pass_id · textpass_label · textreceipt_id · textredeemed_at · textreused · yes/noRevoke QR pass
environmenttext · 預設: "development"- 範例值
development - 範例 Bubble 表達式
App Settings' selected_environment - 使用目前業務記錄的值;依以下限制進行驗證。
pass_idtext · 預設: —- 範例值
<pass_id returned by Issue> - 範例 Bubble 表達式
Selected Admission's pass_id - 使用目前業務記錄的值;依以下限制進行驗證。
回傳值
pass_id · textrevoked · yes/no狀態與事件
規劃中的工作流程。目前的測試版尚未提供。
狀態
scanner_status · text此操作的當前結果。於儲存成功前使用相符的完成事件。idle,requesting_permission,permission_denied,scanning,paused,scanned,validating,available,redeeming,redeemed,unavailable,unknown,error,cancelled,decoding_fixture,fixture_decoded
server_status · text此操作的當前結果。於儲存成功前使用相符的完成事件。empty,available,redeemed,already_used,expired,revoked
pass_id · text此項目或操作的識別碼。請將其與相應的應用記錄一起保存。重試不確定結果時,使用相同的請求識別碼。
pass_label · text所選項目的目前值。於相關事件之後讀取。empty,access,event,coupon,membership
receipt_id · text此項目或操作的識別碼。請將其與相應的應用記錄一起保存。重試不確定結果時,使用相同的請求識別碼。
error_code · text上一次操作的錯誤資訊。顯示有用的訊息並提供相關的重試。
is_busy · yes/no工作仍在進行中。請在開始其他操作前稍候。
is_scanning · yes/no所選項目的當前值。於相關事件後讀取。
torch_enabled · yes/no所選項目的當前值。於相關事件後讀取。
scan_source · text所選項目的目前值。於相關事件之後讀取。empty,camera,fixture
pending_redemption · yes/no所選項目的當前值。於相關事件後讀取。
scanned_pass_token · text所選項目的當前值。於相關事件後讀取。
事件
scanner_started當此事件發生時,從同一元素讀取相關狀態。
scanner_paused當此事件發生時,從同一元素讀取相關狀態。
scanner_cancelled當此事件發生時,從同一元素讀取相關狀態。
permission_denied當此事件發生時,從同一元素讀取相關狀態。
pass_scanned當此事件發生時,從同一元素讀取相關狀態。
validation_started當此事件發生時,從同一元素讀取相關狀態。
validation_completed當此事件發生時,從同一元素讀取相關狀態。
redemption_started當此事件發生時,從同一元素讀取相關狀態。
pass_redeemed當此事件發生時,從同一元素讀取相關狀態。
redemption_rejected當此事件發生時,從同一元素讀取相關狀態。
redemption_pending當此事件發生時,從同一元素讀取相關狀態。
fixture_decoded當此事件發生時,從同一元素讀取相關狀態。
qr_error當此事件發生時,從同一元素讀取相關狀態。
開發者常問問題
這兩個權限設定代表什麼意思?
標示允許員工建立或撤銷通行證的使用者是/否欄位名稱。範例/預設值:qr_pass_issuer。請在此填入欄位名稱,而非是或否。只有授權的管理員才能變更此使用者的權限。標示允許員工檢查並確認使用的使用者是/否欄位名稱。範例/預設值:qr_staff。票券持有人不需要此權限。請將其排除於公開註冊與個人資料表單之外。
同一位員工可以同時建立與檢查通行證嗎?
可以,只要授權的管理員給予該員工兩項權限。這不需要額外的專案金鑰。顧客通常不需要任何權限。不要讓使用者自行指派這些權限。
為什麼在掃描後還要執行檢查?
掃描會讀取代碼。檢查則詢問通行證是否可用而不消耗其單次使用資格。工作人員可以先審核訂單。只有獨立的 Confirm QR redemption 動作會使用一次通行證。
訂閱如何運作?
計畫價格:在 Bubble 中安裝此插件為免費。BestPlugins 存取需為每個插件在每個 Bubble 應用專案中分別訂閱:7 天免費,之後每月 US$1.50。Development 與 Live 已包含。操作次數沒有固定上限;檔案大小與功能限制仍然適用。結帳尚未開放。啟用畫面將顯示首次計費日期與取消條款。
相關指南
Marketplace 發布待處理
論壇指南未發佈
如需協助,請告訴我們您使用的插件與裝置、嘗試的操作以及發生的情況。請使用不含個人資料的範例。切勿分享您的金鑰或私人檔案。