Ir al contenido principal
Versión: 1.x

Acceso a Endpoints por Rol

Esta página documenta qué endpoints REST de WCPOS son accesibles para cada uno de los tres roles predeterminados utilizados en los flujos de trabajo del POS:

  • administrator
  • shop_manager
  • cashier

Para la configuración de roles y capacidades orientada al usuario, consulta Acceso al POS.

Resumen

El modelo de acceso predeterminado es:

  • administrator — acceso completo al POS y a la gestión.
  • shop_manager — acceso completo al POS y a la gestión, excepto las acciones de extensión de plugins que requieren capacidades de instalación de plugins.
  • cashier — acceso normal al flujo de trabajo de venta del POS, pero sin acceso a la gestión, los ajustes, los registros ni la administración de la tienda.

La matriz de endpoints es verificada por pruebas de integración que ejercitan la misma ruta de autenticación que la aplicación POS (tokens de acceso de portador de WCPOS, no solo wp_set_current_user()). Las afirmaciones de endpoints permitidos confirman que un rol no recibe 401 o 403. Algunos endpoints aún pueden devolver datos normales o errores de negocio como 400 o 404 cuando la prueba utiliza fixtures mínimas — esas respuestas aún prueban que el usuario superó la capa de autenticación/permisos.

Matriz de Acceso a Endpoints del Plugin Gratuito

ÁreaEjemplos de endpointAdminShop ManagerCashierNotas
Índice de ajustesGET /wcpos/v1/settingsÍndice de ajustes del POS público/legible
TiendasGET /wcpos/v1/storesDatos de inicio del POS
Perfil de cajeroGET /wcpos/v1/cashier/{id}Datos propios del cajero
Tiendas del cajeroGET /wcpos/v1/cashier/{id}/storesAcceso a tiendas para el cajero actual
ProductosGET /wcpos/v1/productsNavegación del catálogo
VariacionesGET /wcpos/v1/products/variationsNavegación del catálogo
CategoríasGET /wcpos/v1/products/categoriesFiltros del catálogo
EtiquetasGET /wcpos/v1/products/tagsFiltros del catálogo
MarcasGET /wcpos/v1/products/brandsFiltros del catálogo
CuponesGET /wcpos/v1/couponsBúsqueda de cupones del POS
Lectura de pedidosGET /wcpos/v1/ordersHistorial de pedidos del POS
Creación de pedidosPOST /wcpos/v1/ordersFlujo de trabajo de venta
Actualización de pedidosPATCH /wcpos/v1/orders/{id}Completar/actualizar pedidos del POS
Lectura/creación de pago/wcpos/v1/orders/{id}/checkoutFlujo de pago
RecibosGET /wcpos/v1/receipts/{order_id}Renderizado de recibos
Estados de pedidoGET /wcpos/v1/data/order_statusesDatos de estado del POS
Lectura de clientesGET /wcpos/v1/customersBúsqueda/lista de clientes
Creación de clientesPOST /wcpos/v1/customersCrear cliente en el POS
Actualización de clientesPATCH /wcpos/v1/customers/{id}Editar cliente en el POS
ImpuestosGET /wcpos/v1/taxesDatos de cálculo de pago/impuestos
Clases de impuestosGET /wcpos/v1/taxes/classesDatos de cálculo de pago/impuestos
Métodos de envíoGET /wcpos/v1/shipping_methodsDatos de pago/envío
Pasarelas de pagoGET /wcpos/v1/payment-gatewaysOpciones de pago
Bootstrap de pasarelaPOST /wcpos/v1/payment-gateways/{id}/bootstrapConfiguración de pago
PlantillasGET /wcpos/v1/templatesLecturas de recibo/plantilla
Plantilla activaGET /wcpos/v1/templates/activeLecturas de recibo/plantilla
Galería de plantillasGET /wcpos/v1/templates/galleryLecturas de plantillas
Ajustes generalesGET /wcpos/v1/settings/generalSolo gestión
Ajustes de pagoGET /wcpos/v1/settings/checkoutSolo gestión
Ajustes de ID fiscalGET /wcpos/v1/settings/tax_idsSolo gestión
Ajustes de pasarela de pagoGET /wcpos/v1/settings/payment-gatewaysSolo gestión
Catálogo/administración de extensionesGET /wcpos/v1/extensionsSolo gestión
RegistrosGET /wcpos/v1/logsSolo gestión

Matriz de Acceso a Endpoints del Plugin Pro

ÁreaEjemplos de endpointAdminShop ManagerCashierNotas
Datos de edición de tiendaGET /wcpos/v1/stores/{id}/editGestión de tienda
Creación de tiendaPOST /wcpos/v1/storesGestión de tienda
Actualización de tiendaPATCH /wcpos/v1/stores/{id}Gestión de tienda
Actualización de ajustes de licenciaPOST /wcpos/v1/settings/licenseGestión Pro
Acciones de extensiónPOST /wcpos/v1/extensions/actionRequiere capacidad de instalar/gestionar plugins
Reembolsos de pedidosPOST /wcpos/v1/orders/{id}/refundsTratado como operación del POS

Cobertura de Expiración de Tokens

EscenarioAdminShop ManagerCashierResultado esperado
Token de acceso válido✅ probado✅ probado✅ probadoLos endpoints permitidos no devuelven 401 o 403
Token de acceso expirado✅ probado✅ probado✅ probadoLa solicitud falla en la puerta de autenticación de WCPOS con usuario 0
Token de actualización válido tras acceso expirado✅ probado✅ probado✅ probadoSe emite un nuevo token de acceso y se restaura el acceso
Token de actualización expirado✅ probado✅ probado✅ probadoNo se puede generar un nuevo token de acceso

Diagnóstico de Fallos

Si un shop_manager predeterminado ve un error como:

Request still unauthorized after token refresh - please log in again

La matriz de endpoints indica que esto no se debe a que el rol shop_manager predeterminado carezca fundamentalmente de acceso al POS. Causas probables a investigar:

  1. Corrupción de roles/capacidades específica del sitio.
  2. Un endpoint no cubierto por la matriz.
  3. Comportamiento de reintento con token de acceso obsoleto o expirado en el cliente.
  4. Interferencia de un plugin de seguridad o autenticación de terceros.
  5. Reglas de acceso Pro o específicas de la tienda, o código personalizado.

Fallo de permiso vs. fallo de token

El frontend del POS puede mostrar el mismo error de actualización de token en ambos casos después de recibir un 401 o 403, intentar una actualización de token y que el reintento siga sin estar autorizado. Los dos modos de fallo se ven diferentes en el lado del servidor:

Un fallo real de rol/capacidad generalmente se ve así:

status: 403
current_user: <actual user id>
access token expired: false

Un fallo de token/autenticación generalmente se ve así:

status: 403
current_user: 0
access token expired: true or invalid

Usa esta distinción al clasificar problemas de acceso al POS — un current_user distinto de cero apunta a las capacidades, mientras que current_user: 0 apunta a la capa de autenticación/token.