الهيكلية
توضح هذه الصفحة الهيكلية الفنية لـ WCPOS للمطورين والمستخدمين المتقدمين.
نظام ذو جزءين
تم تصميم WCPOS كنظام ذو جزئين:
-
ملحق PHP: مستضاف على خادمك، وهو ملحق صغير نسبيًا يوسع واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce.
-
عميل JavaScript: يعمل محليًا في متصفحك أو تطبيق سطح المكتب، وفي وقت لاحق في تطبيقات iOS و Android.
يمكنك التفكير فيه كعالمين منفصلين:
- عالم PHP حيث تحدث إدارة البيانات باستخدام WordPress و WooCommerce.
- عالم JavaScript يقوم بتقليد متجرك على WooCommerce محليًا، محسنًا للبحث السريع والاستخدام في وضع عدم الاتصال.
مزامنة البيانات
يتم جلب البيانات من WooCommerce باستخدام واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce. وهذا يعني أن نظام نقاط البيع يجب أن يقوم بتنزيل كل منتج، بديل، فئة منتجات، عميل، معدل ضريبة، وأكثر لتخزينها محليًا.
على الرغم من أن هذا قد يستغرق وقتًا طويلاً في البداية، إلا أنه بمجرد التنزيل، تكون متاحة على الفور دون الحاجة إلى الاستمرار في الجلب من الخادم.
ما الذي يتم مزامنته؟
- المنتجات والبدائل
- فئات المنتجات والعلامات
- العملاء
- معدلات الضريبة وفئات الضريبة
- بوابات الدفع (للخروج)
- الطلبات (لتاريخ الطلبات في النسخة المدفوعة)
استراتيجية المزامنة
يستخدم WCPOS استراتيجية مزامنة تدريجية:
- المزامنة الأولية: تنزيل جميع البيانات عند التحميل الأول
- التحديثات التدريجية: فقط جلب التغييرات منذ آخر مزامنة
- المزامنة في الخلفية: التحقق دوريًا من التحديثات
- المزامنة اليدوية: يمكن للمستخدم بدء مزامنة في أي وقت
مزايا وعيوب الهيكلية
| جيد 😊 | سيء 😟 |
|---|---|
| البحث في البيانات المحلية فوري | الحفاظ على البيانات متزامنة يمثل تحديًا |
| البيانات المخبأة متاحة في وضع عدم الاتصال | مقيدة بواجهة برمجة التطبيقات REST الخاصة بـ WooCommerce |
| القدرة على إنشاء تطبيقات أصلية أفضل لسطح المكتب و iOS و Android | لا يمكن تخصيص تطبيق نقاط البيع بواسطة قوالب WordPress والخطافات |
قاعدة بيانات محلية
يخزن عميل JavaScript البيانات في IndexedDB، وهي قاعدة بيانات تعتمد على المتصفح. وهذا يوفر:
- الاستمرارية: البيانات تبقى صامدة بعد إعادة تشغيل المتصفح
- الأداء: استعلامات سريعة دون تأخير الشبكة
- التصفح في وضع عدم الاتصال: تبقى البيانات المخزنة متاحة دون الحاجة إلى الإنترنت
هيكلية الخروج
تستخدم عملية الخروج iframe/webview الذي يقوم بتحميل صفحة دفع الطلب الخاصة بـ WooCommerce. هذه الطريقة:
- تستفيد من بوابات الدفع الموجودة: يمكن لأي بوابة دفع خاصة بـ WooCommerce العمل في نظام نقاط البيع
- تحافظ على الأمان: تتم معالجة الدفع من خلال بنية WooCommerce التحتية الآمنة
- تقلل من التعقيد: ليست هناك حاجة لتنفيذ تكاملات بوابة الدفع مرة أخرى
توسيعات واجهة برمجة التطبيقات
يمتد ملحق PHP لواجهة برمجة التطبيقات REST الخاصة بـ WooCommerce مع نقاط نهاية إضافية لوظائف محددة لنقاط البيع. راجع واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce لمزيد من التفاصيل.