Crie uma tarefa em um plano de tarefas

Cria uma tarefa completa dentro de um plano de tarefas existente em uma única chamada atômica: tarefa + gatilhos + subtarefas + recursos. A operação é transacional : se qualquer validação falhar, nada é persistido no banco de dados.

Add-on necessário

A empresa deve ter o add-on APIS AVANÇADAS habilitado. Sem ele, o endpoint retorna 403.

Parâmetros de entrada — Obrigatórios

Enviados no body da requisição.

ParâmetroTipoObrigatórioDescrição
descriptiontextoSimDescrição da tarefa. Mínimo 3 caracteres, máximo 200. Não pode estar vazia.
id_task_type_maininteiroSimTipo principal da tarefa. Deve existir no catálogo de tipos de tarefa principais da empresa.
id_group_taskinteiroSimID do plano de tarefas onde a tarefa será criada. O plano deve existir e estar ativo.
triggersarraySimArray de gatilhos. Mínimo 1. Ver estrutura abaixo.

Estrutura de triggers

Cada gatilho deve incluir id_task_trigger_type e os campos condicionais de acordo com o tipo.

CampoTipoObrigatórioDescrição
id_task_trigger_typeinteiroSim1 = DATE · 2 = READING_WHEN · 3 = READING_EVERY · 4 = EVENT
value_maindecimalCondicionalDATE: > 0 (a cada quantos períodos). READING_EVERY: > 0. READING_WHEN: valor a comparar.
id_period_dateinteiroCondicionalObrigatório se tipo = 1 (DATE). Define a frequência (dias/semanas/meses/anos).
id_replayinteiroCondicionalObrigatório se tipo = 1 (DATE). 2 = repetir por número.
value_enddecimalCondicionalObrigatório e > 0 se id_replay = 2. Número de repetições.
id_unitinteiroCondicionalObrigatório para READING_WHEN (2) e READING_EVERY (3). Deve existir em companies.units.
id_unit_operatorinteiroCondicionalObrigatório para READING_WHEN (2). Operador de comparação. Deve existir em companies.units_operators.
id_eventinteiroCondicionalEVENT (4): ID de evento existente no catálogo da empresa, ou usar event_description.
event_descriptiontextoCondicionalEVENT (4): descrição do evento; resolvida ao id_event do catálogo. Obrigatório se id_event não for enviado.

Regras dos gatilhos

  • Apenas 1 gatilho DATE por tarefa.
  • Sem unidades duplicadas em gatilhos READING_EVERY.
  • Máximo 2 READING_WHEN por unidade.
  • Sem eventos duplicados em gatilhos EVENT.

Parâmetros de entrada — Opcionais

ParâmetroTipoPadrãoDescrição
id_task_typeinteiroClassificação 1. Deve existir no catálogo de tipos de tarefa.
id_task_type_2inteiroClassificação 2. Deve existir no catálogo de tipos de tarefa (nível 2).
id_prioritiesinteiro3 (MÉDIA)Prioridade da tarefa. Deve existir em companies.priorities.
durationinteiro600Duração estimada em segundos. Mínimo 60.
stop_assets_secinteiro0Tempo de parada de ativos em segundos.
subtasksarray[]Array de subtarefas. Ver estrutura abaixo.
resourcesarray[]Array de recursos. Ver estrutura abaixo.

Estrutura de subtasks

CampoTipoObrigatórioDescrição
descriptiontextoSimDescrição da subtarefa.
id_task_form_item_typeinteiroOpcionalTipo de campo 18. Padrão 1. 5 = LEITURA_MEDIDOR · 7 = DROPDOWN.
id_unitinteiroCondicionalObrigatório se tipo = 5 (LEITURA_MEDIDOR). Deve existir em companies.units.
dropdown_optionsarrayCondicionalObrigatório se tipo = 7 (DROPDOWN). Mínimo 2 opções.
id_task_form_item_groupinteiroOpcionalGrupo/parte. Deve existir em tasks.tasks_form_items_groups.

Estrutura de resources

CampoTipoObrigatórioDescrição
typeinteiroSim1 = INVENTÁRIO · 2 = RECURSOS_HUMANOS · 3 = SERVIÇOS
id_resourceinteiroSimID do recurso conforme tipo: inventário (inventories.items tipo ferramenta/peça) · RH (companies.hourly_rates) · serviços (third_parties.service_types).
qtynuméricoSimQuantidade. Deve ser > 0.
unit_costnuméricoSimCusto unitário. Deve ser > 0. O total_cost é calculado automaticamente (qty × unit_cost).

Parâmetros de saída

Resposta bem-sucedida: HTTP 201. Os dados são retornados dentro de data.

ParâmetroTipoDescrição
idinteiroID da tarefa criada.
id_group_taskinteiroID do plano ao qual pertence.
descriptiontextoDescrição da tarefa.
id_task_type_maininteiroTipo principal.
id_task_type / id_task_type_2inteiroClassificações.
id_prioritiesinteiroPrioridade.
durationinteiroDuração em segundos.
stop_assetsbooleanotrue se stop_assets_sec > 0.
stop_assets_secinteiroTempo de parada em segundos.
is_configuredbooleanofalse se a tarefa requer configuração adicional pela UI.
config_pendingbooleanotrue quando há gatilhos READING_WHEN/READING_EVERY e o plano já tem ativos (falta vincular medidores).
date_createtextoData de criação ISO 8601.
triggersarrayGatilhos criados, com IDs gerados.
subtasksarraySubtarefas criadas.
resourcesarrayRecursos criados.

is_configured e config_pending

Quando a tarefa possui gatilhos de leitura (READING_WHEN ou READING_EVERY) e o plano já tem ativos associados, a tarefa é criada corretamente mas fica com "is_configured": false e "config_pending": true. É necessária configuração adicional para vincular medidores aos ativos do plano.


Erros

CódigoCausa
401Não autenticado · falta auth · empresa inválida · usuário inválido.
403A empresa não possui o add-on APIS AVANÇADAS, ou o usuário não tem permissão ADD sobre Plano de Tarefas.
400body ausente · validação falhou (campos obrigatórios, intervalos, tipos) · plano inexistente ou inativo · recurso/unidade/evento não encontrado.
201Tarefa criada com sucesso (operação atômica).
500Erro interno do servidor.

Comparativo com tasks_nonscheduled_post

Aspectotasks_nonscheduled_post (tarefa não planejada)tasks_plan_post (este endpoint)
ContextoTarefa avulsa / não planejadaTarefa dentro de um plano de tarefas (id_group_task)
GatilhosNãoSim — mínimo 1 (DATE / READING_WHEN / READING_EVERY / EVENT)
SubtarefasSimSim (opcional)
RecursosSimSim (opcional)
Add-onAPIS AVANÇADAS

Exemplo

Request body

{
  "description": "Inspeção mensal do motor",
  "id_task_type_main": 1,
  "id_group_task": 1024,
  "id_priorities": 3,
  "duration": 600,
  "stop_assets_sec": 0,
  "triggers": [
    {
      "id_task_trigger_type": 1,
      "value_main": 1,
      "id_period_date": 2,
      "id_replay": 1
    },
    {
      "id_task_trigger_type": 3,
      "id_unit": 5,
      "value_main": 500
    }
  ],
  "subtasks": [
    {
      "description": "Verificar nível de óleo",
      "id_task_form_item_type": 3,
      "is_required": true
    },
    {
      "description": "Leitura do horímetro",
      "id_task_form_item_type": 5,
      "id_unit": 5
    }
  ],
  "resources": [
    {
      "type": 1,
      "id_resource": 312,
      "qty": 2,
      "unit_cost": 15.50
    }
  ]
}

Response 201

{
  "success": true,
  "message": "201",
  "data": {
    "id": 88210,
    "id_group_task": 1024,
    "description": "Inspeção mensal do motor",
    "id_task_type_main": 1,
    "id_priorities": 3,
    "duration": 600,
    "stop_assets": false,
    "stop_assets_sec": 0,
    "is_configured": true,
    "config_pending": false,
    "date_create": "2026-06-24T10:00:00",
    "triggers": [
      { "id": 4501, "id_task_trigger_type": 1 }
    ],
    "subtasks": [
      { "id": 7701, "description": "Verificar nível de óleo" }
    ],
    "resources": [
      {
        "id": 9901,
        "type": 1,
        "id_resource": 312,
        "qty": 2,
        "unit_cost": 15.50,
        "total_cost": 31.00
      }
    ]
  },
  "total": 1
}

Response
200
Language
LoadingLoading…