تجاوز إلى المحتوى الرئيسي
الإصدار: 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 تشير إلى طبقة المصادقة/الرمز.