Skip to main content

Activity Managers (Tarefas)

Todas as rotas de activityManagers exigem autorização através de um Bearer token válido. Antes de executar qualquer chamada, gere um token utilizando a rota apropriada.

Activity Managers não são criados via interfaces, mas sim como resultado de execução do processo, por este motivo, não existem rotas para criação de Activity Managers.

READ#

Listar Atividades Disponíveis#

Esta rota lista, para um determinado actor, todas as atividades disponíveis (status = started) de processos ativos.

VerboPath
GET/processes/available

Responses#

{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"created_at": { "type": "string", "format": "date-time" },
"process_id": { "type": "string", "format": "uuid" },
"workflow_id": { "type": "string", "format": "uuid" },
"workflow_name": { "type": "string", "format": "uuid" },
"node_id": { "type": "string", "format": "uuid" },
"node_name": { "type": "string", "format": "uuid" },
"props": { "type": "object" }
}
}
}

Listar Atividades Concluídas#

Rota equivalente a rota de atividades disponíveis, neste caso retornando todas as atividades completadas (status = completed).

Nota

A rota retorna todas as atividades completadas cujo acesso é permitido para o usuário em questão, isso não significa, necessariamente, que a atividade foi executada pelo usuário.

VerboPath
GET/processes/done

Responses#

A estrutura da resposta é idêntica a resposta da Listagem de Atividades Disponíveis.

Consultar o Activity Manager de um Processo#

É possível realizar a consulta utilizando o process_id, nesse caso a rota retornará a atividade disponível (status = started) para o processo informado.

VerboPathFormato
GET/processes/{process_id}/activitytype: string, format: uuid

Responses#

tip

Em situações específicas, em processos com activity managers do tipo notify, poderá ocorrer uma situação em que um único processo tenha mais do que uma atividade disponível, nesse caso a rota retornará uma lista de atividades ao invés de uma única atividade.

{
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"created_at": { "type": "string", "format": "date-time" },
"process_id": { "type": "string", "format": "uuid" },
"workflow_id": { "type": "string", "format": "uuid" },
"workflow_name": { "type": "string", "format": "uuid" },
"node_id": { "type": "string", "format": "uuid" },
"node_name": { "type": "string", "format": "uuid" },
"props": { "type": "object" }
}
}

Essa rota, em algumas situações, poderá gerar códigos de diferentes de 200, nos seguintes casos

CódigoDescrição
204O processo existe, porém não há nenhuma atividade disponível. Isso pode representar que o processo ainda está em execução ou que o usuário não tem permissão de acesso a atividade.
404Significa que o processo não existe ou este não está mais ativo

Consultar um Activity Manager#

Neste caso, a consulta é realizada utilizando o activity_manager_id, sendo que neste caso o retorno ocorrerá independente do status do Activity Manager.

VerboPathFormato
GET/processes/activityManager/{activity_manager_id}type: string, format: uuid

Responses#

A resposta dessa rota adiciona uma lista de atividades salvas no activity manager.

{
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"created_at": { "type": "string", "format": "date-time" },
"activity_status": { "type": "string" },
"process_id": { "type": "string", "format": "uuid" },
"error": { "type": "string" },
"workflow_name": { "type": "string" },
"props": { "type": "object" },
"type": { "type": "string" },
"activities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"created_at": { "type": "string", "format": "date-time" },
"actor_id": { "type": "string", "format": "uuid" },
"data": { "type": "object" }
}
}
}
}
}

UPDATE#

Uma vez em ciente da atividade a ser realizada, existem rotas que permitem salvar atividades e enviar atividades para o processo.

As rotas de salvar e enviar atividade podem ser acessadas utilizando tanto o process_id quanto o activity_manager_id. Todavia, tendo em vista que um processo pode ter mais de uma atividade disponível (vide comentário sobre consulta de atividade), recomenda-se a utilização das rotas através do activity_manager_id, que garantem a precisão quanto a atividade que está sendo enviada.

Salvar uma Atividade#

Nesta rota, um rascunho da atividade é salvo. O conteúdo do payload é varia em função da action do front e é definido em conjunto entre o canal e o worklfow.

O processo não é afetado por essa ação.

VerboPathFormato
POST/processes/{process_id}/committype: string, format: uuid
POST/activity_manager/{activity_manager_id}/committype: string, format: uuid

Responses#

{
"type": "object",
"properties": {
"_id": { "type": "string", "format": "uuid" },
"_created_at": { "type": "string", "format": "date-time" },
"_process_state_id": { "type": "string", "format": "uuid" },
"_props": { "type": "object" },
"_parameters": { "type": "object" },
"_status": { "type": "string" },
"_type": { "type": "string" },
"_activities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": { "type": "string", "format": "uuid" },
"_created_at": { "type": "string", "format": "date-time" },
"_process_state_id": { "type": "string", "format": "uuid" },
"_actor_id": { "type": "string", "format": "uuid" },
"_data": { "type": "object" }
}
}
}
}
}

Enviar uma Atividade#

Esta rota notifica o Activity Manager para enviar as atividades salvas para o processo.

Todas as atividades salvas no Activity Manager são enviadas para o processo.

VerboPathFormato
POST/processes/{process_id}/pushtype: string, format: uuid
POST/activity_manager/{activity_manager_id}/pushtype: string, format: uuid

Responses#

A rota gera uma resposta 202 confirmando o recebimento da atividade.

Submeter uma Atividade#

Esta rota compõe o salvamento da atividade e o envio em um único comando.

Ao contrário da rota de commit, o retorno dessa tarefa é simplesmente a confirmação da submissão da tarefa.

VerboPathFormato
POST/activity_manager/{activity_manager_id}/submittype: string, format: uuid

Responses#

CódigoDescrição
202Submissão da atividade confirmada
422O activity manager não está mais disponível para submissão