Toegang tot de POS
Om de toegang tot de WCPOS-functionaliteit te beheren, kun je gebruikmaken van WordPress-capabilities en gebruikersrollen. Door specifieke rollen toe te wijzen aan gebruikers en hun capabilities te configureren, kun je de toegangsniveaus voor verschillende POS-gebruikers afstemmen. De WCPOS-plug-in integreert met de bestaande WordPress-rollen en introduceert een specifieke rol voor kassiers.
De volgende tabel geeft de belangrijkste gebruikersrollen in de POS en hun respectieve capabilities weer:
| Rol | Aangemaakt door | Beschrijving |
|---|---|---|
| Administrator | WordPress | De site-eigenaar die standaard alle capabilities heeft ingeschakeld. |
| Shop Manager | WooCommerce | Deze rol is bedoeld voor gebruikers die toegang tot de POS nodig hebben en de mogelijkheid om POS-instellingen te beheren. Shop Managers hebben mogelijk geen toestemming om plug-ins te installeren of andere beheertaken uit te voeren. |
| Cashier | WCPOS | Deze rol wordt toegevoegd door de WCPOS-plugin en is bedoeld voor gebruikers die voornamelijk de POS gebruiken. Kassamedewerkers kunnen de kassa bedienen en standaard producten en klanten aanmaken en bewerken — maar ze hebben geen toegang tot WP Admin om POS-instellingen te wijzigen, plugins te installeren of blogberichten te maken. Je kunt deze rechten afzonderlijk beperken of uitbreiden (zie hieronder). |
Vanaf v1.10 heeft de rol Cashier de rechten om producten aan te maken en te bewerken standaard. Zo kunnen medewerkers een prijs aanpassen of een product toevoegen zonder hulp van een beheerder. Producten verwijderen blijft optioneel en is standaard niet toegestaan. Elke bewerking van producten en coupons wordt op de server nog steeds gecontroleerd aan de hand van de daadwerkelijke WordPress-rechten van de gebruiker. Een bewerking die de server weigert, wordt op het apparaat ongedaan gemaakt en de kassamedewerker krijgt de reden te zien. Pas deze rechten aan op het scherm Toegang.
Je kunt gebruikersrollen en rechten toewijzen en beheren via WP Admin > POS > Access. De schakelaars voor rechten zijn daar per taak gegroepeerd (producten, bestellingen, klanten enzovoort), zodat je het effect van elke instelling eenvoudiger kunt zien.
De schakelaar POS-instellingen beheren (manage_woocommerce_pos) bepaalt de toegang tot de instellingenpagina's onder WP Admin > POS en de bijbehorende instellingen-API. Het scherm Instellingen in het POS-venster is iets anders: daar staan apparaatvoorkeuren, zoals de printer, barcodescanner, het thema en de weergaveopties. Deze worden alleen op dat apparaat opgeslagen en zijn beschikbaar voor elke gebruiker die de POS kan openen. Als je POS-instellingen beheren uitschakelt, wordt dit scherm niet verborgen; wijzigingen die een kassamedewerker daar aanbrengt, worden niet naar de server verzonden.
De klantenlijst in de POS toont alle WordPress-gebruikers, ook medewerkers, omdat elk account als klant bij een bestelling kan worden gebruikt. Bewerken is beperkter dan bekijken: een POS-gebruiker die geen beheerder is, kan een account met rechten voor medewerkers niet bewerken of verwijderen, ongeacht de instelling van de schakelaar Klanten beheren. Onder medewerkers vallen beheerders, winkelmanagers, andere kassamedewerkers en iedereen met een auteursaccount in wp-admin, zoals editors, auteurs en bijdragers (met de rechten manage_options, manage_woocommerce, edit_users en edit_posts). Alleen beheerders kunnen medewerkersaccounts vanuit de POS wijzigen.
Taken met gedeeltelijk toegekende rechten
Elke taaks schakelaar op het scherm Toegang staat voor een reeks rechten. Als een rol slechts een deel daarvan heeft, wordt de taak gemarkeerd als gedeeltelijk toegekend. Open Geavanceerd om te zien welke afzonderlijke rechten ontbreken. Als je het vakje aanvinkt, worden de overige rechten uit de reeks toegekend; als je het uitvinkt, wordt de hele reeks verwijderd.
Plugin-updates tot en met 1.10.17 kenden bij elke update opnieuw de standaardrechten toe aan de rollen Administrator, Shop Manager en Cashier. Als een winkel Producten aanmaken en bewerken voor kassamedewerkers had uitgeschakeld, werd deze optie na elke update weer ingeschakeld. Daardoor zagen sommige winkels na een update veranderde kassierrechten. Dit is opgelost in de eerste release na 1.10.17: een update kent alleen rechten toe die nieuw zijn in die release. Een recht dat je hebt verwijderd, blijft dus verwijderd. Als je de plugin deactiveert en opnieuw activeert, worden alle rollen nog steeds teruggezet naar de standaardinstellingen; dat is de beschreven herstelmethode en gebeurt niet bij een update.
De volgende tabel geeft een overzicht van de WordPress-capabilities die bij de WCPOS-plug-in horen:
| Capability | Beschrijving | Voorbeeldgebruik |
|---|---|---|
access_woocommerce_pos | Geeft toegang tot de WCPOS-interface. | Het inschakelen van deze optie zou de kassier toestemming geven om toegang te krijgen tot de POS en deze te gebruiken, waardoor ze point-of-sale-transacties kunnen uitvoeren. |
manage_woocommerce_pos | Maakt het beheer van WCPOS-instellingen en -configuraties mogelijk. | Het inschakelen van deze optie zou de kassier de mogelijkheid geven om instellingen met betrekking tot de POS te wijzigen, zoals betaalmethoden of bonsjablonen. |
create_users | Staat de kassier toe om nieuwe WordPress-gebruikersaccounts aan te maken. | Het uitschakelen van deze optie zou voorkomen dat de kassier nieuwe klantaccounts aanmaakt in de POS. |
edit_others_shop_orders | Maakt het bewerken van winkelbestellingen mogelijk die door andere kassiers zijn aangemaakt. | Het uitschakelen van deze optie zou voorkomen dat een kassier winkelbestellingen wijzigt die door een andere kassier in de POS zijn aangemaakt. |
edit_product | Staat de kassier toe om productgegevens te bewerken. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van producten die in de POS beschikbaar zijn, wijzigt. |
edit_published_products | Staat de kassier toe om gepubliceerde producten te bewerken. | Het uitschakelen van deze optie zou voorkomen dat de kassier wijzigingen aanbrengt in producten die al gepubliceerd zijn in de POS. |
edit_shop_orders | Staat de kassier toe om winkelbestellingen te bewerken. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van winkelbestellingen wijzigt, zoals bestelstatus of klantgegevens, in de POS. |
edit_users | Staat de kassier toe om bestaande gebruikersaccounts te bewerken. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van klantaccounts wijzigt, zoals het factuuradres, in de POS. |
list_users | Staat de kassier toe om een lijst met gebruikersaccounts te bekijken. | Het uitschakelen van deze optie zou voorkomen dat de kassier klanten zoekt of selecteert in de POS. |
manage_product_terms | Staat de kassier toe om productcategorieën en tags te beheren. | Het uitschakelen van deze optie zou voorkomen dat de kassier productcategorieën of tags aanmaakt, bewerkt of verwijdert in de POS. |
publish_shop_orders | Staat de kassier toe om winkelbestellingen te publiceren. | Het uitschakelen van deze optie zou voorkomen dat de kassier nieuwe winkelbestellingen afrondt en verwerkt in de POS. |
read_private_products | Staat de kassier toe om toegang te krijgen tot de gegevens van privéproducten. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van privéproducten die in de POS beschikbaar zijn, bekijkt. |
read_private_shop_coupons | Staat de kassier toe om toegang te krijgen tot de gegevens van privéwinkelcoupons. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van privéwinkelcoupons in de POS bekijkt. |
read_private_shop_orders | Staat de kassier toe om toegang te krijgen tot de gegevens van privéwinkelbestellingen. | Het uitschakelen van deze optie zou voorkomen dat de kassier de gegevens van privéwinkelbestellingen in de POS bekijkt. |
read | Geeft toegang tot de WordPress-beheeromgeving. | Het uitschakelen hiervan voorkomt dat de kassier toegang krijgt tot het WordPress-dashboard en de gebruikersprofielpagina. |
Door de juiste capabilities aan elke rol toe te wijzen, kun je de toegang en permissies voor verschillende gebruikers in de POS verfijnen. Hiermee kun je bepalen wie bepaalde acties kan uitvoeren, gevoelige informatie kan bekijken en wijzigingen aan je winkel kan aanbrengen.
Voor meer gedetailleerde informatie over het beheren van gebruikersrollen en capabilities in WordPress kun je de WordPress Codex raadplegen.
Wat elke standaardrol kan doen, in één oogopslag
Met de standaard capabilities ingesteld gedragen de drie rollen zich als volgt in de POS:
- Administrator — volledige POS- en beheertoegang.
- Shop Manager — volledige POS- en beheertoegang, behalve acties die de mogelijkheid vereisen om plug-ins te installeren (zoals het installeren of activeren van POS-uitbreidingen).
- Cashier — de gebruikelijke POS-verkoopworkflow (producten bekijken, bestellingen aannemen, betalingen verwerken, bonnen afdrukken en klanten beheren), plus standaard producten aanmaken en bewerken (verwijderen is optioneel), maar geen toegang tot instellingen, logboeken of winkelbeheer.
Voor de volledige uitsplitsing per endpoint — inclusief de Pro-plug-in-endpoints, het gedrag bij tokenverloop en tips om capabilityfouten van tokenfouten te onderscheiden — zie de referentie Endpoint-toegang per rol.
Een gebruiker met meerdere rollen
Eén WordPress-account kan meerdere rollen hebben, maar op het profielscherm zie je dit alleen als een plugin zoals Members selectievakjes voor rollen toevoegt. WordPress voegt de rechten van alle rollen van het account samen. Een extra rol neemt dus zelden rechten weg. Plugins voor rolbeheer veranderen dit. In Members is Geweigerde rechten moeten altijd voorgaan op toegekende rechten standaard ingeschakeld. Daardoor gaat een recht dat op een van de accountrollen op Weigeren staat, vóór een toekenning vanuit elke andere rol, ongeacht de volgorde van de rollen. Een Administrator die ook Customer is, erft elk Weigeren dat aan de rol Customer is toegewezen.
Wat je ziet, hangt af van de WCPOS-versie. Huidige versies van WCPOS weigeren de POS-aanmelding en vermelden welke rechten ontbreken:
Een account met bijvoorbeeld de rollen Administrator en Customer waarop bovenstaande weigeringen van toepassing zijn, ziet het volgende:
Dit account kan de POS niet gebruiken. Ontbrekende rechten: publish_shop_orders, read_private_products, read_private_shop_orders, list_users. Het heeft de rollen Customer, Administrator. Een recht dat bij de ene rol is geweigerd, kan een toekenning bij een andere rol overschrijven. Plugins voor rolbeheer zoals Members passen die weigering als eerste toe. Verwijder de extra rol of hef de weigering op in de rolbeheerplugin.
Oudere versies controleerden bij het aanmelden alleen access_woocommerce_pos. Omdat de weigeringen dat recht niet intrekken, kon het account zich aanmelden, waarna elk scherm mislukte: er waren geen producten of klanten en bestellingen konden niet worden opgeslagen. In die versies registreert het POS-logboek onder Winkelstatus → Logboeken op het betreffende apparaat elk geweigerd verzoek met de code van de server. woocommerce_rest_cannot_view bij producten betekent dat read_private_products ontbreekt; bij klanten betekent het dat list_users ontbreekt. woocommerce_rest_cannot_create bij een bestelling betekent dat publish_shop_orders ontbreekt. De meldingen worden gerapporteerd als AUTH201.
Voor de sitebeheerder: verwijder de extra rol uit het account (Gebruikers → Alle gebruikers en bewerk het account), of open die rol in de rolbeheerplugin en hef de markeringen Weigeren op voor de vermelde rechten. Het scherm Toegang in WP Admin toont alleen toekenningen; een Weigeren dat via een rolbeheerplugin is ingesteld, wordt daar niet weergegeven. Nadat de rollen zijn hersteld, meldt een gebruiker met een bestaande POS-sessie zich af en weer aan. Een gebruiker wiens aanmelding is geweigerd, hoeft zich alleen opnieuw aan te melden.