Інтэрфейс сканера QR. Запланаваны дзеянні аднаразовага пропуску.
Інтэрфейс сканера QR. Запланаваны дзеянні аднаразовага пропуску.
← Усе натыўныя кіраўніцтва

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.

Дакументацыя праверана 6 лістапада 2026

Практычныя прыклады

Адзіночны допуск для падзеі ў той жа дзень

Скрыншот звычайнага значэння QR можа быць паўторна выкарыстаны ў больш чым адным уваходзе.

Ваша праграма захоўвае запіс Admission і стабільны `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; не раскрывайце змесціва QR аналітыцы.

Для `outcome_unknown` аднаўляйце той жа запыт з ідэнтычнымі карыстальнікам/асяроддзем/праходам; ніколі не стварайце новы ID пацверджання. Апрацоўвайце expired, revoked і ўжо выкарыстаныя станы як асобныя вынікі.

Плануецца. Сканаванне і праверка не пагашаюць пропуск; толькі яўнае пацвярджэнне пагашае яго.

Атрымайце кароткатэрміновую выгаду адзін раз на касе партнёра.

Партнёр патрабуе пацверджаны вынік выкарыстання/невыкарыстання замест даверу да выявы QR або анімацыі на экране.

`label=coupon`; запіс Benefit вашай праграмы вызначае права на ўдзел і кароткі тэрмін дзеяння перад аўтарызаваным дзеяннем выпуску.

Выдавайце пропуск толькі пасля праверкі права карыстальніка ў вашай праграме. На касе Check QR pass паказвае, ці можна скарыстацца пропускам, не пагашаючы яго. Пасля таго як супрацоўнік пацвердзіць прадастаўленне выгоды, запусціце Confirm QR redemption.

Ваш запіс Benefit можа захоўваць `receipt_id` і пацверджаны час выкупу пасля `status=redeemed`. Плагін кіруе станам праходу; ваша праграма кіруе выгодай і адносінамі з кліентамі.

Калі выгода адменена да выкарыстання, той жа аўтарызаваны выдаўца можа Revoke QR pass, выкарыстоўваючы яго `pass_id`. Не аб'яўляйце вяртанне сродкаў або паспяховы выкуп толькі на падставе `ok=yes`.

Плануецца. Сканаванне і праверка не пагашаюць пропуск; толькі яўнае пацвярджэнне пагашае яго.

Пацвердзіце самы дзень выдачу абсталявання або заказу.

Працоўны працэс супрацоўніка павінен адрозніваць сканаванне спасылкі на выдачу ад фактычнай перадачы прадмета.

Запіс Collection вашай праграмы захоўвае дазвол, прызначаны прадмет і асобныя стабільныя ID запытаў на выдачу і пагашэнне; выкарыстоўвайце кароткатэрміновы пропуск `label=access`.

Пасля таго, як ваша праграма дазволіць выдачу, Issue QR pass. Супрацоўнікі скануюць і правяраюць, інспектуюць адпаведную калекцыю ў вашай праграме, затым яўна пацвярджаюць перадачу і Confirm QR redemption.

Толькі пасля атрымання пацверджання `redeemed` ваш працоўны працэс павінен пазначыць Collection як перададзеную. Захоўвайце `receipt_id` як спасылку на вынік выкарыстання пропуску.

Паўторнае сканаванне можа вярнуць already_used; адлюструйце існуючы запіс праграмы замест перадачы іншага прадмета. Аднавіце няпэўнае пацверджанне з тым жа ID і ўводамі.

Плануецца. Сканаванне і праверка не пагашаюць пропуск; толькі яўнае пацвярджэнне пагашае яго.

Што працуе зараз

Приватная бэта. Бягучы сканер мае кіраванне камерай і дазволамі. Стварэнне, праверка і пацвярджэнне аднаразовых праходаў запланаваны і яшчэ не гатовыя да выкарыстання ў вашым прыкладанні.

Стварыце працоўны паток

Запланавана

Запланаваны працэс. Пакуль недаступна ў бягучай бэта-версіі.

Гэтыя прыклады выкарыстоўваюць запісы прыкладання, такія як Lesson, Message і Order. Заменіце іх уласнымі тыпамі даных і назвамі элементаў. Прыклады медыя-адрасоў трэба замяніць вашымі файламі.

  1. Запланавана: аўтарызаваны супрацоўнік выкарыстоўвае Issue QR pass для допуску або Order. Прыклад: label=event, ttl_seconds=900, environment=development. Захоўвайце стабільны request_id для гэтага запыту і захавайце pass_id у запісе.

  2. Пакажыце вернуты QR ягому прызначанаму ўладальніку. Персанал скануе яго. У запланаваным працэсе пропуска выкарыстоўвайце workflow_mode=yes і прачытайце scanned_pass_token пасля pass_scanned. Гэтыя налады працэсу пропуска недаступныя ў бягучым сканеры.

  3. Запусціце Check QR pass з pass_token = QR Scanner's scanned_pass_token. Ён правярае без выкарыстання пропуска. Для status=available пакажыце адпаведныя дэталі заказу або запісу, каб персанал мог іх праглядзець.

  4. Толькі асобная кнопка «Пацвердзіць» запускае Confirm QR redemption з тым жа pass_token, стабільным request_id і confirm=yes. На status=redeemed захавайце receipt_id і пазначце гэты заказ або запіс як завершаны.

  5. already_used, expired, revoked або invalid азначае не дапускаць і не перадаваць заказ. Адна сканіраванне або паспяховая праверка самі па сабе ніколі не завяршаюць транзакцыю.

Схема працоўнага патоку — не здымак прыкладання

Наладзьце адзін раз

Стварыце або выберыце ваш праект прыкладання Bubble у BestPlugins → Dashboard → Plugins. Выберыце 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. Уладальнік білета не патрабуе гэтага дазволу. Трымайце яго па-за публічнымі формамі рэгістрацыі і профілю.

Наладзьце адзін раз
  1. Стварыце або выберыце ваш праект прыкладання Bubble у BestPlugins → Dashboard → Plugins.
  2. Выберыце гэты плагін і скапіруйце яго ключ праекта.
  3. Адкрыйце Bubble → Plugins → Xodera QR Passes Native; устаўце ключ у project_api_key і захавайце.
  4. Дадайце элемент, выберыце вашы дадзеныя прыкладання і пабудуйце працэс ніжэй.
  5. Прыватны доступ да бэта-версіі толькі зараз. Публічная ўстаноўка і платная актывацыя яшчэ не адкрыты.
Усталяванне і падпіска

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/no
Check 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 · text
Confirm 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/no
Revoke 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 выпуск у чаканні

Кіраўніцтва форума не апублікавана

Для дапамогі паведаміце, які плагін і прыладу вы выкарыстоўваеце, якую дзею спрабавалі і што адбылося. Выкарыстоўвайце прыклад без асабістых даных. Ніколі не дзяліцеся вашым ключом або прыватнымі файламі.