Motor de Decisão#

O Motor de Decisão automatiza a avaliação de risco jurídico de pessoas físicas e jurídicas. Ele aplica regras configuradas conforme o caso de uso (crédito, onboarding, compliance) e retorna um nível de criticidade calculado conforme configuração do seu motor.

Como funciona o Motor de Decisão#

  1. Você define, junto com o time Jusbrasil, os critérios de risco (ex.: fluxo_onboarding, fluxo_credito, fluxo_pld e etc).

  2. Isso gera um criteria_slug.

  3. Para cada CPF/CNPJ, você chama POST /background-check/assessments com document_number + criteria_slug.

  4. O Motor retorna a criticidade calculada.

  5. Se precisar entender por que deu aquele resultado, use GET /background-check/assessments/{id}/audit para ver processos, regras e justificativas.

Conceitos importantes:

  • Critério de risco (criteria_slug) – conjunto de regras configurado para um caso de uso (ex.: onboarding, crédito, fraude). Definido com o nosso time de legal experts.

  • Avaliação – resultado da aplicação de um critério de risco a um documento CPF/CNPJ.

  • Criticidade – nível de risco único retornado por motores numéricos (ex.: "6").

  • Criticidades – lista de níveis de risco retornada por motores por lista (ex.: ["1", "3", "5"]). Cada valor corresponde a um item avaliado pelo motor.

  • Justificativa – item que explica por que aquela criticidade foi atribuída ao documento consultado. Contém o processo relacionado e as razões (regras ativadas).

  • Razão – detalhe dentro de uma justificativa que mostra qual regra específica foi ativada, qual criticidade ela atribuiu e quais condições a ativaram (ex.: categoria de crime, quantidade de processos civis).

O processamento é síncrono: a criticidade é calculada na mesma requisição, SLA médio < 1s.

Tipos de motor#

A API suporta dois tipos de motor de decisão. O tipo é determinado pelo criteria_slug utilizado na requisição e influencia o formato da resposta.

Característica

Motor numérico

Motor por lista

Saída

Criticidade única ("criticidade": "6")

Array de criticidades ("criticidades": ["1", "3", "5"])

Lógica de risco

Consolidada em um valor único, conforme regras definidas para o critério

Avaliação individual por processo ou outro agrupamento definido com o cliente, conforme regras do critério

Campo de resposta

criticidade (string)

criticidades (array de strings)

Criar avaliação de decisão#

Cria a consulta de avaliação para determinado CPF/CNPJ aplicando os critérios definidos pelo cliente por cada criteria_slug. Retorna 201 (Created) com o corpo da avaliação e o header Location apontando para o recurso criado.

cURL

curl -X POST 'https://api.jusbrasil.com.br/background-check/assessments' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: <sua_api_key>' \
  -H 'X-Request-ID: <uuid-v4>' \
  -d '{
    "document_number": "72833664826",
    "criteria_slug": "<seu_criteria_slug>",
    "external_id": "external_id" // * CAMPO OPCIONAL *
  }'

Nota

Recomendamos enviar o header X-Request-ID (UUID v4) para facilitar rastreamento e suporte.

Resposta (motor numérico)

HTTP/1.1 201 Created
Content-Type: application/json
Location: /background-check/assessments/5a33677d-fd64-4f9d-a8af-3c3aed77c95f

{
  "data": {
    "id_avaliacao": "5a33677d-fd64-4f9d-a8af-3c3aed77c95f",
    "criticidade": "1",
    "data_criacao": "2024-06-20T12:34:56Z"
  },
  "_meta": {
    "external_id": "123",
    "criteria_slug": "fluxo_onboarding",
    "criteria_version": "v1",
    "identificacao": {
      "numero_documento": "72833664826",
      "tipo_documento": "CPF"
    }
  }
}

Resposta (motor por lista)

HTTP/1.1 201 Created
Content-Type: application/json
Location: /background-check/assessments/8b12c4e1-a3f5-4d7e-9c2b-1f4a5b6c7d8e

{
  "data": {
    "id_avaliacao": "8b12c4e1-a3f5-4d7e-9c2b-1f4a5b6c7d8e",
    "criticidades": ["3", "5"],
    "data_criacao": "2025-04-20T14:22:10Z"
  },
  "_meta": {
    "external_id": "456",
    "criteria_slug": "fluxo_compliance",
    "criteria_version": "v1",
    "identificacao": {
      "numero_documento": "***********",
      "tipo_documento": "CPF"
    }
  }
}

Nota

Motores numéricos retornam criticidade (string). Motores por classe retornam criticidades (array de strings).

Consultar avaliação por ID#

Obtém uma avaliação existente a partir do id_avaliacao. Retorna 200 (OK) com os dados calculados e metadados de identificação.

cURL

curl -X GET 'https://api.jusbrasil.com.br/background-check/assessments/5a33677d-fd64-4f9d-a8af-3c3aed77c95f' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: <sua_api_key>' \
  -H 'X-Request-ID: <uuid-v4>'

Resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "data": {
    "id_avaliacao": "5a33677d-fd64-4f9d-a8af-3c3aed77c95f",
    "criticidade": "6",
    "data_criacao": "2024-06-20T12:34:56Z"
  },
  "_meta": {
    "external_id": "123",
    "criteria_slug": "fluxo_onboarding",
    "criteria_version": "v1",
    "identificacao": {
      "numero_documento": "***********",
      "tipo_documento": "CPF"
    }
  }
}

Nota

Para motores por lista, o campo criticidade é substituído por criticidades (array).

Listar justificativas e processos de uma avaliação#

Retorna os detalhes da auditoria de uma avaliação, incluindo os processos, regras e justificativas aplicados no cálculo da criticidade para o conjunto de critérios informado.

Este endpoint permite acompanhar como suas regras foram aplicadas e contribuíram para o resultado final, exibindo as justificativas e as razões (regras ativadas).

cURL

curl -X GET 'https://api.jusbrasil.com.br/background-check/assessments/5a33677d-fd64-4f9d-a8af-3c3aed77c95f/audit' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: <sua_api_key>' \
  -H 'X-Request-ID: <uuid-v4>'

Resposta (motor numérico)

HTTP/1.1 200 OK
Content-Type: application/json

{
  "data": {
    "id_avaliacao": "019a4eb3-9e4b-74fc-95aa-f482500f2d36",
    "criticidade": "6",
    "justificativas": [
        {
          "id_justificativa": "019a4b10-fbac-752e-b39b-2ff085f75583",
          "tipo": "processo",
          "item": {
              "numero": "0079466-67.2025.8.19.0000",
              "tipo_processo": "CRIMINAL",
              "ano_processo": 2025,
              "assunto": "Direito Penal",
              "classe_processual": "PROCESSO_PRINCIPAL",
              "link": "https://www.jusbrasil.com.br/consulta-pro/processos/0079466-67.2025.8.19.0000",
              "tipificacao": [
                  {
                    "codigo_ocorrencia": "10846",
                    "tipo_de_ocorrencia": "PENAL",
                    "descricao_ocorrencia": "Crimes contra a vida",
                    "legislacao": [
                        {
                          "lei": "Art. 121, § 2º, CP",
                          "pena_prevista": "12 a 30 anos"
                        }
                    ]
                  }
              ]
          },
          "razoes": [
              {
                "id_razao": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                "criticidade": "6",
                "referencia": {
                    "qtd_criminal_diversos": 1
                },
                "data_criacao": "2025-11-03T18:53:15.56432525Z"
              }
          ],
          "data_criacao": "2025-11-03T18:53:15.56432525Z"
        },
        {
          "id_justificativa": "0278a1c1-9ca9-4d36-9636-aae1e9c22d16",
          "tipo": "processo",
          "item": {
              "numero": "0279329-59.2024.8.19.0003",
              "tipo_processo": "CIVIL",
              "ano_processo": 2024,
              "assunto": "DIREITO DO CONSUMIDOR",
              "classe_processual": "",
              "link": "https://www.jusbrasil.com.br/consulta-pro/processos/0279329-59.2024.8.19.0003",
              "tipificacao": []
          },
          "razoes": [
              {
                "id_razao": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                "criticidade": "4",
                "referencia": {
                    "qtd_civil_diversos": 1
                },
                "data_criacao": "2025-11-03T18:53:15.56432525Z"
              }
          ],
          "data_criacao": "2025-11-03T18:53:15.56432525Z"
        }
    ],
    "data_criacao": "2025-11-04T11:49:45.675322027Z"
  },
  "_meta": {
    "total": 2,
    "limit": 20,
    "criteria_slug": "fluxo_onboarding",
    "cursor": "eyJsaW1pdCI6MjAsImxhc3RfaWRfdmFsdWUiOi...",
    "identificacao": {
      "numero_documento": "***********",
      "tipo_documento": "CPF"
    }
  }
}

Resposta (motor por lista)

HTTP/1.1 200 OK
Content-Type: application/json

{
  "data": {
    "id_avaliacao": "8b12c4e1-a3f5-4d7e-9c2b-1f4a5b6c7d8e",
    "criticidades": ["3", "5"],
    "justificativas": [
        {
          "id_justificativa": "c3d4e5f6-a7b8-9012-cdef-234567890123",
          "tipo": "processo",
          "item": {
              "numero": "1234567-89.2023.8.11.0001",
              "tipo_processo": "Criminal",
              "ano_processo": 2023,
              "assunto": "Crime Ambiental",
              "classe_processual": "PROCESSO_PRINCIPAL",
              "link": "https://www.jusbrasil.com.br/consulta-pro/processos/1234567-89.2023.8.11.0001",
              "tipificacao": [
                  {
                    "codigo_ocorrencia": "10846",
                    "tipo_de_ocorrencia": "PENAL",
                    "descricao_ocorrencia": "Crimes Ambientais",
                    "legislacao": [
                        {
                          "lei": "Lei 9.605/98",
                          "pena_prevista": "1 a 4 anos"
                        }
                    ]
                  }
              ]
          },
          "razoes": [
              {
                "id_razao": "d4e5f6a7-b8c9-0123-defa-345678901234",
                "criticidade": "3", // Criticidade relacionada ao processo especifico
                "referencia": {
                    "categoria_crime": "crimes_ambientais"
                },
                "data_criacao": "2025-04-20T14:22:10Z"
              }
          ],
          "data_criacao": "2025-04-20T14:22:10Z"
        },
        {
          "id_justificativa": "e5f6a7b8-c9d0-1234-efab-456789012345",
          "tipo": "processo",
          "item": {
              "numero": "9876543-21.2024.8.01.0001",
              "tipo_processo": "CIVIL",
              "ano_processo": 2024,
              "assunto": "Improbidade Administrativa",
              "classe_processual": "PROCESSO_PRINCIPAL",
              "link": "https://www.jusbrasil.com.br/consulta-pro/processos/9876543-21.2024.8.01.0001",
              "tipificacao": []
          },
          "razoes": [
              {
                "id_razao": "f6a7b8c9-d0e1-2345-fabc-567890123456",
                "criticidade": "5",
                "referencia": {
                    "qtd_civil_diversos": 1
                },
                "data_criacao": "2025-04-20T14:22:10Z"
              }
          ],
          "data_criacao": "2025-04-20T14:22:10Z"
        }
    ],
    "data_criacao": "2025-04-20T14:22:10Z"
  },
  "_meta": {
    "total": 2,
    "limit": 20,
    "criteria_slug": "fluxo_compliance",
    "criteria_version": "v1",
    "cursor": "eyJsaW1pdCI6MjAsImxhc3RfaWRfdmFsdWUiOi...",
    "identificacao": {
      "numero_documento": "***********",
      "tipo_documento": "CPF"
    }
  }
}

Nota

A resposta do motor por lista traz criticidades (array) em vez de criticidade (string). Cada justificativa detalha um item que contribuiu para uma das criticidades retornadas. Quando disponível, o item inclui detalhes de tipificação penal (código de ocorrência, descrição e legislação). O campo tipificacao será um array vazio quando não houver tipificação associada.

Parâmetros de Resposta#

Avaliação#

Parâmetro

Tipo

Descrição

id_avaliacao

String

Identificador da avaliação (UUID v4).

criticidade

String/null

Nível de criticidade resultante (motores numéricos). Presente quando o motor retorna um valor único.

criticidades

Lista de Strings

Array de criticidades (motores por lista). Presente quando o motor retorna múltiplas classificações.

data_criacao

String

Data de criação no formato ISO 8601.

Justificativas#

Parâmetro

Tipo

Descrição

justificativas

Lista

Lista de justificativas para a criticidade. Disponível no endpoint de auditoria.

justificativas.id_justificativa

String

ID da justificativa.

justificativas.tipo

String

Tipo de item (ex: "processo").

justificativas.data_criacao

String

Data de criação da justificativa (ISO 8601).

Item do processo (justificativas.item)#

Parâmetro

Tipo

Descrição

numero

String

Número CNJ do processo.

tipo_processo

String

Tipo do processo (ex: "Criminal", "CIVIL").

ano_processo

Integer

Ano do processo.

assunto

String

Assunto do processo.

link

String

Link para a página do processo no Jusbrasil.

classe_processual

String

Classe processual normalizada (ex: "PROCESSO_PRINCIPAL", "RECURSO").

tipificacao

Lista

Ocorrências de tipificação penal do processo. Array vazio quando não houver tipificação associada.

Tipificação (justificativas.item.tipificacao[])#

Parâmetro

Tipo

Descrição

codigo_ocorrencia

String

Código TPU da ocorrência penal.

tipo_de_ocorrencia

String

Tipo da ocorrência (ex: "PENAL").

descricao_ocorrencia

String

Descrição da ocorrência (ex: "Crimes Ambientais").

legislacao

Lista

Legislações relacionadas à ocorrência.

legislacao.lei

String

Lei aplicável (ex: "Lei 9.605/98").

legislacao.pena_prevista

String

Pena prevista na legislação.

Razões (justificativas.razoes[])#

Parâmetro

Tipo

Descrição

id_razao

String

ID da razão.

criticidade

String

Criticidade atribuída por esta regra específica.

referencia

Objeto

Condições que ativaram a regra. As chaves variam conforme a configuração do motor (ex: categoria_crime, qtd_civil_diversos, qtd_criminal_diversos).

data_criacao

String

Data de criação da razão (ISO 8601).