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.
Respuesta rápida
Los errores de la API pública usan application/problem+json con los campos type, title,
status, detail, code, errorCode y traceId. Ramifica tu código por code (estable) y
status; muestra detail a las personas. Los errores de catálogo tienen el código
plure_<número> y llevan el número en errorCode (por ejemplo plure_1321). Un 429 del límite
por clave no tiene cuerpo. Envía el traceId a soporte de Plur-e cuando preguntes por una llamada
fallida.
Formato
{
"type": "https://plur-e.com/docs/developers/errors#plure_1321",
"title": "plure_1321",
"status": 403,
"detail": "This API key does not have the scope 'crm:delete'.",
"code": "plure_1321",
"errorCode": 1321,
"traceId": "0HN7…"
}| Campo | Significado |
|---|---|
type | Una URL que termina con el code |
title | Igual que code |
status | El estado HTTP |
detail | Un mensaje legible en inglés. En fallos inesperados es genérico y nunca filtra detalles internos |
code | Identificador estable; consulta las tablas de abajo |
errorCode | El número de catálogo en los errores plure_<número>, y null en los demás |
traceId | Identifica la petición; útil para soporte |
Códigos
code | HTTP | Cuándo |
|---|---|---|
invalid_api_key | 401 | La clave falta, es desconocida, está revocada o caducada, o su tenant está inactivo. Consulta Autenticación |
plure_<número> | según el número | Un error de catálogo, abajo |
scope_denied | 403 | Los roles de la clave no permiten la entidad o el área |
forbidden, otras denegaciones | 403 | El llamante no tiene permiso para hacerlo |
environment_not_configured | 409 | No hay entorno de Business Central configurado en Developers → AI & MCP → Settings |
crm_not_connected | 409 | El tenant no tiene un CRM conectado |
erp_user_not_mapped | 422 | Una escritura en Business Central necesita un código ERP y no se dio en la llamada, la clave ni los valores por defecto del tenant. Consulta Claves de API |
invalid_method | 404 | El método de Business Central no está en el catálogo |
bc_query_invalid, bc_cursor_invalid | 400 | La consulta de Business Central o su cursor no son válidos |
crm_invalid_query | 400 | La consulta de CRM no es válida, por ejemplo sin select |
invalid_arguments, invalid_parameter, invalid_kind | 400 | Un cuerpo o parámetro no es válido. invalid_parameter nombra el parámetro pero nunca repite su valor |
crm_not_found | 404 | No se encontró la entidad o el registro de CRM |
crm_privilege | 403 | El usuario de aplicación de CRM no tiene el privilegio |
crm_duplicate | 409 | Dataverse encontró un duplicado |
rate_limited, bc_throttled | 429 | Demasiadas peticiones a Plur-e o a Business Central. Reintenta más tarde |
tool_disabled | 503 | Plur-e ha desactivado temporalmente la operación |
plure_timeout | 504 | Business Central o el CRM no respondieron a tiempo |
internal_error | 500 | Un error inesperado; el detail es genérico |
| otros códigos de error del servicio de origen | 502 | Business Central o el CRM respondieron con un error; detail lleva su mensaje |
Un 429 del límite por clave (120 peticiones por minuto) llega sin cuerpo; consulta
Límites de tasa.
Errores de catálogo para integraciones
Son los errores plure_<número> que encuentra una integración al llamar a la API. Los detail van
en inglés.
code | HTTP | detail | Qué hacer |
|---|---|---|---|
plure_1320 | 403 | The tenant has no active Developer APIs subscription. | Pide a tu administrador que licencie el módulo Developer APIs |
plure_1321 | 403 | This API key does not have the scope '…'. | Crea una clave con el scope que falta; consulta Claves de API |
plure_1322 | 403 | Business Central method '…' is not available through the API: deletions are not allowed. | No uses este método; consulta Business Central |
plure_1324 | 400 | The cursor is not valid. | Reinicia la lista sin cursor |
plure_1325 | 400 | take must be between 1 and 200. | Usa un take de 1 a 200 |
plure_1326 | 404 | Mobile user '…' was not found. | Comprueba el id y que pertenece a tu tenant |
plure_1327 | 404 | Role '…' was not found. | Comprueba el id y que pertenece a tu tenant |
plure_1328 | 400 | from must be earlier than to and the range must be at most 366 days. | Acota el rango de fechas |
Errores al gestionar claves
Los administradores los encuentran en el Admin Center al crear o revocar claves. También usan los
números de catálogo plure_1309 a plure_1319 y plure_1323.
| Número | HTTP | Mensaje |
|---|---|---|
| 1309 | 400 | The API key name is required and must be at most 100 characters. |
| 1310 | 400 | An API key must expire in 30, 90, 180 or 365 days. |
| 1311 | 400 | Unknown API scope '…'. |
| 1312 | 400 | Scope '…' requires scope '…'. |
| 1313 | 400 | Choose at least one scope for the API key. |
| 1314 | 400 | API keys with Business Central scopes need at least one Business Central role. |
| 1315 | 400 | API keys with CRM scopes need at least one CRM role, and all of them must belong to the same CRM connection. |
| 1316 | 400 | Role '…' is not available for this API key. |
| 1317 | 409 | This tenant already has 25 active API keys; revoke one before creating another. |
| 1318 | 404 | API key '…' was not found. |
| 1319 | 403 | Only tenant administrators and platform super admins can manage API keys. |
| 1323 | 400 | ERP codes must be at most 50 characters. |
Reintentos
- Reintenta
429,502,503y504con una espera creciente. Un504en una escritura puede haberse completado en Business Central: lee los datos antes de enviarla de nuevo. - No reintentes
400,401,403ni404sin cambiar la petición o la clave. - No reintentes a ciegas una contabilización de Business Central: son irreversibles.
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.
Mapa de documentos de Business Central
Qué documento, diario o movimiento de Business Central crea o actualiza cada acción de Plur-e Mobile, por módulo.