Processos
Todas as rotas de processes exigem autorização através de um Bearer token válido. Antes de executar qualquer chamada, gere um token utilizando a rota apropriada.
#
CREATE#
Criar um processoExistem 2 rotas irmãs para criação de um processo, através do id do workflow ou através do nome do workflow.
Em ambos os casos, o processo é criado, um id é criado, mas o processo não é inicializado. O processo permanece em status UNSTARTED até que o comando de executar processo seja enviado.
tip
A avaliação do input schema do start node é feito somente na execução do processo, ou seja, o envio de um payload inconsistente com o input schema do start node não impede a criação do processo.
#
RequestVerbo | Path | Formato |
---|---|---|
POST | /workflows/{workflow_id}/create | type: string, format: uuid |
POST | /workflows/name/{workflow_name}/create | type: string |
#
Responses- Schema
- Exemplo
#
Executar um processoUm processo quando criado, permanece com status UNSTARTED até que receba o comando de executar.
Verbo | Path | Formato |
---|---|---|
POST | /processes/{process_id}/run | type: string, format: uuid |
Nesse momento é feita a validação do input_schema do startNode com o payload enviado na criação do processo.
info
Se o payload do input schema estiver inválido, o processo entrará em estado de ERROR.
Nesse momento o processo recebe um novo estado, com status RUNNING.
#
Responses- 200
- 404
O FlowBuild sempre retornará um código de resposta 200 caso o processo enviado seja um processo válido.
Isso não representa que o processo está saudável e em execução, mas a confirmação da recepção da requisição. Para consultar o estado do procesos, consulte as rotas de leitura do processo.
O código 404 é retornado quando:
- o process_id enviado não existe
- o usuário não tem permissão para acessar a lane do processo enviado.
#
Iniciar um processoO FlowBuild disponibiliza uma rota que permite, em uma só chamada, fazer a criação e a inicialização do processo.
A rota é equivalente às rotas de criar processo e executar processo.
Verbo | Path | Formato |
---|---|---|
POST | /workflows/name/{workflow_name}/start | type: string |
POST | /workflows/{workflow_id}/start | type: string, format: uuid |
Nota
O retorno da chamada é idêntico ao retorno da chamada de criação de processo e é vinculado a criação do processo e não a sua inicialização, ou seja, uma resposta 200 informa que o processo foi criado e não significa que o processo foi inicializado com sucesso. Para verificar o estado do processo, utilize as rotas de consulta de processos.
#
READ#
Listar processos de um workflowLista todos os processos de um determinado workflow_id, bem como o estado atual de cada um deles.
Verbo | Path | Formato |
---|---|---|
GET | /workflows/{workflow_id}/processes | type: string, format: uuid |
#
ResponsesSe for enviado um workflow_id inexistente, a rota retornará uma lista vazia.
- Schema
- Exemplo
#
Listar processosLista todos os processos de acordo com os filtros enviados no corpo da chamada.
Verbo | Path |
---|---|
POST | /processes/ |
#
PayloadA rota aceita diversos campos de filtros e, cada um dos campos pode receber um valor único ou uma lista de valores.
Os campos dos filtros são opcionais e atuam de forma complementar.
- Schema
- Exemplo
#
ResponsesSe for enviado um workflow_id inexistente, a rota retornará uma lista vazia.
- Schema
- Exemplo
#
Consultar o estado atual de um processoRetorna o estado atual do processo.
Verbo | Path | Formato |
---|---|---|
GET | /processes/{process_id} | type: string, format: uuid |
#
ResponsesSe for enviado um process_id inexistente, a rota retornará uma resposta 404.
- Schema
- Exemplo
#
Consultar histórico de estados do processoEsta rota retorna o histórico de todos os estados do processo até o estado atual.
O retorno dessa rota pode ser relativamente comprido, dependendo da quantidade de passos do processos e do tamanho da bag do processo. Não é recomendado utilizá-la caso o objetivo seja verificar o estado atual do processo.
Verbo | Path | Formato |
---|---|---|
GET | /processes/{process_id}/history | type: string, format: uuid |
#
ResponsesRetorna uma lista de estados do processo, ordenados do mais recente para o mais antigo.
#
UPDATENOTA
Essas rotas de atualização de processos só devem ser utilizadas em condições administrativas e desenvolvimento, o uso dessas rotas em condições de produção não são recomendadas.
#
Abortar processoA rota adiciona um estado interrupted no processo informado.
Se houver activity_managers em status started, estes serão atualizados para status interrupted.
Verbo | Path | Formato |
---|---|---|
POST | /cockpit/processes/{process_id}/abort | type: string, format: uuid |
#
ResponsesCódigo | Descrição | Body (Schema) |
---|---|---|
200 | Proceso abortado | type: string |
404 | Processo não localizado | type: string |
#
Definir estado do processoEssa rota cria um estado ao processo.
Os dados necessários para criação do processo são:
- next_node_id
- result
- bag
A rota irá sobreescrever completamente a bag do processo pela bag informada no payload da request, sendo recomendada especial atenção aos dados informados.
O processo permanecerá pendente até que o comando de Retomar Processo seja enviado.
tip
O comando de Executar Processo não funciona caso o processo esteja no estado pendente.
Verbo | Path | Formato |
---|---|---|
POST | /cockpit/processes/{process_id}/state | type: string, format: uuid |
#
ResponsesUma resposta é gerada confirmando a recepção do chamada, recomenda-se a verificação do estado atual do processo usando as rotas de consulta antes de prosseguir com o comando de Retomar Processo
Code | Description |
---|---|
200 | Process state set |
404 | Process not found |
#
Retomar um processoTrata-se de uma rota equivalente a rota de Executar Processo, porém para uso exclusivo em processos cujo estado atual seja de pendente.
Ao receber esse comando o estado do processo é atualizado para running para que o ciclo de execução seja retomado.
Verbo | Path | Formato |
---|---|---|
POST | /cockpit/processes/{process_id}/state/run | type: string, format: uuid |