API del panel de Plur-e
Lee los usuarios móviles, dispositivos, ubicaciones registradas, actividad, roles y módulos licenciados de Plur-e con la API pública — las ocho rutas de solo lectura, sus scopes, paginación y campos.
Respuesta rápida
La API del panel es de solo lectura y devuelve datos del tenant dueño de la clave: usuarios
móviles, sus dispositivos, ubicaciones registradas y actividad, roles y módulos móviles
licenciados. Ocho rutas GET bajo /panel necesitan panel:read; las ubicaciones registradas
necesitan además panel:locations:read porque son datos personales. Las listas se paginan con
take y cursor. La actividad reportada por la app móvil (inicios de sesión y llamadas a
Business Central) se conserva 90 días.
URL base: https://api.plur-e.com/api/public/v1. El tenant siempre sale de la clave; un usuario o rol
de otro tenant responde 404. Nunca se devuelven contraseñas ni tokens secretos.
Rutas
| Ruta | Scope | Devuelve |
|---|---|---|
GET /panel/mobile-users | panel:read | Una página de usuarios móviles |
GET /panel/mobile-users/{mobileUserId} | panel:read | Un usuario móvil con entornos, compañías, módulos y permisos |
GET /panel/mobile-users/{mobileUserId}/devices | panel:read | Los dispositivos del usuario |
GET /panel/mobile-users/{mobileUserId}/locations | panel:locations:read | Una página de ubicaciones registradas |
GET /panel/mobile-users/{mobileUserId}/activity | panel:read | Una página de actividad reportada por la app móvil |
GET /panel/roles | panel:read | Una página de roles |
GET /panel/roles/{roleId} | panel:read | Un rol con sus entornos, compañías, módulos y permisos |
GET /panel/modules | panel:read | Los módulos móviles licenciados con sus procesos y permisos |
curl -s "https://api.plur-e.com/api/public/v1/panel/mobile-users?take=50&active=true" \
-H "Authorization: Bearer <YOUR_API_KEY>"Paginación
Las listas responden una página:
{ "items": [ ], "nextCursor": "…", "totalCount": 120 }takeva de 1 a 200 (por defecto 50). Otro valor responde400, errorplure_1325.cursores elnextCursoropaco de la página anterior. Pásalo sin cambios; uno ilegible responde400, errorplure_1324.nextCursorviene vacío en la última página.totalCountsolo se calcula en la primera página.
Usuarios móviles
GET /panel/mobile-users acepta active (true o false), roleId y search (texto contenido en
el nombre, login o email), además de take y cursor. Los usuarios van de más nuevo a más antiguo.
| Campo | Significado |
|---|---|
id, name, login, email | Identidad del usuario |
active | Si el usuario puede iniciar sesión |
roleId, roleName | El rol del usuario |
createdAt, modifiedAt | Fechas (UTC) |
lastActivityAt | Última actividad reportada por la app móvil |
deviceCount | Número de dispositivos registrados |
El detalle añade subscriptions (subscriptionId, productId, productName), environments y
devices. Cada entorno tiene environmentId, description, status, sus companies (companyId,
companyName, isDefault, active y, por módulo, moduleId, moduleType, erpUserId,
salesPerson, salesLocation) y sus modules, cada uno con processes y sus permissions
(permissionId, description, allow).
GET …/devices devuelve una lista con id, deviceId, deviceName, active, createdAt y
modifiedAt.
Ubicaciones
GET /panel/mobile-users/{mobileUserId}/locations necesita panel:locations:read además del
usuario. Sin él la llamada responde 403, error plure_1321.
| Parámetro de consulta | Significado |
|---|---|
from, to | Fechas ISO en UTC. Por defecto, los últimos 30 días. from debe ser anterior a to y el rango de 366 días como máximo, o la llamada responde 400, error plure_1328 |
take, cursor | Paginación, de más reciente a más antigua |
Cada ubicación tiene id, documentType, documentNo, moduleType, createdAt, latitude,
longitude, addressLines, city, state, postalCode y countryCode.
Actividad
La actividad es reportada por la app móvil: cada inicio de sesión y cada llamada que la app hace a Business Central se registra con su resultado, y las filas se conservan 90 días.
| Parámetro de consulta | Significado |
|---|---|
kind | login o processMethod. Cualquier otro valor responde 400 con el código invalid_kind |
from, to | Fechas ISO en UTC; mismas reglas que las ubicaciones. Sin ellas se devuelve toda la actividad conservada |
take, cursor | Paginación, de más reciente a más antigua |
Cada fila tiene id, kind (login o processMethod), processMethod (el método de Business
Central, solo para processMethod), environmentId, companyId, deviceId, succeeded,
durationMs y createdAt. Un intento fallido se registra con succeeded en false.
Roles y módulos
GET /panel/roles devuelve id, name, active, userCount, createdAt y modifiedAt, ordenados
por nombre y paginados como las demás listas. GET /panel/roles/{roleId} añade subscriptions y
environments con la misma estructura que el detalle del usuario.
GET /panel/modules devuelve los módulos móviles licenciados al tenant: moduleId, description,
moduleType y los processes del catálogo con sus permissions.
Un usuario desconocido responde 404, error plure_1326; un rol desconocido, plure_1327.
API de Dynamics 365 CRM
Lee y escribe en Dynamics 365 CRM (Dataverse) con la API pública de Plur-e — las 13 operaciones con ejemplos curl, el select obligatorio, la paginación por cursor y cómo se acotan borrados y acciones.
Errores
El formato de error de la API pública de Plur-e — application/problem+json, cada código con su estado HTTP y significado, y los errores de catálogo plure_1320 a plure_1328 que encuentran las integraciones.