Pular para o conteúdo principal

Workflow

O Workflow é o motor que define as condições de negócio que retêm ou liberam um valor. Ele é genuinamente opcional — uma Transaction pode ser criada sem nenhum workflowVersionId, e executeSettlement() nunca verifica o estado do Workflow de qualquer forma (ver Transaction, Settlement, Split e Refund). Use-o quando quiser que a própria plataforma modele e imponha o ciclo de vida do seu produto; dispense-o quando sua própria aplicação já decide quando liquidar. Sete conceitos compõem esse motor:

  • Workflow — o "molde" reutilizável de um processo (ex.: escrow simples, marketplace com split).
  • Workflow Version — um snapshot imutável e publicável de um Workflow. Toda Transaction referencia uma versão específica, nunca o Workflow "atual" — depois de publicada, uma versão nunca é alterada; uma mudança exige nova versão.
  • State — um estado possível dentro de uma Workflow Version (ex.: waiting_payment, funded, settled).
  • Transition — a aresta permitida entre dois States, governada por uma ou mais Rules.
  • Rule — a condição configurável que autoriza uma Transition.
  • Condition — o predicado avaliado dentro de uma Rule (ex.: prazo expirado, valor recebido ≥ esperado).
  • Action — o efeito colateral disparado por uma Transition bem-sucedida (ex.: disparar um Settlement, emitir um Webhook).

Fluxo de criação

  1. Criar o Workflow (rascunho).
  2. Definir States, Transitions e Rules.
  3. Publicar — a plataforma valida consistência (estados alcançáveis, sem ciclos inválidos) antes de tornar a versão imutável.

Rotas