Skip to content

Autorreferência

O runner de Autorreferência (BDOT_AUTORREFERENCIA) é o componente core responsável por permitir a composição e modularização de processos na plataforma. Ele permite que uma etapa dentro de um fluxo acione a execução de outro fluxo (ou outra versão do mesmo fluxo) publicado no ecossistema, funcionando como uma chamada de subfluxo ou função reutilizável.

O runner intercepta os parâmetros da etapa, consulta o inicializador do fluxo alvo e realiza uma chamada interna para a Engine de execução. O resultado devolvido pelo subfluxo é anexado ao histórico de execução do fluxo principal.


  1. Extração de Parâmetros

    O runner lê as configurações da etapa e aplica a interpolação de variáveis para identificar o fluxo alvo, versão, parâmetros de consulta, cabeçalhos de autorização e payload do corpo.

  2. Resolução de Inicializador

    Consulta a definição do fluxo alvo no cache para identificar o verbo HTTP correto exigido como inicializador.

  3. Invocação Interna

    Monta o contexto da requisição e aciona a Engine de forma síncrona ou assíncrona.

  4. Tratamento do Retorno

Aguarda a conclusão do subfluxo e registra a resposta obtida (status, cabeçalhos, corpo e duração) no histórico da etapa para uso pelos nós seguintes.


Parâmetros e Formulário de Configuração

Section titled “Parâmetros e Formulário de Configuração”

Os parâmetros deste runner são configurados no formulário do Editor Visual e serializados no mapa de definição da etapa:

Campo no Formulário / Atributo JSON Tipo Obrigatório Descrição
bdot:fluxo String Sim Identificador/código único do fluxo alvo a ser acionado.
bdot:versao String Sim Tag da versão do fluxo alvo que deve ser executada (ex: 1.0.0).
bdot:async Boolean Não Define se a chamada ao subfluxo será feita de forma assíncrona (true) ou síncrona (false). Padrão: false.
bdot:configAuth Boolean Não Habilita o repasse de token de autorização JWT para o subfluxo.
bdot:autorizacao String Condicional Token JWT ou expressão de interpolação (ex: ${entrada.auth.token}). Obrigatório se bdot:configAuth = true.
bdot:configQuery Boolean Não Habilita o envio de parâmetros de consulta (query params) para o subfluxo.
bdot:queryParams String (JSON) Condicional Documento JSON com os query params a serem repassados. Obrigatório se bdot:configQuery = true.
bdot:configBody Boolean Não Habilita o envio de payload no corpo da requisição para o subfluxo.
bdot:body String (JSON) Condicional Documento JSON ou texto com o corpo enviado ao subfluxo. Suporta interpolação de variáveis. Obrigatório se bdot:configBody = true.

Exemplo da estrutura das chaves bdot:* geradas pelo Editor Visual para este runner:

definicao.json
{
"bdot:fluxo": "fluxo_calculo_impostos_001",
"bdot:versao": "1.0.0",
"bdot:async": false,
"bdot:configAuth": true,
"bdot:autorizacao": "${entrada.auth.token}",
"bdot:configQuery": false,
"bdot:configBody": true,
"bdot:body": "{\"valorTotal\": ${dados.pedido.valorTotal}, \"uf\": \"${dados.cliente.uf}\"}"
}