6.2. Orquestrador
Orquestrador
O ClickFlow Orchestrator é o serviço central de governança da esteira: guarda a definição estrutural do flow e o estado de cada execução, e decide qual é o próximo passo — sem executar nada e sem conhecer o canal de comunicação com o usuário final.
💾 Modelo de dados
A API é stateless e possui duas entidades:
- Flow — a definição: nome + lista ordenada de
steps. - Execution — uma instância de um flow publicado, em execução: passo atual, histórico de passos, status.
Status do Flow
| Status | Significado |
|---|---|
draft | Editável livremente via PUT. |
published | Disponível para iniciar execuções. Não pode ser editado — use unpublish antes. |
unpublished | Voltou a ser editável; não aceita novas execuções até publicar de novo. |
deleted | Removido (soft delete via DELETE). |
Status da Execution
running · waiting · completed · failed · canceled — este último é definitivo (POST .../cancel é irreversível; /next passa a responder 409).
🧩 Tipos de step
Cada step do flow tem um type e um context cujo formato depende do tipo:
type | Módulo acionado | O que o context carrega |
|---|---|---|
acceptance | Aceite via WhatsApp | template_key, accept_replies (respostas que valem como aceite) |
consent | Aceite (evolução desacoplada do módulo) | channel_type, template_id, channel_params.steps[].variables |
form | ClickForm | version_key; opcional contact (atualiza dados do contato) e context_map_keys (pré-preenchimento a partir de respostas de steps anteriores ou de placeholders como {{person_name}}/{{phone_number}}) |
verify | Verify (autenticação/biometria) | authentication (liveness, biometric_behavior, identity_biometrics), result_policy (passthrough não interrompe a execução em caso de reprovação), provider_priority (ordem de fallback entre provedores), instructions (exibe ou oculta a tela de instruções antes da captura), contact_fields_map |
kyc | KYC (Background Check) | type (business ou customer) |
signature | Assinatura | documents[] (kind: file, template ou runner_files), settings do envelope (deadline_at, folder_key, locale, remind_interval, auto_close, block_after_refusal, default_message, default_subject, name), signers[] (signatários adicionais, com auths, roles, communicate_events; identidade — name, documentation, birthday, phone_number, email — aceita {{chave-do-campo}} de um form anterior da mesma jornada) |
result_policy: "passthrough"cobre reprovação (resultado negativo válido) — não cobre falha operacional do provedor de Verify (sem resultado, ou resultado incompleto), que sempre falha o step e a execução, mesmo compassthroughdeclarado.
Exemplos completos de cada combinação estão nos exemplos do endpoint POST /flows na referência (aba Try It).
📍 Endpoints
| Recurso | Método | Endpoint | Descrição |
|---|---|---|---|
| Flows | GET | /api/v1/flows | Lista flows |
| Flows | POST | /api/v1/flows | Cria flow (draft) |
| Flows | GET | /api/v1/flows/{id} | Obtém flow por ID |
| Flows | PUT | /api/v1/flows/{id} | Atualiza flow |
| Flows | DELETE | /api/v1/flows/{id} | Remove flow |
| Flows | PATCH | /api/v1/flows/{id}/publish | Publica flow |
| Flows | PATCH | /api/v1/flows/{id}/unpublish | Despublica flow |
| Executions | GET | /api/v1/flows/{id}/executions | Lista execuções de um flow |
| Executions | POST | /api/v1/flows/{id}/executions | Inicia execução de um flow publicado |
| Executions | GET | /api/v1/executions/{execution_id} | Estado da execução |
| Executions | POST | /api/v1/executions/{execution_id}/next | Avança para o próximo passo |
| Executions | POST | /api/v1/executions/{execution_id}/cancel | Cancela execução em andamento |
Referência completa, com Try It: Orquestrador.
🔒 Autenticação
Header Authorization com o UUID do access_token (sem Bearer), validado por introspecção.
❓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 4 days ago