post
https://app.fracttal.com/api/group_tasks//tasks//resources
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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id_group_task | inteiro | Sim | Identificador do plano de tarefas. Enviado no caminho. |
id_task | inteiro | Sim | Identificador da tarefa à qual os recursos são adicionados. Deve pertencer ao plano indicado em id_group_task. Enviado no caminho. |
resources | array de objeto | Sim | Recursos a criar. Deve incluir entre 1 e 50 elementos. Veja a estrutura na tabela a seguir. |
Estrutura de cada elemento em resources:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type_description | texto | Sim | Tipo de recurso. Valores permitidos: INVENTORY, HUMAN_RESOURCES, SERVICES. |
id_item | inteiro | Sim, se type_description for INVENTORY | Identificador do item de inventário. Deve ser uma ferramenta ou uma peça de reposição. |
id_hourly_rate | inteiro | Sim, se type_description for HUMAN_RESOURCES | Identificador da tarifa horária do recurso humano. |
id_service_type | inteiro | Sim, se type_description for SERVICES | Identificador do tipo de serviço. |
note | texto | Não | Nota associada ao recurso. |
Regras deresources
- 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 comunit_costigual a0.- 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âmetro | Tipo | Descrição |
|---|---|---|
success | booleano | Indica se a operação foi bem-sucedida. |
message | texto | Código de resultado ("201" se bem-sucedida). |
data | array de objeto | Recursos criados. Veja a estrutura na tabela a seguir. |
total | inteiro | Quantidade de recursos criados. |
Estrutura de cada elemento em data:
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | inteiro | Identificador do recurso criado. |
type_description | texto | Tipo de recurso: INVENTORY, HUMAN_RESOURCES ou SERVICES. |
quantity | inteiro | Quantidade do recurso. Sempre 1. |
unit_cost | número | Custo unitário aplicado, obtido do cadastro de origem. |
id_item | inteiro | Identificador do item. Retornado apenas quando o tipo é INVENTORY. |
id_hourly_rate | inteiro | Identificador da tarifa horária. Retornado apenas quando o tipo é HUMAN_RESOURCES. |
id_service_type | inteiro | Identificador do tipo de serviço. Retornado apenas quando o tipo é SERVICES. |
Erros
| Código | Causa |
|---|---|
401 | Token ausente ou inválido. |
403 | O 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. |
404 | A tarefa indicada em id_task não existe. |
422 | Falha 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 erroEste serviço informa o resultado no campo
messageda resposta. Quando um ou mais recursos não passam na validação (422), o campodatainclui um elemento para cada recurso com erro, com sua posiçãoindex(a partir de0) e o detalhe emerror. 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
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)
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)
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
}