Trilha 02 · BPMN na prática
Eventos
Eventos são as coisas que acontecem: o processo começa, termina, espera um prazo, recebe uma resposta, encontra um erro. São os círculos do diagrama — e a borda diz qual é qual.
Lendo a borda do círculo
A forma do círculo diz quando o evento acontece; o ícone dentro diz o quê.
Início
Borda fina. Onde nasce o token.
Intermediário
Borda dupla. Acontece no meio do caminho (espera tempo, mensagem).
Fim
Borda grossa. Onde o token é consumido.
E os ícones mais usados:
| Ícone | Tipo | Significado |
|---|---|---|
| (vazio) | Simples | Sem gatilho específico — “começou” ou “terminou” |
| Relógio | Tempo (timer) | Uma data, uma duração ou uma repetição |
| Envelope | Mensagem | Chegada (vazado) ou envio (preenchido) de mensagem de fora |
| Raio | Erro | Algo deu errado de forma prevista pelo negócio |
| Círculo cheio | Terminativo | Encerra o processo inteiro na hora |
Eventos de início
O processo começa em um evento de início. A boa prática é nomear pelo gatilho: “Pedido de compra registrado”, “Venda faturada”, “Requerimento protocolado”.
O Autoflow exige exatamente um evento de início simples (sem ícone) por fluxo — é ele que o botão Novo processo aciona. Ele pode ter um formulário de abertura (os “Dados iniciais” que a pessoa preenche ao iniciar) e grava quem iniciou na variável initiator. Sistemas externos também iniciam o processo por esse mesmo início, pela API pública — não é preciso um evento de mensagem.
Por que só um início? Porque o Autoflow trata o fluxo como algo que pessoas (ou sistemas, pela API) iniciam explicitamente. Isso simplifica permissões (quem pode iniciar), escopo (em qual filial) e numeração (cada processo ganha um número sequencial). Se você precisa de duas formas de começar, normalmente é um campo no formulário de abertura (“Tipo de solicitação”) seguido de um gateway.
Eventos de fim: um por desfecho
Um processo pode — e deve — ter vários eventos de fim, um para cada resultado de negócio diferente.
Repare nos fins deste fluxo real: Emplacado, Processo cancelado, Recusado pelo despachante, Cobrança feita. Cada um conta uma história diferente.
Fins bem nomeados viram indicadores sem esforço: “quantos processos terminaram em Recusado pelo despachante este mês?”. Com um único “Fim” você perde essa informação para sempre.
Fim terminativo
O fim terminativo (círculo cheio) encerra o processo inteiro, matando qualquer outro token que ainda esteja ativo em caminhos paralelos. Use quando um desfecho torna todo o resto inútil — por exemplo, o cliente desistiu enquanto três áreas trabalhavam em paralelo.
O fim terminativo executa no Camunda, mas não é usado nos fluxos de referência do Autoflow. As tarefas paralelas abertas somem da caixa de todos sem aviso. Teste bem e avise os usuários.
Eventos intermediários
Ficam no meio do caminho. Os dois mais úteis:
- Espera por tempo (relógio): o token para até uma data ou por um período. Ex.: “aguardar 5 dias para impugnações”.
- Espera por mensagem (envelope vazado): o token para até chegar uma resposta de fora. Ex.: “aguardar o CRLV do despachante”.
A espera por mensagem é o bloco Aguardar retorno externo do editor. O nome da mensagem precisa ser igual ao configurado no bloco Enviar a sistema externo — o validador recusa a publicação se a mensagem não tiver nome. Para timers, o bloco Calcular prazo (dias úteis) grava uma data pronta (prazoFim) que você pode usar como data do timer.
Eventos de borda
Um evento “grudado” na borda de uma atividade fica de vigia enquanto ela está ativa. É a forma elegante de modelar prazos e erros sem poluir o desenho.
| Borda | Comportamento | Use para |
|---|---|---|
| Contínua (interrompe) | Cancela a atividade e segue pelo caminho do evento | “Sem resposta em 30 dias, arquivar” |
| Tracejada (não interrompe) | Mantém a atividade e abre um caminho extra | Lembretes, cobranças, escalonamentos |
O evento de borda de erro captura uma falha de negócio da atividade. No Autoflow, ele é usado com o bloco Enviar a sistema externo: se o parceiro recusar (HTTP 4xx) e você preencher o “Código de erro para 4xx”, a recusa vira um erro BPMN capturado pela borda e o processo segue por um caminho de correção, em vez de virar incidente.
Resumo
- Borda fina = início; dupla = intermediário; grossa = fim. O ícone diz o tipo.
- O Autoflow exige um único início simples; o formulário de abertura e a API usam esse início.
- Use um fim por desfecho, com nome de negócio.
- Esperas por tempo e por mensagem modelam prazos e retornos externos.
- Eventos de borda vigiam atividades: tracejado não interrompe, contínuo interrompe.