API para conduzir um fluxo do SmartFlow passo a passo, como um agente conversacional: descubra o fluxo, crie o lead, envie cada resposta e siga a nextStepUrl de cada resposta até a decisão. Os passos de captura (facematch e CNH) são entregues por link hospedado.
Servers
Descobrir fluxo
Retorna a definição do fluxo: os passos habilitados na ordem canônica (steps), quais deles são capturas com link hospedado (handoffSteps) e os campos personalizados (fields). A ordem dos passos é fixa pelo produto; um fluxo varia apenas em quais passos possui. flowId é o id do próprio fluxo, não a chave pública do embed.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do fluxo (flowId).
Responses
Definição do fluxo.
Lead
Criação e avanço passo a passo do lead
Operations
Iniciar lead
Cria um lead no fluxo informado e retorna o primeiro passo e a nextStepUrl a chamar. O campo externalId funciona como chave de idempotência: repetir a chamada com o mesmo valor retorna o lead já criado. Se prefill trouxer dados de identidade (name, nationalId, birthDate), é obrigatório enviar acceptedTerms: true; caso contrário a resposta é 400 com o código terms_required. Os campos utm e metadata são gravados no lead e devolvidos nas leituras de status e no webhook.
Authorizations
For more details, see Authentication v2
Request Body
Responses
Lead criado (ou lead existente, quando externalId já foi usado).
Consultar status do lead
Retorna o estado atual do lead: o envelope padrão acrescido de decision (status e data da decisão, quando já houver) e metadata (os metadados enviados na criação).
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Responses
Estado atual do lead.
Enviar dados básicos
Envia nome completo, data de nascimento, CPF e o aceite dos termos. O servidor valida, grava e avança o lead para o próximo passo.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Enviar e-mail
Registra o e-mail do lead e emite um código de verificação (OTP) para ele. O código deve ser confirmado em email/confirm.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Confirmar e-mail
Valida o código (OTP) recebido pelo lead por e-mail.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Enviar telefone
Registra o telefone do lead e emite um código de verificação (OTP) para ele. O código deve ser confirmado em phone/confirm. Não há atalho sem OTP: o telefone é verificado da mesma forma que o e-mail.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Confirmar telefone
Valida o código (OTP) recebido pelo lead no telefone.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Enviar endereço
Envia o endereço do lead. O servidor valida, grava e avança o lead para o próximo passo.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Enviar campo personalizado
Grava um único campo personalizado por chamada, com mescla por id (não substitui os demais). A resposta traz nextCustomField com o próximo campo pendente; o step permanece custom até que todos os campos obrigatórios estejam preenchidos e só então avança. Os campos disponíveis vêm de fields em getFlow.
Campos do tipo file são enviados como multipart/form-data com o arquivo na parte file (os demais tipos usam JSON { "value": ... }). O arquivo é validado (máx. 10MB e tipo MIME conforme os grupos do campo) e armazenado; a chave do objeto vira o valor do campo. Erros: file_required, file_too_large, file_type_not_allowed (400) e upload_failed (502).
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Identificador do campo personalizado (por exemplo, f_k3n8p2q7).
Request Body
Responses
Lead avançado; retorna o envelope padrão com o próximo passo.
Obter link de facematch
Quando o próximo passo é facematch, retorna o envelope padrão com handoffUrl: um link hospedado de captura (não é iframe nem SDK) para enviar ao usuário. A captura ocorre no dispositivo dele (câmera) e a conclusão é sinalizada de forma assíncrona pelo webhook lead.face.completed; depois disso, retome o fluxo.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Responses
Envelope com o link de captura.
Obter link de CNH
Quando o próximo passo é driver-license, retorna o envelope padrão com handoffUrl: um link hospedado de captura da CNH para enviar ao usuário. A conclusão é sinalizada de forma assíncrona pelo webhook lead.cnh.completed; depois disso, retome o fluxo.
Authorizations
For more details, see Authentication v2
Parameters
Path Parameters
Identificador do lead (leadId).
Responses
Envelope com o link de captura.