> ## Documentation Index
> Fetch the complete documentation index at: https://base39-release-notes-06-mar.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Checklist

> Este guia fornece uma lista abrangente de itens a serem configurados para inicializar o seu ambiente, seja ele de teste ou de produção, na plataforma.

A plataforma suporta várias camadas de personalização. Este guia se divide em duas partes: configurações básicas iniciais e configurações avançadas, que incluem integrações e regras de negócio.

## Checklist para ambiente de teste

Siga esses itens para configurar um ambiente básico e simular as jornadas dos usuários utilizando mock.

<Steps>
  <Step title="Criar produto">
    Utilize o endpoint [Criar produto](/development/api-reference/endpoint/post-v1-products) para criar um novo produto, especificando o nome e slug. Você pode usar `name: "Empréstimo Consignado"` e `slug: "consignado"` para começar.

    <Accordion title="cURL de exemplo">
      ```bash
      curl --request POST \
        --url https://api.base39.io/v1/products \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "slug": "consignado",
          "name": "Empréstimo Consignado",
          "status": "active",
          "settings": {
            "products": {
              "eligibility": {
                "type": "mock",
                "options": {
                  "maxLoanAmount": 10000,
                  "minLoanAmount": 200,
                  "maxNumberOfInstallments": 48,
                  "minNumberOfInstallments": 6,
                  "maxInstallmentValue": 5000,
                  "minInstallmentValue": 200
                }
              },
              "offer": {
                "options": {
                  "insurance": {
                    "amount": 0,
                    "fee": 1.73,
                    "type": "required",
                    "number": 123456,
                    "insurer": "Cia de Seguros"
                  },
                  "monthlyFee": 1.99,
                  "numberOfInstallments": [
                    6,
                    12,
                    18,
                    24,
                    30,
                    36,
                    48
                  ],
                  "daysUntilDisbursement": 7,
                  "monthsUntilFirstDueDate": 1,
                  "creditOperationType": "CCB",
                  "rebates": [
                    {
                      "feeType": "tac",
                      "amountType": "absolute",
                      "amount": 250,
                      "description": "Tarifa de cadastro"
                    }
                  ]
                }
              },
              "documents": {
                "toRequest": [
                  {
                    "purpose": "identity_document_front",
                    "name": "Frente do RG/CNH",
                    "owner": "customer",
                    "expireInDays": 365
                  },
                  {
                    "purpose": "identity_document_back",
                    "name": "Verso do RG/CNH",
                    "owner": "customer",
                    "expireInDays": 365
                  },
                  {
                    "purpose": "pay_stub",
                    "name": "Holerite",
                    "owner": "customer",
                    "expireInDays": 30
                  }
                ]
              },
              "disbursement": "mock"
            }
          }
        }
        '
      ```
    </Accordion>
  </Step>

  <Step title="Criar fundo">
    Use o endpoint [Criar fundo](/development/api-reference/endpoint/post-v1-funds) para criar um fundo que será utilizado na CCB e outros procedimentos de cobrança.

    <Accordion title="cURL de exemplo">
      ```bash
      curl --request POST \
        --url https://api.base39.io/v1/funds \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "name": "FIDIC 01",
          "document": "000000000000"
        }
        '
      ```
    </Accordion>
  </Step>

  <Step title="Criar empresa">
    Empresa é a entidade que gerencia os seus convênios, os funcionários, política de crédito e produtos são vinculados a essa entidade.

    Crie uma empresa com `name` e `document` através do endpoint [Criar uma empresa](/development/api-reference/endpoint/post-v1-companies).

    <Accordion title="cURL de exemplo">
      ```bash
      curl --request POST \
        --url https://api.base39.io/v1/companies \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "name": "Empresa Mock LTDA",
          "document": "000000000000"
        }
        '
      ```
    </Accordion>
  </Step>

  <Step title="Criar operador para o Backoffice">
    Crie um <Tooltip tip="Operadores são os usuários que acessam o Portal da Empresa ou Backoffice.">operador</Tooltip> através do endpoint [Criar operador](/development/api-reference/endpoint/post-v1-operators) e em seguida configure as permissões através do endpoint [Configurar permissões do operador](/development/api-reference/endpoint/post-v1-permissions).

    Para começar e conhecer melhor como funcionam os fluxos, recomendamos que você crie um operador com a permissão `backoffice` com o `company: "*"` para permitir o acesso em todas as empresas/convênios.

    <Info>Consulte as URLs de acesso aos portais com o [Suporte da Base39](/getting-started/help).</Info>

    1. Crie um novo operador

    <Accordion title="cURL de exemplo">
      ```bash
      curl --request POST \
        --url https://api.base39.io/v1/operators \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "document": "000000000000",
          "name": "John Doe",
          "email": "john@mail.com",
          "username": "john@mail.com"
        }
        '
      ```
    </Accordion>

    2. Adicione a permissão de `backoffice` em todas as empresas `*` no operador usando o `id` da resposta anterior.

    <Accordion title="cURL de exemplo">
      ```bash
      curl --request POST \
        --url 'https://api.base39.io/v1/permissions?operator=<id-do-operador>' \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "company": "*",
          "roles": [
            "backoffice"
          ]
        }
        '
      ```
    </Accordion>

    3. Acesse o Backoffice com o email cadastrado.

    <Tip>Você pode usar alias de email para facilitar os testes. Por exemplo, se o seu email é [john@mail.com](mailto:john@mail.com), use [john+operador@mail.com](mailto:john+operador@mail.com). Todos os emails serão enviados para a mesma caixa de entrada do seu email principal.</Tip>
  </Step>

  <Step title="Criar operador para o Portal da Empresa">
    Crie um <Tooltip tip="Operadores são os usuários que acessam o Portal da Empresa ou Backoffice.">operador</Tooltip> através do endpoint [Criar operador](/development/api-reference/endpoint/post-v1-operators) e em seguida configure as permissões através do endpoint [Configurar permissões do operador](/development/api-reference/endpoint/post-v1-permissions).

    Para começar e conhecer melhor como funcionam os fluxos, recomendamos que você crie um operador com as permissões `approver` e `financial` para a primeira empresa que você criou.

    <Info>Consulte as URLs de acesso aos portais com o [Suporte da Base39](/getting-started/help).</Info>

    1. Crie um novo operador

    <Accordion title="cURL de exemplo">
      ```shell
      curl --request POST \
        --url https://api.base39.io/v1/operators \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "document": "000000000000",
          "name": "Jane Doe",
          "email": "jane@mail.com",
          "username": "jane@mail.com"
        }
        '
      ```
    </Accordion>

    2. Adicione a permissão de `approver` e `financial` na empresa criada no operador usando o `id` da resposta anterior.

    <Accordion title="cURL de exemplo">
      ```shell
      curl --request POST \
        --url 'https://api.base39.io/v1/permissions?operator=<id-do-operador>' \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "company": "<id-da-empresa>",
          "roles": [
            "approver",
            "financial"
          ]
        }
        '
      ```
    </Accordion>

    3. Acesse o Portal da Empresa com o email cadastrado.
  </Step>

  <Step title="Criar vínculo empregatício">
    Você pode fazer a importação de um arquivo com os funcionários através do Portal da Empresa ou através do endpoint [Criar vínculo empregatício](/development/api-reference/endpoint/post-v1-employments).

    <Info>Consulte as URLs de acesso aos portais com o [Suporte da Base39](/getting-started/help).</Info>

    Recomendamos que você informe pelo menos os campos:

    * Salário bruto (`grossSalary`)
    * Salário líquido (`netSalary`)
    * Data de admissão (`hiredAt`)
    * Margem consignável (`limitPerInstallment`)

    <Note>Os dados do objeto `employment.customer` não criam e atualizam os campos do objeto `customer` na API de Clientes. As informações de `customer` no `employment` são apenas para consultar os dados que a empresa fornece e, caso queira, você pode consultar esses dados para fazer relatórios ou campanhas de marketing para incentivar o cadastro. O `customer` é criado somente quando o cliente faz o próprio cadastro pelo Portal do Cliente.</Note>

    É necessário o `id` da empresa criado no [item 3](#3-criar-empresa) de empresa para preencher o campo `company`.

    <Accordion title="cURL de exemplo">
      ```shell
      curl --request POST \
        --url https://api.base39.io/v1/employments \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "status": "working",
          "customer": {
            "document": "000000000000"
          },
          "grossSalary": 10000,
          "netSalary": 8000,
          "hiredAt": "2021-07-25",
          "limitPerInstallment": 2800,
          "company": "<id-da-empresa>"
        }
        '
      ```
    </Accordion>

    <Note>Não é necessário cadastrar um cliente para criar um novo vínculo empregatício. Nesse momento é usado o documento do cliente.</Note>
  </Step>

  <Step title="Configurar etapas da esteira">
    Para que a proposta com o desembolso do tipo <Tooltip tip="Mock é um objeto simulado">`mock`</Tooltip> simule o status desembolsado ao final do processo, é necessário configurar apenas o passo de desembolso na esteira.

    <Accordion title="cURL de exemplo">
      ```shell
      curl --request POST \
        --url https://api.base39.io/v1/settings \
        --header 'authorization: Basic <sua-api-key>' \
        --data '
        {
          "steps": {
            "desembolso": {
              "title": "Desembolsar",
              "type": "disburse"
            }
          }
        }
        '
      ```
    </Accordion>

    <Note>Você pode configurar várias etapas de verificação antes do desembolso, como averbação, análise de risco, análise de documentos, etc. Veja alguns templates no guia da [Esteira](/origination/steps)</Note>
  </Step>

  <Step title="Enviar proposta">
    Agora você pode acessar o Portal do Cliente com o documento usado na criação do vínculo empregatício no [item 5](#5-inserir-um-vinculo-empregaticio). Você deve visualizar o produto criado no [item 1](#1-criar-produto). Siga os passos para visualizar os valores da simulação e enviar a proposta.

    <Tip>Os valores da simulação `mock` podem ser alterados alterando a requisição de exemplo  no [item 1](#1-criar-produto).</Tip>

    Como configurado no item anterior, todos as propostas criadas serão desembolsadas automaticamente em alguns segundos. O status será alterado para desembolsado e todas as parcelas serão criadas automaticamente. A proposta enviada será exibida no Backoffice e Portal Empresa.

    <Tip>As configurações da esteira com aprovações manuais ou automáticas podem ser feitas seguindo o guia da [Esteira](/origination/steps).</Tip>
  </Step>
</Steps>

## Checklist para ambiente de produção

Siga esses itens para configurar os itens necessários para operar em ambiente produtivo.

* [ ] Configurar solicitação de documentos da proposta
* [ ] Configurar motivos de reprovação
* [ ] [Configurar template da CCB](/origination/products/documents)
* [ ] [Configurar passos da esteira](/origination/steps)
* [ ] Configurar elegibilidade do produto
* [ ] Configurar cálculo de oferta do produto
* [ ] [Configurar integração de desembolso](/origination/products/disbursement)
* [ ] Configurar integração de boleto
* [ ] Configurar um domínio customizado
* [ ] Configurar um tema
* [ ] Configurar notificações
