Consultar repuestos y suministros de un activo

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.

Add-on requerido

Uso general — sin add-on específico.

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ámetroTipoRequeridoDescripción
codetextoSí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ámetroTipoRequeridoDescripción
item_typetextoNo (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.
starttextoNoRegistro desde el que empieza la consulta. Por defecto 0. Un valor negativo o no numérico responde 400.
limittextoNoCantidad 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 requeridos

La aplicación se autentica con OAuth2 (client_credentials). Su grupo de permisos debe tener view sobre 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 origin y task para 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 (asset antes que task_plan) y luego por code.
  • La API no pagina automáticamente: si total es mayor que la cantidad de filas recibidas, repita la consulta incrementando start en el valor de limit.

Parámetros de salida

ParámetroTipoDescripción
successbooleanotrue si la consulta fue exitosa.
messagetexto"200" en éxito; código o mensaje de error en caso contrario.
totalenteroCantidad total de filas que corresponden al activo, antes de paginar — no el tamaño de la página devuelta.
dataarray de objetosPágina de resultados. Ver estructura en la tabla siguiente.

Estructura de cada elemento en data:

ParámetroTipoDescripción
codetextoCódigo del repuesto o suministro.
descriptiontextoDescripción del repuesto o suministro.
qtynúmeroCantidad (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.
unittextoUnidad de medida. null si el repuesto no tiene unidad.
is_activebooleanotrue si el repuesto está activo.
origintextoasset: proviene de la ficha del activo. task_plan: proviene de un plan de tareas del activo.
tasktextoDescripción de la tarea del plan que usa el recurso. null cuando origin es asset.

Errores

CódigoCausa
400Falta 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.
401La aplicación no tiene permiso view sobre el tipo del activo consultado. Llega con data.Error = "UNAUTHORIZED_ENDPOINT".
404El código no existe en la compañía. El detalle viene en data[0].ERROR.
INVALID_TOKENToken inválido o sin autorización para la compañía.
INVALID_ENDPOINTEl servicio no está habilitado para la aplicación.
UNAUTHORIZED_ENDPOINTEl grupo de permisos de la aplicación no cumple el permiso requerido.
UNAUTHORIZED_USELa compañía no tiene el uso de la API habilitado.
ERROR_SQLError interno no controlado.

Nota sobre los errores de autorización

Un error de permisos puede llegar de dos formas: con message: "401" y data.Error = "UNAUTHORIZED_ENDPOINT", o con message: "UNAUTHORIZED_ENDPOINT" y data: null. En ambos casos significa que el grupo de permisos de la aplicación no tiene el permiso requerido. En las respuestas de error 400 y 404, el campo total llega como texto ("0").


Ejemplo

Request

GET https://app.fracttal.com/api/items_spare_parts/?code=EQ-0042&item_type=2&start=0&limit=50

Response 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)

{
  "success": true,
  "message": "200",
  "total": 0,
  "data": []
}

Response — Falta el código (400)

{
  "success": false,
  "message": "400",
  "total": "0",
  "data": [
    { "ERROR": "code is required" }
  ]
}

Response — Código repetido sin 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)

{
  "success": false,
  "message": "404",
  "total": "0",
  "data": [
    { "ERROR": "code does not exist: EQ-9999" }
  ]
}

Response — Sin permiso sobre el tipo del activo (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
}
Path Params
string
required
Response
200
Language
LoadingLoading…