تجاوز إلى المحتوى الرئيسي
الإصدار: 1.x

وصول الأدوار إلى نقاط النهاية

توثّق هذه الصفحة نقاط نهاية WCPOS REST المتاحة لكل من الأدوار الافتراضية الثلاثة المستخدمة في سير عمل نقطة البيع:

  • administrator
  • shop_manager
  • cashier

لتهيئة الأدوار والصلاحيات الموجّهة للمستخدم، راجع الوصول إلى نقطة البيع.

ملخّص​

نموذج الوصول الافتراضي هو:

  • administrator — وصول كامل إلى نقطة البيع والإدارة.
  • shop_manager — وصول كامل إلى نقطة البيع والإدارة، باستثناء إجراءات امتدادات الإضافات التي تتطلّب صلاحيات تثبيت الإضافات.
  • cashier — وصول إلى سير عمل البيع الاعتيادي في نقطة البيع، لكن دون وصول إلى الإدارة أو الإعدادات أو السجلات أو إدارة المتجر.

تُتحقّق مصفوفة نقاط النهاية عبر اختبارات تكامل تستخدم مسار المصادقة نفسه الذي يستخدمه تطبيق نقطة البيع (رموز وصول WCPOS من نوع bearer، وليس مجرد wp_set_current_user()). تؤكّد تأكيدات نقاط النهاية المسموح بها أن الدور لا يتلقّى 401 أو 403. قد تُعيد بعض نقاط النهاية بيانات عادية أو أخطاء عمل مثل 400 أو 404 عندما يستخدم الاختبار تجهيزات بسيطة — ومع ذلك تثبت تلك الاستجابات أن المستخدم اجتاز طبقة المصادقة/الأذونات.

مصفوفة وصول نقاط النهاية للإضافة المجانية​

المجالأمثلة على نقاط النهايةAdminShop ManagerCashierملاحظات
فهرس الإعداداتGET /wcpos/v1/settings✅✅✅فهرس إعدادات نقطة البيع العام/القابل للقراءة
المتاجرGET /wcpos/v1/stores✅✅✅بيانات إقلاع نقطة البيع
ملف الكاشيرGET /wcpos/v1/cashier/{id}✅✅✅بيانات الكاشير الخاصة
متاجر الكاشيرGET /wcpos/v1/cashier/{id}/stores✅✅✅وصول المتجر للكاشير الحالي
المنتجاتGET /wcpos/v1/products✅✅✅تصفّح الكتالوج
المتغيّراتGET /wcpos/v1/products/variations✅✅✅تصفّح الكتالوج
الفئاتGET /wcpos/v1/products/categories✅✅✅فلاتر الكتالوج
الوسومGET /wcpos/v1/products/tags✅✅✅فلاتر الكتالوج
العلامات التجاريةGET /wcpos/v1/products/brands✅✅✅فلاتر الكتالوج
الكوبوناتGET /wcpos/v1/coupons✅✅✅البحث عن كوبونات نقطة البيع
قراءة الطلباتGET /wcpos/v1/orders✅✅✅سجلّ طلبات نقطة البيع
إنشاء الطلباتPOST /wcpos/v1/orders✅✅✅سير عمل البيع
تحديث الطلباتPATCH /wcpos/v1/orders/{id}✅✅✅إكمال/تحديث طلبات نقطة البيع
قراءة/إنشاء الدفع/wcpos/v1/orders/{id}/checkout✅✅✅تدفّق الدفع
الإيصالاتGET /wcpos/v1/receipts/{order_id}✅✅✅تحويل الإيصالات
حالات الطلباتGET /wcpos/v1/data/order_statuses✅✅✅بيانات حالة نقطة البيع
قراءة العملاءGET /wcpos/v1/customers✅✅✅البحث عن العملاء/سردهم
إنشاء العملاءPOST /wcpos/v1/customers✅✅✅إنشاء عميل في نقطة البيع
تحديث العملاءPATCH /wcpos/v1/customers/{id}✅✅✅تعديل عميل في نقطة البيع
الضرائبGET /wcpos/v1/taxes✅✅✅بيانات حساب الدفع/الضرائب
فئات الضرائبGET /wcpos/v1/taxes/classes✅✅✅بيانات حساب الدفع/الضرائب
طرق الشحنGET /wcpos/v1/shipping_methods✅✅✅بيانات الدفع/الشحن
بوابات الدفعGET /wcpos/v1/payment-gateways✅✅✅خيارات الدفع
تهيئة البوابةPOST /wcpos/v1/payment-gateways/{id}/bootstrap✅✅✅إعداد الدفع
القوالبGET /wcpos/v1/templates✅✅✅قراءة الإيصالات/القوالب
القالب النشطGET /wcpos/v1/templates/active✅✅✅قراءة الإيصالات/القوالب
معرض القوالبGET /wcpos/v1/templates/gallery✅✅✅قراءة القوالب
الإعدادات العامةGET /wcpos/v1/settings/general✅✅❌للإدارة فقط
إعدادات الدفعGET /wcpos/v1/settings/checkout✅✅❌للإدارة فقط
إعدادات رقم الضريبةGET /wcpos/v1/settings/tax_ids✅✅❌للإدارة فقط
إعدادات بوابة الدفعGET /wcpos/v1/settings/payment-gateways✅✅❌للإدارة فقط
كتالوج/إدارة الامتداداتGET /wcpos/v1/extensions✅✅❌للإدارة فقط
السجلاتGET /wcpos/v1/logs✅✅❌للإدارة فقط

مصفوفة وصول نقاط النهاية لإضافة Pro​

المجالأمثلة على نقاط النهايةAdminShop ManagerCashierملاحظات
بيانات تعديل المتجرGET /wcpos/v1/stores/{id}/edit✅✅❌إدارة المتجر
إنشاء المتجرPOST /wcpos/v1/stores✅✅❌إدارة المتجر
تحديث المتجرPATCH /wcpos/v1/stores/{id}✅✅❌إدارة المتجر
تحديث إعدادات الترخيصPOST /wcpos/v1/settings/license✅✅❌إدارة Pro
إجراءات الامتداداتPOST /wcpos/v1/extensions/action✅❌❌تتطلّب صلاحية تثبيت/إدارة الإضافات
استرداد الطلباتPOST /wcpos/v1/orders/{id}/refunds✅✅✅تُعامَل كعملية نقطة بيع

تغطية انتهاء صلاحية الرمز​

السيناريوAdminShop ManagerCashierالنتيجة المتوقعة
رمز وصول صالح✅ مُختبر✅ مُختبر✅ مُختبرنقاط النهاية المسموح بها لا تُعيد 401 أو 403
رمز وصول منتهي الصلاحية✅ مُختبر✅ مُختبر✅ مُختبريفشل الطلب عند بوابة مصادقة WCPOS بمستخدم 0
رمز تحديث صالح بعد وصول منتهٍ✅ مُختبر✅ مُختبر✅ مُختبريُصدَر رمز وصول جديد ويُستعاد الوصول
رمز تحديث منتهي الصلاحية✅ مُختبر✅ مُختبر✅ مُختبرلا يمكن إصدار رمز وصول جديد

تشخيص حالات الفشل​

إذا رأى shop_manager افتراضي خطأ مثل:

Request still unauthorized after token refresh - please log in again

تشير مصفوفة نقاط النهاية إلى أن هذا ليس لأن دور shop_manager الافتراضي يفتقر جوهريًا إلى وصول نقطة البيع. الأسباب المحتملة الواجب التحقّق منها:

  1. تلف الدور/الصلاحيات الخاص بالموقع.
  2. نقطة نهاية غير مشمولة بالمصفوفة.
  3. سلوك إعادة محاولة رمز وصول قديم أو منتهي الصلاحية في العميل.
  4. تداخل من إضافة أمان أو مصادقة تابعة لجهة خارجية.
  5. قواعد وصول خاصة بـ Pro أو بمتجر محدّد، أو شيفرة مخصّصة.

فشل الأذونات مقابل فشل الرمز​

قد تعرض واجهة نقطة البيع الأمامية خطأ تحديث الرمز نفسه لكلتا الحالتين بعد أن تتلقّى 401 أو 403، وتحاول تحديث الرمز، ويظل إعادة المحاولة غير مصرّح بها. يبدو نمطا الفشل مختلفين على جانب الخادم:

عادةً ما يبدو فشل الدور/الصلاحية الحقيقي هكذا:

status: 403
current_user: <actual user id>
access token expired: false

وعادةً ما يبدو فشل الرمز/المصادقة هكذا:

status: 403
current_user: 0
access token expired: true or invalid

استخدم هذا التمييز عند فرز مشكلات الوصول إلى نقطة البيع — فقيمة current_user غير الصفرية تشير إلى الصلاحيات، بينما current_user: 0 تشير إلى طبقة المصادقة/الرمز.