POS 액세스
WCPOS 기능에 대한 액세스를 제어하려면 WordPress 권한 및 사용자 역할을 사용할 수 있습니다. 사용자에게 특정 역할을 할당하고 권한을 구성하여 다양한 POS 사용자의 액세스 수준을 맞춤 설정할 수 있습니다. WCPOS 플러그인은 기존 WordPress 역할과 통합되며 계산원을 위한 특정 역할을 추가합니다.
다음 표에서는 POS의 주요 사용자 역할과 각 권한을 설명합니다:
| 역할 | 생성 주체 | 설명 |
|---|---|---|
| 관리자 | WordPress | 기본적으로 모든 권한이 활성화된 사이트 소유자입니다. |
| 상점 관리자 | WooCommerce | POS에 액세스하고 POS 설정을 관리해야 하는 사용자를 위한 역할입니다. 상점 관리자에게는 플러그인 설치 또는 기타 관리 작업을 수행할 권한이 없을 수 있습니다. |
| 계산원 | WCPOS | 이 역할은 WCPOS 플러그인에서 추가하며 주로 POS를 사용할 사용자를 위한 역할입니다. 계산원은 계산대를 운영할 수 있고, 기본적으로 상품 및 고객을 생성하고 편집할 수 있습니다. 하지만 POS 설정 변경, 플러그인 설치 또는 블로그 게시물 작성 등을 위한 WP Admin에는 액세스할 수 없습니다. 권한별로 이러한 설정을 더 제한하거나 완화할 수 있습니다(아래 참조). |
v1.10부터 계산원 역할에는 별도의 관리자 없이도 가격을 수정하거나 상품을 추가할 수 있도록 상품 생성 및 편집 권한이 기본으로 부여됩니다. 상품 삭제는 선택 사항으로 유지되며 기본적으로 부여되지 않습니다. 모든 상품 및 쿠폰 쓰기 작업은 서버에서 사용자의 실제 WordPress 권한에 대해 계속 확인됩니다. 서버에서 거부한 쓰기 작업은 기기에서 되돌려지며 계산원에게 사유가 표시됩니다. 액세스 화면에서 이러한 권한을 조정하세요.
사용자 역할과 권한을 할당하고 관리하려면 **WP Admin > POS > Access**으로 이동합니다. 여기에서 권한 토글은 각 권한의 영향을 쉽게 확인할 수 있도록 작업별(상품, 주문, 고객 등)로 그룹화되어 있습니다.
POS 설정 관리 토글(manage_woocommerce_pos)은 WP Admin > POS 아래의 설정 페이지와 해당 페이지의 설정 API를 제어합니다. POS 창 내부의 설정 화면은 별개입니다. 이 화면에는 프린터, 바코드 스캐너, 테마, 표시 옵션 등 기기별 환경설정이 저장되며, 해당 기기에만 저장되고 POS를 열 수 있는 모든 사용자가 이용할 수 있습니다. POS 설정 관리를 해제해도 이 화면은 숨겨지지 않으며, 계산원이 여기에서 변경한 내용은 서버에 반영되지 않습니다.
모든 계정은 주문의 고객이 될 수 있으므로 POS 고객 목록에는 직원을 포함한 모든 WordPress 사용자가 표시됩니다. 수정 권한은 조회 권한보다 더 제한적입니다. 고객 관리 토글의 설정과 관계없이 관리자가 아닌 POS 사용자는 직원 권한을 가진 계정을 수정하거나 삭제할 수 없습니다. 직원에는 관리자, 상점 관리자, 다른 계산원 및 편집자, 작성자, 기여자처럼 wp-admin에서 작성자 권한을 가진 모든 사용자가 포함됩니다(manage_options, manage_woocommerce, edit_users, edit_posts 권한). POS에서 직원 계정을 변경할 수 있는 사용자는 관리자뿐입니다.
다음 표는 WCPOS 플러그인과 연결된 WordPress 권한을 요약합니다.
| 권한 | 설명 | 사용 예시 |
|---|---|---|
access_woocommerce_pos | WCPOS 인터페이스에 접근할 수 있습니다. | 이 옵션을 활성화하면 계산원에게 POS에 접근하여 사용할 권한이 부여되어 판매 시점 거래를 수행할 수 있습니다. |
manage_woocommerce_pos | WCPOS 설정 및 구성을 관리할 수 있습니다. | 이 옵션을 활성화하면 계산원이 결제 방법이나 영수증 템플릿 등 POS 관련 설정을 수정할 수 있습니다. |
create_users | 계산원이 새 WordPress 사용자 계정을 만들 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 새 고객 계정을 만들 수 없습니다. |
edit_others_shop_orders | 다른 계산원이 생성한 상점 주문을 편집할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 다른 계산원이 생성한 상점 주문을 수정할 수 없습니다. |
edit_product | 계산원이 상품 세부 정보를 편집할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 판매 가능한 상품의 세부 정보를 수정할 수 없습니다. |
edit_published_products | 계산원이 공개된 상품을 편집할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 이미 공개된 상품을 변경할 수 없습니다. |
edit_shop_orders | 계산원이 상점 주문을 편집할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 주문 상태나 고객 정보 등 상점 주문의 세부 정보를 수정할 수 없습니다. |
edit_users | 계산원이 기존 사용자 계정을 편집할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 청구지 주소 등 고객 계정의 세부 정보를 수정할 수 없습니다. |
list_users | 계산원이 사용자 계정 목록을 볼 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 고객을 검색하거나 선택할 수 없습니다. |
manage_product_terms | 계산원이 상품 카테고리와 태그를 관리할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 상품 카테고리나 태그를 생성, 편집 또는 삭제할 수 없습니다. |
publish_shop_orders | 계산원이 상점 주문을 게시할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 새 상점 주문을 확정하고 처리할 수 없습니다. |
read_private_products | 계산원이 비공개 상품의 세부 정보에 접근할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 판매 가능한 비공개 상품의 세부 정보를 볼 수 없습니다. |
read_private_shop_coupons | 계산원이 비공개 상점 쿠폰의 세부 정보에 접근할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 비공개 상점 쿠폰의 세부 정보를 볼 수 없습니다. |
read_private_shop_orders | 계산원이 비공개 상점 주문의 세부 정보에 접근할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 POS에서 비공개 상점 주문의 세부 정보를 볼 수 없습니다. |
read | WordPress 관리자에 접근할 수 있습니다. | 이 옵션을 비활성화하면 계산원이 WordPress 대시보드와 사용자 프로필 페이지에 접근할 수 없습니다. |
각 역할에 적절한 권한을 할당하면 POS에서 사용자별 접근 및 권한을 세부적으로 조정할 수 있습니다. 이를 통해 특정 작업 수행, 민감한 정보 보기, 매장 변경 권한을 제어할 수 있습니다.
WordPress에서 사용자 역할과 권한을 관리하는 방법에 관한 자세한 내용은 WordPress Codex를 참조하세요.
기본 역할별 기능 한눈에 보기
기본 권한이 적용된 상태에서 세 역할은 POS에서 다음과 같이 동작합니다:
- 관리자 — POS 및 관리 기능에 대한 모든 접근 권한.
- 상점 관리자 — 플러그인 설치 권한이 필요한 작업(POS 확장 프로그램 설치 또는 활성화 등)을 제외한 POS 및 관리 기능에 대한 모든 접근 권한.
- 계산원 — 일반적인 POS 판매 워크플로(상품 탐색, 주문 접수, 결제 처리, 영수증 인쇄, 고객 관리)와 기본적으로 상품 생성 및 편집 권한(삭제 권한은 선택 사항)을 제공하지만, 설정, 로그 또는 매장 관리에는 접근할 수 없습니다.
Pro 플러그인 엔드포인트, 토큰 만료 동작, 권한 실패와 토큰 실패를 구분하는 팁을 포함한 엔드포인트별 전체 분석은 역할 엔드포인트 접근 참조를 확인하세요.
둘 이상의 역할을 가진 사용자
WordPress에서는 하나의 계정에 여러 역할을 부여할 수 있지만, Members와 같은 플러그인이 역할 체크박스를 추가한 경우에만 프로필 화면에 표시됩니다. WordPress는 계정에 부여된 모든 역할의 권한을 병합하므로, 두 번째 역할만으로는 일반적으로 권한이 제거되지 않습니다. 역할 편집 플러그인은 다르게 동작합니다. Members에서는 거부된 권한은 항상 부여된 권한보다 우선해야 합니다가 활성화되어 있으므로, 계정의 어느 역할에서든 권한이 거부로 표시되면 역할의 순서와 관계없이 다른 모든 역할에서 부여한 권한보다 우선합니다. 관리자이면서 고객인 사용자는 고객 역할에 설정된 모든 거부 권한을 상속합니다.
표시되는 내용은 WCPOS 버전에 따라 다릅니다. 현재 WCPOS 버전에서는 POS 로그인을 거부하고 누락된 항목을 표시합니다:
예를 들어, 위의 거부 권한이 설정된 관리자 겸 고객 계정에는 다음과 같이 표시됩니다:
이 계정은 POS를 사용할 수 없습니다. 누락된 권한: publish_shop_orders, read_private_products, read_private_shop_orders, list_users. 이 계정에는 고객, 관리자 역할이 있습니다. 한 역할에서 거부된 권한은 다른 역할에서 부여된 권한을 재정의할 수 있으며, Members와 같은 역할 편집기 플러그인은 해당 거부를 먼저 적용합니다. 추가 역할을 제거하거나 역할 편집기에서 거부를 해제하세요.
이전 버전에서는 로그인 시 access_woocommerce_pos 권한만 확인했습니다. 거부 설정은 이 권한에 영향을 주지 않으므로 계정은 로그인되지만, 이후 모든 화면이 실패했습니다. 즉, 상품이나 고객을 볼 수 없고 주문도 저장되지 않았습니다. 해당 버전에서는 영향을 받는 기기의 매장 상태 → 로그에 있는 POS 로그가 서버 코드와 함께 거부된 각 요청을 기록합니다. 상품에서 발생하는 woocommerce_rest_cannot_view 오류는 read_private_products 권한이 없음을 의미하고, 고객에서 발생하는 동일한 오류는 list_users 권한이 없음을 의미합니다. 주문에서 발생하는 woocommerce_rest_cannot_create 오류는 publish_shop_orders 권한이 없음을 의미합니다. 항목은 AUTH201로 보고됩니다.
사이트 관리자용: 계정에서 추가 역할을 제거하거나(사용자 → 모든 사용자에서 계정 편집), 역할 편집기에서 해당 역할을 열어 나열된 권한의 거부 표시를 해제하세요. WP Admin의 접근 화면에는 부여된 권한만 표시되며, 역할 편집기에서 설정한 거부는 표시되지 않습니다. 역할을 수정한 후 기존 POS 세션이 있는 사용자는 로그아웃한 뒤 다시 로그인해야 합니다. 로그인 시 거부된 사용자는 다시 로그인하면 됩니다.