Criar recursos em uma tarefa de um plano de tarefas

Adiciona um ou mais recursos a uma tarefa existente de um plano de tarefas. São aceitos três tipos de recurso: inventário (ferramentas e peças de reposição), recursos humanos e serviços. Cada recurso é criado com quantidade 1 e com o custo unitário padrão do seu cadastro de origem.

Parâmetros de entrada

ParâmetroTipoObrigatórioDescrição
id_group_taskinteiroSimIdentificador do plano de tarefas. Enviado no caminho.
id_taskinteiroSimIdentificador da tarefa à qual os recursos são adicionados. Deve pertencer ao plano indicado em id_group_task. Enviado no caminho.
resourcesarray de objetoSimRecursos a criar. Deve incluir entre 1 e 50 elementos. Veja a estrutura na tabela a seguir.

Estrutura de cada elemento em resources:

ParâmetroTipoObrigatórioDescrição
type_descriptiontextoSimTipo de recurso. Valores permitidos: INVENTORY, HUMAN_RESOURCES, SERVICES.
id_iteminteiroSim, se type_description for INVENTORYIdentificador do item de inventário. Deve ser uma ferramenta ou uma peça de reposição.
id_hourly_rateinteiroSim, se type_description for HUMAN_RESOURCESIdentificador da tarifa horária do recurso humano.
id_service_typeinteiroSim, se type_description for SERVICESIdentificador do tipo de serviço.
notetextoNãoNota associada ao recurso.

Regras de resources

  • A quantidade de cada recurso é sempre fixada em 1, independentemente do que for enviado na requisição.
  • O custo unitário é obtido do cadastro de origem: custo médio do item (INVENTORY), valor da tarifa horária (HUMAN_RESOURCES) ou custo do serviço (SERVICES). Se o cadastro não tiver custo configurado, o recurso é criado com unit_cost igual a 0.
  • Não é possível adicionar um recurso que já existe na tarefa (mesmo tipo e mesma referência), nem repetir o mesmo recurso dentro da mesma requisição.
  • A operação é atômica: se algum recurso não passar nas validações, nenhum é criado e a resposta indica, para cada recurso com erro, sua posição (index) e o motivo.
  • O token deve ter permissão de edição sobre os planos de tarefas, e a tarefa deve pertencer à empresa do token utilizado.

Parâmetros de saída

ParâmetroTipoDescrição
successbooleanoIndica se a operação foi bem-sucedida.
messagetextoCódigo de resultado ("201" se bem-sucedida).
dataarray de objetoRecursos criados. Veja a estrutura na tabela a seguir.
totalinteiroQuantidade de recursos criados.

Estrutura de cada elemento em data:

ParâmetroTipoDescrição
idinteiroIdentificador do recurso criado.
type_descriptiontextoTipo de recurso: INVENTORY, HUMAN_RESOURCES ou SERVICES.
quantityinteiroQuantidade do recurso. Sempre 1.
unit_costnúmeroCusto unitário aplicado, obtido do cadastro de origem.
id_iteminteiroIdentificador do item. Retornado apenas quando o tipo é INVENTORY.
id_hourly_rateinteiroIdentificador da tarifa horária. Retornado apenas quando o tipo é HUMAN_RESOURCES.
id_service_typeinteiroIdentificador do tipo de serviço. Retornado apenas quando o tipo é SERVICES.

Erros

CódigoCausa
401Token ausente ou inválido.
403O token não tem permissão de edição sobre os planos de tarefas, ou a empresa não possui o add-on APIS AVANÇADAS.
404A tarefa indicada em id_task não existe.
422Falha na validação: falta id_group_task ou id_task, o plano não existe, a tarefa não pertence ao plano, resources está ausente, vazio ou tem mais de 50 elementos, ou algum recurso é inválido (tipo não permitido, referência ausente ou inexistente, item que não é ferramenta nem peça de reposição, recurso duplicado).

Nota sobre os códigos de erro

Este serviço informa o resultado no campo message da resposta. Quando um ou mais recursos não passam na validação (422), o campo data inclui um elemento para cada recurso com erro, com sua posição index (a partir de 0) e o detalhe em error. As mensagens de erro são retornadas em inglês.


Exemplo

Request body

{
  "resources": [
    {
      "type_description": "INVENTORY",
      "id_item": 4521,
      "note": "Chave de impacto para o aperto de parafusos"
    },
    {
      "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 — Tarefa 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": "3-pt"
  },
  "servers": [
    { "url": "https://app.fracttal.com/api/group_tasks" }
  ],
  "security": [{}],
  "paths": {
    "/{id_group_task}/tasks/{id_task}/resources": {
      "post": {
        "summary": "Criar recursos em uma tarefa de um plano de tarefas",
        "description": "",
        "operationId": "criar-recursos-em-uma-tarefa-de-um-plano-de-tarefas",
        "deprecated": false,
        "security": []
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": false,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
Path Params
integer
required

Identificador do plano de tarefas.

integer
required

Identificador da tarefa à qual os recursos são adicionados. Deve pertencer ao plano indicado em id_group_task.

Language
LoadingLoading…