دليل التدفقات
توضّح هذه الصفحة كيف يعمل Scan 2 Flow، وخاصة التدفقات والإجراءات التي يمكن تشغيلها عند مسح باركود أو رمز QR.
🎯 What is a Workflow?
A workflow is an automated action triggered by scanning a barcode or QR code. When you scan, your device matches the code against your workflows - by code format or pattern - and automatically executes the corresponding action without any manual input.
Action Methods
Each workflow uses one action method. All examples use event tickets for simplicity - you can apply the same patterns to any use case. Test each action with our demo project.
فتح عنوان URL
يفتح عنوان URL في المتصفح. يمكنك استخدام العنصر النائب {{data}} في الرابط؛ يُستبدل بالقيمة المماسحة. مثلاً: https://www.google.com/search?q={{data}}. اختر الفتح في تبويب جديد أو نفس التبويب.
Example: demo-endpoint/view-ticket.html?ticket_id=
استدعاء API
يرسل طلب POST إلى الرابط الذي تحدده. جسم الطلب JSON بحقل 'data' (القيمة المماسحة) وحقل 'format' (مثلاً QR_CODE). الاستجابة لا تظهر في التطبيق؛ استخدمه لتفعيل webhooks أو Make أو n8n أو أي نقطة نهاية HTTP.
Example: GET demo-endpoint/api/tickets?ticket_id=
Validates ticket silently - failed calls turn red in scan log (no beep, visual feedback only)
استدعاء API وصفارة حسب الحالة
مثل استدعاء API، لكن التطبيق يشغّل صفارة نجاح عند إرجاع الخادم HTTP 200 وصفارة فشل لأي حالة أخرى. مناسب للتسجيل أو التحقق عند الباب: يحصل الموظفون على رد صوتي فوري دون النظر إلى الشاشة. فعّل الصفارة من الإعدادات.
Example: https://vocal-kitsune-c6bf6b.netlify.app/api/tickets?ticket_id=
Valid: TCKT-1001 → 200 (valid:true) beep | Invalid: TCKT-1003 → 200 (valid:false) beep | Not found: TCKT-9999 → 404 beep
استدعاء API وعرض
مثل استدعاء API، لكن التطبيق يطلب الرابط (GET أو POST مع بيانات المسح)، ثم يعرض حقولاً محددة من استجابة JSON في جدول. اضبط «الحقول المعروضة» بمسارات مفصولة بفاصلة (مثلاً data.price, data.name) أو اتركها فارغة لعرض الاستجابة كاملة.
Example: GET demo-endpoint/api/tickets?ticket_id=
Display fields: ticket_id, attendee_name, valid, valid_until
استدعاء API وعرض HTML
يستدعي API (GET مع قيمة المسح في الرابط عبر {{data}})، ثم يعرض قالب HTML في نافذة ملء الشاشة. القالب HTML مع عناصر نائبة (مثلاً {{title}}) تُستبدل بقيم من استجابة JSON للـ API.
Example: https://vocal-kitsune-c6bf6b.netlify.app/api/tickets?ticket_id=
Template includes form to update ticket details (name, valid_until, valid status)
تحميل رابط داخل iframe
يعرض صفحة ويب خارجية داخل iframe. استخدم قالب URL مع {{data}} لتمرير القيمة المماسحة، مثل: https://example.com/item?id={{data}}.
Example: demo-endpoint/view-ticket.html?ticket_id=
متى يُشغَّل التدفق؟
يُشغَّل التدفق عندما يطابق المسح فلاتره. يمكنك التقييد بالصيغة وبالنمط:
- الصيغة: تقييد بأنواع باركود معينة (مثلاً QR فقط) أو «أي صيغة» لمطابقة كل الصيغ المفعّلة.
- النمط: فعّل «مطابقة النمط» وأدخل تعبيراً منتظماً. التدفق يُشغَّل فقط عندما يطابق النص المماسح الـ regex.
واجهة المطوّر
واجهة الباركود وQR تحتوي على نقطتي نهاية: (1) فك الترميز - POST /api/parse-code يقرأ الباركود وQR من الصور (base64 أو رابط) ويُرجع البيانات. (2) التوليد - GET /api/generate-qrcode ينشئ صور QR من النص. راجع مرجع الواجهة أدناه.
مرجع الواجهة