Skip to content
Vai integrar a API do Decision Engine com ajuda de IA? Copie a instrução que aponta o modelo para esta documentação.
Ver a instrução
Você vai integrar a API do Decision Engine. Use a documentação oficial como fonte da verdade.

- Página desta integração: https://developers.zarv.com/api/decision-engine/creation
- Spec OpenAPI (fonte da verdade para rotas e schemas): https://developers.zarv.com/openapi/decision-engine-api.json
- Autenticação: https://developers.zarv.com/api/decision-engine/authentication
- Webhook de verificação: https://developers.zarv.com/api/decision-engine/webhook
- Índice da documentação em markdown: https://developers.zarv.com/llms.txt
- Documentação completa em um arquivo: https://developers.zarv.com/llms-full.txt

O spec OpenAPI acima é a fonte da verdade para rotas, parâmetros e schemas — confira nele antes de escrever qualquer request. A decisão final chega por webhook, não pela resposta da chamada que cria a verificação.

Antes de escrever qualquer código, leia a página desta integração. Siga exatamente os nomes de campos, endpoints, callbacks e formatos que estiverem documentados — não invente parâmetros nem endpoints, e não deduza comportamento a partir de outras APIs que você conhece. Se algo de que você precisa não estiver na documentação, diga que não está em vez de supor.

Minha tarefa: [ex.: enviar uma verificação e consumir o webhook de conclusão]

Criação de Verificação

A criação de uma verificação no motor novo (engine) é assíncrona: o POST /api/v2/verifications valida o payload, enfileira a verificação e responde imediatamente com status CREATED. O resultado consolidado é obtido depois via GET /api/v2/verifications/{id} (polling) ou pelo webhook de callback.

Para rotear ao motor novo, envie profileId (o ID do profile de scoring). Sem profileId, a requisição segue o fluxo legado.

Campos do payload

Nível raiz

CampoTipoObrigatórioO que faz
nationalIdstringsimCPF (11 dígitos) ou CNPJ (14 dígitos) a verificar. Define a entidade (PF/PJ).
profileIdstringnãoProfile de scoring aplicado. Presente → roteia para o motor novo; ausente → fluxo legado.
inputarraynãoDados de caso declarados pelo solicitante ({attribute, value}). Servem de contexto para a análise de IA (comparados com os dados encontrados).
callbackobjectnãoWebhook chamado quando a verificação chega a COMPLETED/FAILED. Ver Webhook.
metadataobjectnãoDados livres devolvidos no payload do webhook (rastreio interno).

verifications

Bloco de configuração dos módulos — cada flag liga/ajusta uma etapa do pipeline.

CampoTipoO que ativa
ia.resumebooleanGera o resumo/veredito por IA. Só ocorre se o profile tiver IA habilitada; este bloco sobrepõe por execução.
finance.restrictionsbooleanConsulta de restrições financeiras (pendências/negativações básicas).
finance.advancedbooleanMódulo financeAdvanced — dados avançados de crédito, protestos, dívidas e cheques.
faceRecognitionobjectBiometria facial. Envie imageURL (ou image base64) para validar a face do titular.
cnhobjectValidação de CNH via OCR (Document AI). Envie imageURL ou imageBase64 do documento.
sourcestringOrigem da solicitação (API/UI). Default API.
forcebooleanReprocessa ignorando cache — força nova consulta às fontes externas.
modulesarrayOverride modular (exclusivo do motor): {name, enabled} liga/desliga módulos do profile nesta verificação. Cada name deve existir no catálogo do profile; módulos não listados usam o default.

entity (PERSON/COMPANY) não é enviado no request — o motor infere pelo nationalId e devolve na resposta.

Máquina de estados

Toda verificação percorre os estados abaixo. COMPLETED e FAILED são terminais; o webhook (se configurado) dispara ao alcançá-los.

text
                        ┌───────────┐
                        │  CREATED  │   POST aceito e enfileirado
                        └─────┬─────┘
                              │  consumer do motor inicia

                        ┌────────────┐
                 erro   │ PROCESSING │   módulos do motor rodando
             ┌──────────┤            │
             │          └─────┬──────┘
             │                │
             │       profile com IA e sem deferAutopilot?
             │          sim ──┴── não
             │           │         │
             │           ▼         │
             │    ┌────────────┐   │
             │    │ ANALYZING  │   │   motor ok, resumo de IA sendo gerado
             │    │ (IA)       │   │
             │    └─────┬──────┘   │
             │          │          │
             │          ▼          ▼
             │        ┌───────────────┐
             │        │   COMPLETED   │   terminal (sucesso)
             │        └───────────────┘

        ┌───────────┐
        │  FAILED   │   terminal (falha)
        └───────────┘

Fluxos com validação de CNH podem passar por um estado intermediário CNH_EXTRACT durante a extração do documento (Document AI) antes de PROCESSING.

Estados

StatusTerminalDescrição
CREATEDnãoVerificação aceita e enfileirada. Resposta imediata do POST.
CNH_EXTRACTnãoExtração de dados da CNH via OCR (apenas fluxos com cnh).
PROCESSINGnãoMotor executando os módulos (perfil, finanças, processos, relacionados, etc.).
ANALYZINGnãoMotor concluído; resumo por IA sendo gerado. O endpoint /ai-summary já responde nesse estado (fallback). Verificações sem IA pulam direto para COMPLETED.
COMPLETEDsimVerificação concluída com resultado consolidado disponível.
FAILEDsimFalha no processamento.

Consulte a estrutura da resposta para o formato do dossiê retornado em COMPLETED.