Crear recursos en una tarea de un plan de tareas

Agrega uno o varios recursos a una tarea existente de un plan de tareas. Se admiten tres tipos de recurso: inventario (herramientas y repuestos), recursos humanos y servicios. Cada recurso se crea con cantidad 1 y con el costo unitario predeterminado de su ficha de origen.

Parámetros de entrada

ParámetroTipoRequeridoDescripción
id_group_taskenteroSíIdentificador del plan de tareas. Se envía en la ruta.
id_taskenteroSíIdentificador de la tarea a la que se agregan los recursos. Debe pertenecer al plan indicado en id_group_task. Se envía en la ruta.
resourcesarray de objetoSíRecursos a crear. Debe incluir entre 1 y 50 elementos. Ver estructura en la tabla siguiente.

Estructura de cada elemento en resources:

ParámetroTipoRequeridoDescripción
type_descriptiontextoSíTipo de recurso. Valores permitidos: INVENTORY, HUMAN_RESOURCES, SERVICES.
id_itementeroSí, si type_description es INVENTORYIdentificador del ítem de inventario. Debe ser una herramienta o un repuesto.
id_hourly_rateenteroSí, si type_description es HUMAN_RESOURCESIdentificador de la tarifa horaria del recurso humano.
id_service_typeenteroSí, si type_description es SERVICESIdentificador del tipo de servicio.
notetextoNoNota asociada al recurso.

Reglas de resources

  • La cantidad de cada recurso se fija siempre en 1, sin importar lo enviado en la petición.
  • El costo unitario se toma de la ficha de origen: costo promedio del ítem (INVENTORY), valor de la tarifa horaria (HUMAN_RESOURCES) o costo del servicio (SERVICES). Si la ficha no tiene un costo configurado, el recurso se crea con unit_cost igual a 0.
  • No se puede agregar un recurso que ya existe en la tarea (mismo tipo y misma referencia), ni repetir el mismo recurso dentro de la misma petición.
  • La operación es atómica: si algún recurso no supera las validaciones, no se crea ninguno y la respuesta indica, por cada recurso con error, su posición (index) y el motivo.
  • El token debe tener permiso de edición sobre los planes de tareas, y la tarea debe pertenecer a la compañía del token utilizado.

Parámetros de salida

ParámetroTipoDescripción
successbooleanoIndica si la operación fue exitosa.
messagetextoCódigo de resultado ("201" si fue exitosa).
dataarray de objetoRecursos creados. Ver estructura en la tabla siguiente.
totalenteroCantidad de recursos creados.

Estructura de cada elemento en data:

ParámetroTipoDescripción
identeroIdentificador del recurso creado.
type_descriptiontextoTipo de recurso: INVENTORY, HUMAN_RESOURCES o SERVICES.
quantityenteroCantidad del recurso. Siempre 1.
unit_costnúmeroCosto unitario aplicado, tomado de la ficha de origen.
id_itementeroIdentificador del ítem. Solo se devuelve cuando el tipo es INVENTORY.
id_hourly_rateenteroIdentificador de la tarifa horaria. Solo se devuelve cuando el tipo es HUMAN_RESOURCES.
id_service_typeenteroIdentificador del tipo de servicio. Solo se devuelve cuando el tipo es SERVICES.

Errores

CódigoCausa
401Token ausente o inválido.
403El token no tiene permiso de edición sobre los planes de tareas, o la compañía no cuenta con el add-on APIS AVANZADAS.
404La tarea indicada en id_task no existe.
422Validación fallida: falta id_group_task o id_task, el plan no existe, la tarea no pertenece al plan, resources está ausente, vacío o tiene más de 50 elementos, o algún recurso es inválido (tipo no permitido, referencia ausente o inexistente, ítem que no es herramienta ni repuesto, recurso duplicado).

Nota sobre los códigos de error

Este servicio informa el resultado en el campo message de la respuesta. Cuando uno o varios recursos no superan la validación (422), el campo data incluye un elemento por cada recurso con error, con su posición index (a partir de 0) y el detalle en error. Los mensajes de error se devuelven en inglés.


Ejemplo

Request body

{
  "resources": [
    {
      "type_description": "INVENTORY",
      "id_item": 4521,
      "note": "Llave de impacto para el ajuste de pernos"
    },
    {
      "type_description": "HUMAN_RESOURCES",
      "id_hourly_rate": 310
    },
    {
      "type_description": "SERVICES",
      "id_service_type": 87
    }
  ]
}

Response 201

{
  "success": true,
  "message": "201",
  "data": [
    {
      "id": 90211,
      "type_description": "INVENTORY",
      "quantity": 1,
      "unit_cost": 45.5,
      "id_item": 4521
    },
    {
      "id": 90212,
      "type_description": "HUMAN_RESOURCES",
      "quantity": 1,
      "unit_cost": 18,
      "id_hourly_rate": 310
    },
    {
      "id": 90213,
      "type_description": "SERVICES",
      "quantity": 1,
      "unit_cost": 0,
      "id_service_type": 87
    }
  ],
  "total": 3
}

Response — Recurso inválido (422)

{
  "success": false,
  "message": "422",
  "data": [
    {
      "index": 1,
      "error": "id_hourly_rate is required for HUMAN_RESOURCES"
    },
    {
      "index": 2,
      "error": "Resource SERVICES id_service_type 87 already exists for this task"
    }
  ],
  "total": 0
}

Response — Tarea inexistente (404)

{
  "success": false,
  "message": "404",
  "data": [
    {
      "ERROR": "id_task not found"
    }
  ],
  "total": 0
}

OpenAPI definition

{
  "openapi": "3.1.0",
  "info": {
    "title": "group_tasks_resources",
    "version": "1-Es"
  },
  "servers": [
    { "url": "https://app.fracttal.com/api/group_tasks" }
  ],
  "security": [{}],
  "paths": {
    "/{id_group_task}/tasks/{id_task}/resources": {
      "post": {
        "summary": "Crear recursos en una tarea de un plan de tareas",
        "description": "",
        "operationId": "crear-recursos-en-una-tarea-de-un-plan-de-tareas",
        "deprecated": false,
        "security": []
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
Path Params
integer
required

Identificador del plan de tareas.

integer
required

Identificador de la tarea a la que se agregan los recursos. Debe pertenecer al plan indicado en id_group_task.

Language
LoadingLoading…