メインコンテンツにスキップ
バージョン: 1.x

ロール別エンドポイントアクセス

このページでは、POS ワークフローで使用される 3 つのデフォルトロールそれぞれがアクセスできる WCPOS REST エンドポイントを文書化します:

  • administrator
  • shop_manager
  • cashier

ユーザー向けのロールおよび権限の設定については、POS へのアクセスを参照してください。

概要

デフォルトのアクセスモデルは次のとおりです:

  • administrator — POS と管理機能へのフルアクセス。
  • shop_manager — プラグインインストール権限を必要とするプラグイン拡張アクションを除き、POS と管理機能へのフルアクセス。
  • cashier — 通常の POS 販売ワークフローへのアクセス。ただし、管理、設定、ログ、ストア管理へのアクセスはなし。

エンドポイントマトリックスは、POS アプリと同じ認証パス(wp_set_current_user() だけでなく WCPOS のベアラーアクセストークン)を使用する統合テストによって検証されています。許可されたエンドポイントのアサーションは、ロールが 401 または 403 を受け取らないことを確認します。テストが最小限のフィクスチャを使用する場合、一部のエンドポイントは通常のデータや 400404 などのビジネスエラーを返すことがあります — それらのレスポンスでも、ユーザーが認証/権限レイヤーを通過したことは証明されます。

無料プラグインのエンドポイントアクセスマトリックス

領域エンドポイント例AdminShop ManagerCashier備考
設定インデックスGET /wcpos/v1/settings公開/読み取り可能な POS 設定インデックス
ストアGET /wcpos/v1/storesPOS ブートデータ
キャッシャープロフィール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/couponsPOS クーポン検索
注文の読み取りGET /wcpos/v1/ordersPOS 注文履歴
注文の作成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_statusesPOS ステータスデータ
顧客の読み取りGET /wcpos/v1/customers顧客の検索/一覧
顧客の作成POST /wcpos/v1/customersPOS での顧客作成
顧客の更新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 プラグインのエンドポイントアクセスマトリックス

領域エンドポイント例AdminShop ManagerCashier備考
ストア編集データGET /wcpos/v1/stores/{id}/editストア管理
ストアの作成POST /wcpos/v1/storesストア管理
ストアの更新PATCH /wcpos/v1/stores/{id}ストア管理
ライセンス設定の更新POST /wcpos/v1/settings/licensePro 管理
拡張機能アクションPOST /wcpos/v1/extensions/actionプラグインのインストール/管理権限が必要
注文返金POST /wcpos/v1/orders/{id}/refundsPOS 操作として扱われる

トークン有効期限のカバレッジ

シナリオAdminShop ManagerCashier期待される結果
有効なアクセストークン✅ テスト済み✅ テスト済み✅ テスト済み許可されたエンドポイントは 401 または 403 を返さない
期限切れのアクセストークン✅ テスト済み✅ テスト済み✅ テスト済みリクエストは WCPOS 認証ゲートでユーザー 0 として失敗する
期限切れアクセス後の有効なリフレッシュトークン✅ テスト済み✅ テスト済み✅ テスト済み新しいアクセストークンが発行され、アクセスが復元される
期限切れのリフレッシュトークン✅ テスト済み✅ テスト済み✅ テスト済み新しいアクセストークンを発行できない

失敗の診断

デフォルトの shop_manager が次のようなエラーを見る場合:

Request still unauthorized after token refresh - please log in again

エンドポイントマトリックスは、これがデフォルトの shop_manager ロールが根本的に POS アクセスを欠いているためではないことを示しています。調査すべき考えられる原因:

  1. サイト固有のロール/権限の破損。
  2. マトリックスでカバーされていないエンドポイント。
  3. クライアントでの古いまたは期限切れのアクセストークンの再試行動作。
  4. サードパーティのセキュリティまたは認証プラグインの干渉。
  5. Pro またはストア固有のアクセスルール、あるいはカスタムコード。

権限の失敗とトークンの失敗

POS フロントエンドは、401 または 403 を受け取り、トークンの更新を試みても再試行がまだ認可されていない場合、両方のケースで同じトークン更新エラーを表示することがあります。これら 2 つの失敗モードは、サーバー側では異なって見えます:

実際のロール/権限の失敗は通常、次のようになります:

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 は認証/トークンレイヤーを指します。