Retorna la lista (paginada) de repuestos y suministros asociados a un activo, con su código, descripción, cantidad, unidad de medida, estado y origen (ficha del activo o plan de tareas). El activo se identifica por su código.
GET https://app.fracttal.com/api/items_spare_parts/
GET https://app.fracttal.com/api/items_spare_parts/{code}El código del activo también se acepta como parte de la ruta. Si se envía en la ruta y como parámetro code, prevalece el de la ruta.
Parámetros de entrada — Requeridos
Se envían como query params (o code en la ruta).
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
code | texto | Sí | Código del activo. Es un texto: conserva los ceros a la izquierda. La búsqueda es exacta y distingue mayúsculas, minúsculas y espacios. |
Parámetros de entrada — Opcionales
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
item_type | texto | No (recomendado) | Tipo del activo, de 1 a 5: 1 Ubicaciones, 2 Equipos, 3 Herramientas, 4 Repuestos y suministros, 5 Digitales. El código de un activo no es único y puede repetirse entre tipos; si el código coincide con más de un activo y no se envía item_type, la API responde 400 y no devuelve datos. Se recomienda enviarlo siempre. |
start | texto | No | Registro desde el que empieza la consulta. Por defecto 0. Un valor negativo o no numérico responde 400. |
limit | texto | No | Cantidad de registros por página. Por defecto y máximo 100. Un valor menor que 1, mayor que 100 o no numérico responde 400. |
Un valor vacío en cualquiera de estos parámetros se trata como si no se hubiera enviado.
Permisos requeridosLa aplicación se autentica con OAuth2 (
client_credentials). Su grupo de permisos debe tenerviewsobre el módulo de activos en Ubicaciones, Equipos y Repuestos y Suministros, y en particular sobre el tipo del activo consultado. Sin ese permiso la API responde con un error de autorización (ver la sección de errores).
Qué devuelve la consulta
- Solo se devuelven repuestos y suministros. Las herramientas y otros tipos de recursos de un plan de tareas no aparecen.
- Del plan de tareas del activo se incluyen únicamente las tareas activas y no detenidas, de planes activos.
- Un mismo repuesto puede aparecer varias veces: una por la ficha del activo y una por cada tarea del plan que lo usa. Use
originytaskpara distinguirlas. Las cantidades nunca se suman.- Los repuestos inactivos también se devuelven; se identifican con
is_active = false.- Las filas se ordenan por
origin(assetantes quetask_plan) y luego porcode.- La API no pagina automáticamente: si
totales mayor que la cantidad de filas recibidas, repita la consulta incrementandostarten el valor delimit.
Parámetros de salida
| Parámetro | Tipo | Descripción |
|---|---|---|
success | booleano | true si la consulta fue exitosa. |
message | texto | "200" en éxito; código o mensaje de error en caso contrario. |
total | entero | Cantidad total de filas que corresponden al activo, antes de paginar — no el tamaño de la página devuelta. |
data | array de objetos | Página de resultados. Ver estructura en la tabla siguiente. |
Estructura de cada elemento en data:
| Parámetro | Tipo | Descripción |
|---|---|---|
code | texto | Código del repuesto o suministro. |
description | texto | Descripción del repuesto o suministro. |
qty | número | Cantidad (admite decimales). Con origin = asset es la cantidad registrada en la ficha del activo; con origin = task_plan es la cantidad por ejecución de la tarea. |
unit | texto | Unidad de medida. null si el repuesto no tiene unidad. |
is_active | booleano | true si el repuesto está activo. |
origin | texto | asset: proviene de la ficha del activo. task_plan: proviene de un plan de tareas del activo. |
task | texto | Descripción de la tarea del plan que usa el recurso. null cuando origin es asset. |
Errores
| Código | Causa |
|---|---|
400 | Falta code; item_type fuera del rango 1 a 5; start o limit inválidos; o el código coincide con más de un activo (enviar item_type). El detalle viene en data[0].ERROR. |
401 | La aplicación no tiene permiso view sobre el tipo del activo consultado. Llega con data.Error = "UNAUTHORIZED_ENDPOINT". |
404 | El código no existe en la compañía. El detalle viene en data[0].ERROR. |
INVALID_TOKEN | Token inválido o sin autorización para la compañía. |
INVALID_ENDPOINT | El servicio no está habilitado para la aplicación. |
UNAUTHORIZED_ENDPOINT | El grupo de permisos de la aplicación no cumple el permiso requerido. |
UNAUTHORIZED_USE | La compañía no tiene el uso de la API habilitado. |
ERROR_SQL | Error interno no controlado. |
Nota sobre los errores de autorizaciónUn error de permisos puede llegar de dos formas: con
message: "401"ydata.Error = "UNAUTHORIZED_ENDPOINT", o conmessage: "UNAUTHORIZED_ENDPOINT"ydata: null. En ambos casos significa que el grupo de permisos de la aplicación no tiene el permiso requerido. En las respuestas de error400y404, el campototalllega como texto ("0").
Ejemplo
Request
GET https://app.fracttal.com/api/items_spare_parts/?code=EQ-0042&item_type=2&start=0&limit=50Response 200
200{
"success": true,
"message": "200",
"total": 3,
"data": [
{
"code": "REP-001",
"description": "Rodamiento 6002 { REP-001 }",
"qty": 2,
"unit": "Unidad",
"is_active": true,
"origin": "asset",
"task": null
},
{
"code": "REP-002",
"description": "Filtro de aceite { REP-002 }",
"qty": 1,
"unit": "Litros",
"is_active": true,
"origin": "task_plan",
"task": "Mantenimiento cada 250 hr"
},
{
"code": "REP-002",
"description": "Filtro de aceite { REP-002 }",
"qty": 4,
"unit": "Litros",
"is_active": false,
"origin": "task_plan",
"task": "Mantenimiento anual"
}
]
}Response — Activo sin repuestos (200)
200){
"success": true,
"message": "200",
"total": 0,
"data": []
}Response — Falta el código (400)
400){
"success": false,
"message": "400",
"total": "0",
"data": [
{ "ERROR": "code is required" }
]
}Response — Código repetido sin item_type (400)
item_type (400){
"success": false,
"message": "400",
"total": "0",
"data": [
{ "ERROR": "code matches more than one item, item_type is required: EQ-0042" }
]
}Response — Código inexistente (404)
404){
"success": false,
"message": "404",
"total": "0",
"data": [
{ "ERROR": "code does not exist: EQ-9999" }
]
}Response — Sin permiso sobre el tipo del activo (401)
401){
"success": false,
"message": "401",
"data": { "Error": "UNAUTHORIZED_ENDPOINT" }
}OpenAPI definition
{
"openapi": "3.1.0",
"info": {
"title": "Repuestos y suministros de un activo",
"version": "1-Es"
},
"servers": [
{ "url": "https://app.fracttal.com/api/items_spare_parts" }
],
"security": [{}],
"paths": {
"/": {
"get": {
"summary": "Consultar repuestos y suministros de un activo",
"description": "",
"operationId": "consultar-repuestos-y-suministros-de-un-activo",
"deprecated": false,
"security": []
}
}
},
"x-readme": {
"headers": [],
"explorer-enabled": false,
"proxy-enabled": true
},
"x-readme-fauxas": true
} 200