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
channel| Valor | Comportamento |
|---|---|
whatsapp (padrão) | O Executor envia as mensagens automáticas — apresentação, link de cada step e conclusão. contact.phone_number é obrigatório. |
api | O 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)
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)
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étodo | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/flows/{flow_id}/execute | Inicia uma execução de fluxo |
| GET | /api/v1/executions/{execution_id} | Retorna uma execução |
| GET | /api/v1/executions/{execution_id}/steps | Lista os steps de uma execução |
| POST | /api/v1/executions/{execution_id}/cancel | Cancela 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
Updated 2 days ago