6.3. Executor

Executor (Runner)

O Executor — chamado de Runner no contrato técnico (ClickFlow Runner API) — é a ponte entre o Orquestrador e o mundo externo. A cada passo, ele consulta o Orquestrador ("o que eu faço agora?"), aciona o módulo indicado e entrega a experiência ao canal do contato. O Executor não decide a ordem do flow — só executa.

🚀 Iniciar e acompanhar uma execução

Iniciar

POST /api/v1/flows/{flow_id}/execute

{
  "channel": "whatsapp",
  "contact": {
    "person_name": "Maria da Silva",
    "phone_number": "5511999999999",
    "person_documentation": "52998224725",
    "person_birthday": "1990-05-06"
  }
}

O parâmetro channel

ValorComportamento
whatsapp (padrão)O Executor envia as mensagens automáticas — apresentação, link de cada step e conclusão. contact.phone_number é obrigatório.
apiO Executor não envia nada. A resposta inclui current_step (id, type, url) com o passo em andamento — cabe ao seu sistema entregar esse link ao contato. contact.phone_number é opcional.

Exceção: steps acceptance sempre disparam WhatsApp (é uma interação funcional) e falham sem phone_number, mesmo em channel: api.

Contexto no disparo (context)

Objeto opcional, chave-valor livre, para dados que o seu sistema já tem (CPF do cônjuge, parâmetros da esteira, etc.). Entra no resolvedor de placeholders ({{chave}}): interpolação de envelope/signatários, pré-preenchimento de formulário via context_map_keys e variáveis de consent. É objeto, não array. Teto de 150 KiB depois do JSON; acima disso o POST /execute responde 400 e não cria a execução. Omitir o campo mantém o comportamento anterior.

{
  "contact": { "phone_number": "5511999999999" },
  "context": {
    "cpf_conjuge": "52998224725",
    "produto": "auto"
  }
}

Anexando arquivos no próprio disparo (runner_files)

Se o step signature do flow declarar documents[].kind: "runner_files", você pode enviar o conteúdo do arquivo já no POST /execute, casando pelo key:

{
  "contact": { "phone_number": "5511999999999" },
  "files": [
    {
      "key": "1",
      "content_base_64": "data:application/pdf;base64,JVBERi0xLjQK..."
    }
  ]
}

Acompanhar

GET /api/v1/executions/{execution_id} — retorna o registro consolidado (status, current_step, files[] com URL temporária de leitura).

GET /api/v1/executions/{execution_id}/steps — retorna o histórico de etapas já executadas.

Cancelar

POST /api/v1/executions/{execution_id}/cancel — idempotente sobre uma execução já cancelada (responde 200 de novo, sem novo evento); responde 409 se a execução já estiver em outro estado terminal (completed/failed).

📍 Endpoints

MétodoEndpointDescrição
POST/api/v1/flows/{flow_id}/executeInicia uma execução de fluxo
GET/api/v1/executions/{execution_id}Retorna uma execução
GET/api/v1/executions/{execution_id}/stepsLista os steps de uma execução
POST/api/v1/executions/{execution_id}/cancelCancela uma execução

Referência completa, com Try It: Executor (Runner).

🔒 Autenticação

Header Authorization com o UUID do access_token (sem Bearer) — mesmo token usado no Orquestrador.




❓Precisa de ajuda? Entre em contato com o Suporte

💰Dúvida sobre planos e preços? Veja o comparativo

🔍Não sabe qual versão está usando? Descubra a sua versão

📚Respostas rápidas? Visite nosso FAQ


Did this page help you?