Neste guia, vamos explorar como os diferentes níveis de configuração são somados para formar uma esteira de etapas completa. Por exemplo, se a empresa define 3 etapas, o produto tem 2 etapas, e a configuração geral inclui 1 etapa, então a esteira final terá um total de 6 etapas. Além disso, etapas com nomes idênticos serão substituídas com base na prioridade definida.

A esteira pode ser organizada em três níveis hierárquicos:

  1. Configuração da Empresa
  2. Configuração do Produto
  3. Configuração Geral

A configuração da empresa tem a maior prioridade. Se esta estiver ausente, a configuração do produto será aplicada. Na ausência de ambas, a configuração geral será usada.

As etapas da esteira são vinculadas no momento da criação do empréstimo. Alterações na configuração não afetam empréstimos já existentes.

Exemplos

Listamos alguns casos de uso comuns de hieraria e excessões.

Configurando a esteira para não solicitar a averbação de uma empresa específica

O primeiro passo é definir todas as etapas padrão na configuração geral.

Atualize a configuração geral da esteira utilizando o endpoint Atualizar Configurações da API de Configurações.

curl --request POST \
    --url https://api.base39.io/v1/settings \
    --header 'authorization: Basic <sua-api-key>' \
    --data '
    {
      "steps": {
        "averbacao": {
          "title": "Averbação do RH",
          "type": "signature",
          "methodData": {
            "type": "operator",
            "role": "approver"
          }
        }
        // ... outras etapas ...
      }
    }
    '

Para criar uma exceção, atualize a configuração da empresa ou do produto, substituindo a etapa de averbação pelo tipo pass. O tipo pass indica que a etapa será automaticamente marcada como concluída, sem necessidade de processamento.

Atualize a configuração da empresa utilizando o endpoint Atualizar empresa.

curl --request POST \
    --url https://api.base39.io/v1/companies/<id> \
    --header 'authorization: Basic <sua-api-key>' \
    --data '
      {
        "settings": {
          "steps": {
            "averbacao": {
              "type": "pass"
            }
          }
        }
      }
    '

Respeitando a hierarquia, a configuração final nos empréstimos dessa empresa será uma mescla das etapas presentes tanto na configuração global quanto na configuração específica da empresa. Nesse caso, a esteira resultante terá etapas para averbação do RH, validação de documentos frente e verso.

Note que os parâmetros title e needs foram herdados da configuração global.

{
  "steps": {
    "averbacao": {
      "title": "Averbação do RH",
      "type": "pass",
      "needs": ["validacaoDocumentoFrente", "validacaoDocumentoVerso"]
    },
    "validacaoDocumentoFrente": {
      "title": "Validação de Documento (Frente)",
      "type": "document_verification",
      "methodData": {
        "purpose": "identity_document_front"
      }
    },
    "validacaoDocumentoVerso": {
      "title": "Validação de Documento (Verso)",
      "type": "document_verification",
      "methodData": {
        "purpose": "identity_document_back"
      }
    }
  }
}

Você pode conferir o resultado final criando um empréstimo e consultando as etapas através do endpoint Listar etapas.

curl --request GET \
    --url https://api.base39.io/v1/steps?loan=<id> \ # ou /v1/loans/<id>/steps
    --header 'authorization: Basic <sua-api-key>'