QR сканерінің интерфейсі. Бір рет қолданылатын билеттерге арналған әрекеттер жоспарланған.
QR сканерінің интерфейсі. Бір рет қолданылатын билеттерге арналған әрекеттер жоспарланған.
← Барлық Bubble Native нұсқаулықтары

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` және 1–86400 секунд шегіндегі `ttl_seconds` мәнін пайдаланыңыз.

Авторизацияланған шығарушы Issue QR pass іске қосып, қайтарылған QR жеке жеткізеді. Қызметкерлер сканерлейді → Check QR pass → тек `ok=yes` және `status=available` болса ғана растау → сақталған тұрақты сұрау ID-мен Confirm QR redemption.

Тек `status=redeemed` және `receipt_id` бірге қолданбаңыздағы кіру растамасына негіз болады. Билет/пайдалану растамасының сілтемесін Admission жазбасында сақтаңыз; QR мазмұнын аналитика жүйелеріне ашпаңыз.

`outcome_unknown` үшін, бірдей пайдаланушы/орта/pass бар бірдей сұрауды қалпына келтіріңіз; жаңа растау 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 іске қосыңыз. Қызметкерлер сканерлеп, Check орындайды, қолданбадағы сәйкес Collection жазбасын қарайды, содан кейін беруді әдейі растап, Confirm QR redemption іске қосады.

Тек расталған `redeemed` түбіртегі болғаннан кейін ғана жұмыс процесіңіз Collection-ды берілген ретінде белгілейді. `receipt_id`-ті пасс нәтижесіне сілтеме ретінде сақтаңыз.

Қайта сканерлеу already_used қайтара алады; басқа затты берудің орнына бар қолданба жазбасын көрсетіңіз. Бірдей ID және енгізулермен белгісіз растауды қалпына келтіріңіз.

Жоспарланған. Сканерлеу және тексеру пассты пайдаланбайды; тек нақты растау ғана пайдаланады.

Қазір жұмыс істейтіндер

Жеке бета. Ағымдағы сканерде камера және рұқсат бақылаулары бар. Бір реттік рұқсаттарды жасау, тексеру және растау жоспарланған, бірақ әлі қолданбаңызда пайдалануға дайын емес.

Жұмыс ағынын құрыңыз

Жоспарланған

Жоспарланған жұмыс ағыны. Қазіргі бета нұсқасында әлі қолжетімді емес.

Бұл мысалдар Lesson, Message және Order сияқты қолданба жазбаларын пайдаланады. Оларды өзіңіздің деректер түрлеріңіз бен элемент атауларыңызбен ауыстырыңыз. Мысал медиа мекенжайлары өз файлдарыңызбен ауыстырылуы керек.

  1. Жоспарланған: уәкілетті қызметкер Admission немесе Order жазбасы үшін Issue QR pass әрекетін орындайды. Мысал: label=event, ttl_seconds=900, environment=development. Осы билетті беру үшін тұрақты request_id сақтап, pass_id мәнін сол жазбамен бірге сақтаңыз.

  2. Қайтарылған QR-ны оның тиісті иесіне көрсетіңіз. Қызметкерлер оны сканерлейді. Жоспарланған билет жұмыс ағынында workflow_mode=yes-ны пайдаланып, pass_scanned кейін scanned_pass_token-ны оқыңыз. Бұл билет жұмыс ағынының параметрлері ағымдағы сканерде қолжетімді емес.

  3. Check QR pass-ны pass_token = QR Scanner's scanned_pass_token-пен іске қосыңыз. Ол билетті пайдаланбай тексереді. status=available үшін сәйкес тапсырыс немесе кіру мәліметтерін көрсетіңіз, сонда қызметкерлер оларды қарап шыға алады.

  4. Тек бөлек Confirm түймесі Confirm QR redemption-ті сол pass_token, тұрақты request_id және confirm=yes-пен іске қосады. status=redeemed-де receipt_id сақталып, сол тапсырыс немесе жазба аяқталған ретінде белгіленеді.

  5. already_used, expired, revoked немесе invalid болса, адамды кіргізбеңіз және тапсырысты бермеңіз. Тек сканерлеу немесе сәтті Check транзакцияны ешқашан аяқтамайды.

Жұмыс ағыны диаграммасы — қолданба скриншоты емес

Бір рет баптаңыз

Bubble қолданба жобасын BestPlugins → Dashboard → Plugins ішінде жасаңыз немесе таңдаңыз. Xodera QR Passes Native таңдаңыз, оның кілтін көшіріңіз, содан кейін Bubble → Plugins → Xodera QR Passes Native ашып, оны project_api_key ішіне қойыңыз. Бір рет сақтаңыз; содан кейін төмендегі әрекеттерді пайдаланыңыз. Әр жобадағы әр плагиннің өз кілті бар.

Сканерлеу үшін камераға рұқсат қажет. Бір реттік QR-билеттерді кім жасай алатынын және есік алдында немесе тапсырысты алу орнында кім тексере алатынын анықтаңыз. Кәдімгі клиенттерге жасаушы не тексеруші қызметкер рөлдерінің ешқайсысы қажет емес.

qr_issuer_permission_field

qr_pass_issuer · QR-билеттерді жасауға немесе күшін жоюға құқығы бар қызметкерлерді белгілейтін User жазбасындағы yes/no өрісінің атауы. Мысал/әдепкі: qr_pass_issuer. Мұнда yes не no мәнін емес, өріс атауын енгізіңіз. Пайдаланушыдағы бұл рұқсатты тек уәкілетті әкімші өзгертуі тиіс.

qr_staff_permission_field

qr_staff · Тексеру мен пайдалануды растауға құқығы бар қызметкерлерді белгілейтін User жазбасындағы yes/no өрісінің атауы. Мысал/әдепкі: 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 болса, нәтижені қайта тексергенде сол QR-билетті, 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)
Бұл көрініс ашық кезде yes (иә) мәнін орнатыңыз. Шыққанда no (жоқ) мәнін орнатыңыз, сонда ойнатуды немесе ағымдағы жұмысты тоқтатуға болады.
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-билеттерді жасауға немесе күшін жоюға құқығы бар қызметкерлерді белгілейтін User жазбасындағы yes/no өрісінің атауы. Мысал/әдепкі: qr_pass_issuer. Мұнда yes не no мәнін емес, өріс атауын енгізіңіз. Пайдаланушыдағы бұл рұқсатты тек уәкілетті әкімші өзгертуі тиіс. Тексеру мен пайдалануды растауға құқығы бар қызметкерлерді белгілейтін User жазбасындағы yes/no өрісінің атауы. Мысал/әдепкі: qr_staff. Билет иесіне бұл рұқсат қажет емес. Оны жалпыға ашық тіркелу және профиль нысандарына қоспаңыз.

Бір қызметкер QR-билеттерді жасап, тексере ала ма?

Иә, егер уәкілетті әкімші сол қызметкерге екі рұқсатты берсе. Бұл үшін басқа жоба кілті қажет емес. Клиенттер әдетте ешбір рұқсатқа мұқтаж емес. Пайдаланушыларға бұл рұқсаттарды өздеріне тағайындауға рұқсат бермеңіз.

Сканнан кейін Check не үшін қолданылады?

Сканер кодты оқиды. Тексеру пасстың оны пайдаланбай қолжетімді екенін сұрайды. Қызметкерлер алдымен тапсырысты шолуы мүмкін. Тек бөлек Confirm QR redemption әрекеті пассты бір рет пайдаланады.

Жазылу қалай жұмыс істейді?

Жоспарланған баға: Bubble ішіне плагинді орнату тегін. BestPlugins қолжетімділігі әрбір Bubble қолданба жобасындағы әр плагин үшін бөлек жазылуды талап етеді: 7 күн тегін, содан кейін айына US$1.50. Development және Live қамтылған. Операциялардың санына тұрақты шектеу жоқ; файл өлшемі және функция шектеулері әлі де қолданылады. Төлемді аяқтау әлі ашылмаған. Белсендіру экраны бірінші төлем күнін және болдырмау шарттарын көрсетеді.

Қатысты нұсқаулықтар

Marketplace шығарылымы күтілуде

Форум нұсқаулығы жарияланбаған

Көмек алу үшін, қандай плагин мен құрылғыны пайдаланатыныңызды, қандай әрекетті орындағаныңызды және не болғанын айтыңыз. Жеке деректерсіз мысал қолданыңыз. Кілтіңізді немесе жеке файлдарыңызды ешқашан бөліспеңіз.