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/structure
- 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]

Estrutura da Consulta

Quando uma verificação chega a COMPLETED, o GET /api/v2/verifications/{id} retorna o dossiê consolidado. Este documento descreve a estrutura desse retorno.

O corpo tem três partes: metadados (identificadores e datas), result (resultado consolidado do scoring) e o dossiê da entidade — em person para CPF ou em business para CNPJ.

Metadados

CampoDescrição
idID da verificação (use no polling e no webhook).
workspaceIdWorkspace dono da verificação.
profileIdProfile de scoring aplicado.
nationalIdCPF/CNPJ verificado.
statusEstado atual (ver Criação).
versionVersão do motor (ex.: v5).
executedAtInício do processamento pelo motor.
createdAt / updatedAtDatas de criação e última atualização.

result

Resultado consolidado do scoring.

CampoDescrição
scoreScore final da verificação.
scoreFactorFator de risco derivado do score.
rulesNomes das regras acionadas (apenas as dos módulos; ajustes/marcadores ficam fora).
scoreDistributionPeso relativo de cada módulo no score ({module, percent}).
executionTempos de execução (startedAt, endedAt, durationMs).
relatedCountTotal de pessoas relacionadas encontradas.

person (CPF)

Dossiê do titular pessoa física.

MóduloConteúdo
profileDados cadastrais, idade, situação fiscal, blacklist (cliente/Zarv), contatos (endereços, e-mails, telefones) e indicadores do titular.
financeRenda, patrimônio, coleções, programas assistenciais e restrições. financeAdvanced traz score de crédito, protestos, dívidas e cheques.
lawsuitsProcessos do titular (nível L1) com indicadores. defendant é o fan-out L2: co-réus (pessoas/empresas) e seus processos.
relatedRede pessoal (personal) e empresarial (business: ownerships/employments), com indicadores e totais de relacionamentos.
archetypesAderência a arquétipos (identificação; não altera o score nesta iteração).

business (CNPJ)

Dossiê da empresa pessoa jurídica.

MóduloConteúdo
profileCadastro da empresa: atividades, natureza jurídica, situação fiscal, blacklist e contatos.
financeIndicadores financeiros da empresa.
lawsuitsProcessos da empresa (L1) e fan-out L2 (defendant).
relatedRelacionamentos empresariais.
corporateStructureQuadro societário.
relationshipsSócios e pessoas relacionadas.
archetypesAderência a arquétipos.

Processos (lawsuits)

O bloco lawsuits tem a mesma estrutura para CPF e CNPJ, e o item de processo é idêntico em L1 e L2. O que muda é o campo level (L1 = processo da própria entidade; L2 = processo de um co-réu) e entityType (PERSON/COMPANY). Documentar uma vez cobre os quatro casos (L1/L2 × PF/PJ).

Container

CampoDescrição
itemsProcessos L1 — da própria entidade verificada (lista de item de processo).
countersContagem por natureza: total, criminal, civil, labour, tax, fiscal, administrative, others.
defendant.personFan-out L2: co-réus pessoas físicas e seus processos (ver Co-réu (L2)).
defendant.companyFan-out L2: co-réus pessoas jurídicas e seus processos.
indicatorsSinais de risco do módulo (ver Indicadores) — ex.: criminalRisk, creditRisk, bankruptcy.

Item de processo

Mesma forma em L1 e L2, PF e PJ.

CampoTipoDescrição
numberstringNúmero CNJ do processo.
name / nationalIdstringNome e documento da parte à qual este item pertence.
typestringTipo processual (rótulo do provedor).
mainSubjectstringAssunto principal.
cnjProcedureType / cnjSubjectstringTipo/assunto normalizados na taxonomia CNJ.
courtobjectVara/tribunal: name, level, type, district, state.
statusstringSituação bruta do provedor.
stagestringClassificação fechada derivada de status: active / suspended / terminal / unknown (use este para branch).
specificTypestringPapel específico do titular no processo (ex.: REU, INDICIADO).
polaritystringPolo do titular: ACTIVE / PASSIVE.
partTypestringCategoria da parte: accused, claimant, defendant, etc.
relationshipstringRelação do titular com o processo: exposure (réu/acusado — risco), activity (autor/exequente), context (terceiro/vítima), neutral (advogado/juiz).
debitAmountnumberValor da dívida/causa quando disponível (-1 = não informado).
partiesarrayPartes do processo: {nationalId, name, polarity, partType, specificType, isInference}.
entityTypestringPERSON / COMPANY.
levelstringL1 (entidade verificada) ou L2 (co-réu).
ruleAppliedbooltrue se este processo contribuiu com pontuação positiva no score.
ruleSeveritystringCriticidade: none, very_low, low, medium, high, critical.
indicatorsarrayIndicadores da taxonomia acionados por este processo: {name, dimension, involvement}.
relatedLawsuitsarrayNúmeros CNJ de processos ligados a este (ex.: execução × origem).
distributionDate / lastUpdateDatestringDatas de distribuição e última movimentação.

Os campos internos confidence e prediction não são retornados no payload.

Co-réu (L2)

Cada entrada de defendant.person / defendant.company embrulha os processos de um co-réu:

CampoDescrição
nationalId / nameDocumento e nome do co-réu.
levelSempre L2.
entityTypePERSON / COMPANY.
relationshipVínculo com o titular: {type, level} (ex.: REU_JUNTO / INDIRECT).
lawsuits{items, counters} — os processos do co-réu, cada um no item de processo acima.

Indicadores

Cada módulo expõe um bloco indicators com sinais tipados no formato { risky: boolean, value: number }risky marca o sinal como risco e value é a contagem/medida associada (ex.: protests, criminalRisk, activeOwnership). São a base determinística do scoring, independente da IA.

Para o exemplo completo do corpo, veja a resposta do GET /api/v2/verifications/{id}. Para o resumo por IA (quando habilitado), veja GET /api/v2/verifications/{id}/ai-summary.