Skip to main content

Workflows

CREATE & UPDATE#

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

Criar ou Atualizar um workflow#

O Flowbuild disponibiliza uma única rota que deve ser utilizada para criar ou atualizar um workflow.

Na prática não o Flowbuild não realiza atualização de workflows, uma atualização é tratada como a publicação de uma nova versão do workflow existente. A cada submissão é gerado um novo workflow_id e elevada a versão do workflow existente (mesmo que não haja mudança em relação a versão corrente).

Request#

VerboPath
POST/workflows
Model#
{
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"blueprint_spec": { "$ref": "#/models/blueprint_spec" }
}
}

Modelo blueprint_spec

Responses#

A requisição foi bem sucedida e o workflow foi criado

Schema
{
"type": "object",
"properties": {
"workflow_id": { "type": "string", "format": "uuid" },
"workflow_url": { "type": "string", "format": "uri" }
}
}
Exemplo
{
"workflow_id": "ebbb2500-ddbd-11eb-a6b3-d3619c91018b",
"workflow_url": "3.82.154.55:3000/workflows/ebbb2500-ddbd-11eb-a6b3-d3619c91018b"
}

READ#

Listar workflows#

Lista os workflows acessíveis pelo usuário.

A listagem filtra os workflows para exibir somente os workflows cujo startNode é acessível pelo usuário. Não existe uma rota geral para listagem indiscriminada de workflows.

Request#

VerboPath
GET/workflows

Responses#

Schema
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"name": { "type": "string" },
"description": { "type": "string" },
"version": { "type": "integer" },
"created_at": { "type": "string", "format": "date-time" },
}
}
}

Consultar um workflow#

Existem 2 rotas irmãs para consulta de um workflow. Através do id do workflow ou através do nome do workflow.

Ambas retornam um payload similar, sendo que a consulta pelo nome retorna a versão mais recente do workflow solicitado.

Request#

VerboPathFormato
GET/workflows/{workflow_id}type: string, format: uuid
GET/workflows/name/{workflow_name}type: string
Responses#
Schema
{
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"created_at": { "type": "string", "format": "date-time" },
"name": { "type": "string" },
"description": { "type": "string" },
"version": { "type": "integer" },
"blueprint_spec": { "$ref": "#/models/blueprint_spec" }
}
}

Modelo blueprint_spec

DELETE#

Remover um workflow#

Remove um workflow. Essa ação só será possível de ser executada caso nenhum processo tenha sido criado usando esse workflow_id.

Request:#
VerboPathFormat
DELETE/workflows/:workflow_idtype: string, format: uuid
Responses#

A requisição foi bem sucedida e o workflow foi removido