रोल एंडपॉइंट एक्सेस
यह पृष्ठ दस्तावेज़ करता है कि POS वर्कफ़्लो में उपयोग किए जाने वाले तीन डिफ़ॉल्ट रोल में से प्रत्येक के लिए कौन से WCPOS REST एंडपॉइंट सुलभ हैं:
administratorshop_managercashier
उपयोगकर्ता-सामना करने वाले रोल और क्षमता कॉन्फ़िगरेशन के लिए, POS तक पहुँचना देखें।
सारांश
डिफ़ॉल्ट एक्सेस मॉडल है:
administrator— पूर्ण POS और प्रबंधन एक्सेस।shop_manager— पूर्ण POS और प्रबंधन एक्सेस, उन प्लगइन-एक्सटेंशन क्रियाओं को छोड़कर जिनके लिए प्लगइन-इंस्टॉल क्षमताओं की आवश्यकता होती है।cashier— सामान्य POS बिक्री वर्कफ़्लो एक्सेस, लेकिन कोई प्रबंधन, सेटिंग्स, लॉग, या स्टोर-एडमिन एक्सेस नहीं।
एंडपॉइंट मैट्रिक्स को एकीकरण परीक्षणों द्वारा सत्यापित किया जाता है जो POS ऐप के समान प्रमाणीकरण पथ का उपयोग करते हैं (WCPOS bearer एक्सेस टोकन, केवल wp_set_current_user() नहीं)। अनुमत-एंडपॉइंट दावे पुष्टि करते हैं कि एक रोल 401 या 403 प्राप्त नहीं करता है। कुछ एंडपॉइंट अभी भी सामान्य डेटा या व्यावसायिक त्रुटियाँ जैसे 400 या 404 लौटा सकते हैं जब परीक्षण न्यूनतम फ़िक्स्चर का उपयोग करता है — वे प्रतिक्रियाएँ फिर भी साबित करती हैं कि उपयोगकर्ता ने ऑथ/अनुमति परत पारित की।
मुफ़्त प्लगइन एंडपॉइंट एक्सेस मैट्रिक्स
| क्षेत्र | एंडपॉइंट उदाहरण | Admin | Shop Manager | Cashier | नोट्स |
|---|---|---|---|---|---|
| सेटिंग्स इंडेक्स | GET /wcpos/v1/settings | ✅ | ✅ | ✅ | सार्वजनिक/पठनीय POS सेटिंग्स इंडेक्स |
| स्टोर | GET /wcpos/v1/stores | ✅ | ✅ | ✅ | POS बूट डेटा |
| कैशियर प्रोफ़ाइल | 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 | ✅ | ✅ | ✅ | POS कूपन लुकअप |
| ऑर्डर पढ़ना | GET /wcpos/v1/orders | ✅ | ✅ | ✅ | POS ऑर्डर इतिहास |
| ऑर्डर बनाना | POST /wcpos/v1/orders | ✅ | ✅ | ✅ | बिक्री वर्कफ़्लो |
| ऑर्डर अपडेट | PATCH /wcpos/v1/orders/{id} | ✅ | ✅ | ✅ | POS ऑर्डर पूरा करना/अपडेट करना |
| चेकआउट पढ़ना/बनाना | /wcpos/v1/orders/{id}/checkout | ✅ | ✅ | ✅ | भुगतान प्रवाह |
| रसीदें | GET /wcpos/v1/receipts/{order_id} | ✅ | ✅ | ✅ | रसीद रेंडरिंग |
| ऑर्डर स्थितियाँ | GET /wcpos/v1/data/order_statuses | ✅ | ✅ | ✅ | POS स्थिति डेटा |
| ग्राहक पढ़ना | GET /wcpos/v1/customers | ✅ | ✅ | ✅ | ग्राहक खोज/सूची |
| ग्राहक बनाना | POST /wcpos/v1/customers | ✅ | ✅ | ✅ | POS में ग्राहक बनाना |
| ग्राहक अपडेट | PATCH /wcpos/v1/customers/{id} | ✅ | ✅ | ✅ | POS में ग्राहक संपादित करना |
| कर | 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 | ✅ | ✅ | ❌ | केवल-प्रबंधन |
| कर ID सेटिंग्स | GET /wcpos/v1/settings/tax_ids | ✅ | ✅ | ❌ | केवल-प्रबंधन |
| भुगतान गेटवे सेटिंग्स | GET /wcpos/v1/settings/payment-gateways | ✅ | ✅ | ❌ | केवल-प्रबंधन |
| एक्सटेंशन कैटलॉग/एडमिन | GET /wcpos/v1/extensions | ✅ | ✅ | ❌ | केवल-प्रबंधन |
| लॉग | GET /wcpos/v1/logs | ✅ | ✅ | ❌ | केवल-प्रबंधन |
Pro प्लगइन एंडपॉइंट एक्सेस मैट्रिक्स
| क्षेत्र | एंडपॉइंट उदाहरण | Admin | Shop Manager | Cashier | नोट्स |
|---|---|---|---|---|---|
| स्टोर संपादन डेटा | 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 | ✅ | ✅ | ✅ | POS संचालन के रूप में माना जाता है |
टोकन समाप्ति कवरेज
| परिदृश्य | Admin | Shop Manager | Cashier | अपेक्षित परिणाम |
|---|---|---|---|---|
| मान्य एक्सेस टोकन | ✅ परीक्षित | ✅ परीक्षित | ✅ परीक्षित | अनुमत एंडपॉइंट 401 या 403 नहीं लौटाते |
| समाप्त एक्सेस टोकन | ✅ परीक्षित | ✅ परीक्षित | ✅ परीक्षित | अनुरोध WCPOS ऑथ गेट पर उपयोगकर्ता 0 के साथ विफल हो जाता है |
| समाप्त एक्सेस के बाद मान्य रिफ़्रेश टोकन | ✅ परीक्षित | ✅ परीक्षित | ✅ परीक्षित | नया एक्सेस टोकन जारी किया जाता है और एक्सेस बहाल हो जाता है |
| समाप्त रिफ़्रेश टोकन | ✅ परीक्षित | ✅ परीक्षित | ✅ परीक्षित | नया एक्सेस टोकन नहीं बनाया जा सकता |
विफलताओं का निदान
यदि कोई डिफ़ॉल्ट shop_manager इस तरह की त्रुटि देखता है:
Request still unauthorized after token refresh - please log in again
एंडपॉइंट मैट्रिक्स इंगित करता है कि यह इसलिए नहीं है क्योंकि डिफ़ॉल्ट shop_manager रोल में मूल रूप से POS एक्सेस की कमी है। जाँच करने योग्य संभावित कारण:
- साइट-विशिष्ट रोल/क्षमता भ्रष्टाचार।
- मैट्रिक्स द्वारा कवर न किया गया एक एंडपॉइंट।
- क्लाइंट में पुराना या समाप्त एक्सेस टोकन पुनः प्रयास व्यवहार।
- तृतीय-पक्ष सुरक्षा या प्रमाणीकरण प्लगइन हस्तक्षेप।
- Pro या स्टोर-विशिष्ट एक्सेस नियम, या कस्टम कोड।
अनुमति विफलता बनाम टोकन विफलता
POS फ़्रंटएंड दोनों मामलों के लिए समान टोकन-रिफ़्रेश त्रुटि प्रदर्शित कर सकता है, इसके बाद कि यह 401 या 403 प्राप्त करता है, एक टोकन रिफ़्रेश का प्रयास करता है, और पुनः प्रयास अभी भी अनधिकृत है। दो विफलता मोड सर्वर साइड पर भिन्न दिखते हैं:
एक वास्तविक रोल/क्षमता विफलता आमतौर पर इस तरह दिखती है:
status: 403
current_user: <actual user id>
access token expired: false
एक टोकन/ऑथ विफलता आमतौर पर इस तरह दिखती है:
status: 403
current_user: 0
access token expired: true or invalid
POS एक्सेस समस्याओं की छँटाई करते समय इस अंतर का उपयोग करें — एक गैर-शून्य current_user क्षमताओं की ओर इशारा करता है, जबकि current_user: 0 ऑथ/टोकन परत की ओर इशारा करता है।