BizCapital Integração

API de Integração
v1
OAS3

/documentacao/swagger.json

A documentação técnica de nossa API apresenta o detalhamento para integração de nossos parceiros com os processos de crédito da Biz.

A API da Biz foi desenvolvida seguindo os melhores padrões REST, recebendo e retornando as informações no formato JSON com identificadores na forma de Universally Unique Identifier (UUID). A API também disponibiliza Webhooks capazes de manter os parceiros servidos de atualizações durante todo o ciclo de vida de um empréstimo.

Endpoints


Upload via URL pré assinada

Orientações para Upload de Documento via URL Pré-assinada AWS

Para realizar o upload do documento, siga as orientações abaixo:

  1. Receba a URL pré-assinada:

    Ao solicitar a URL pré-assinada através do endpoint correspondente, você receberá uma URL única para realizar o upload do documento.
  2. Identifique o Tipo do Documento:

    O tipo do documento que você deseja fazer o upload deve ser informado durante a solicitação da URL pré-assinada através da chave x-amz-meta-data no cabeçalho da requisição.

    IMPORTANTE: Deve ser informado o mesmo tipo de documento informado no endpoint para geração da URL pré-assinada.

    Exemplo: COMPANY_SOCIAL_CONTRACT
  3. Faça a Requisição à URL Pré-assinada:

    Utilize o método de requisição HTTP PUT para enviar o documento para a URL pré-assinada recebida.

    Exemplo de requisição usando cURL:
                    curl --location --request PUT 'URL_PRE_ASSINADA' \
                      --header 'x-amz-meta-data: TIPO_DO_DOCUMENTO' \
                      --header 'Content-Type: application/pdf' \
                      --data '/path/do/seu/documento.pdf'
                  
    Certifique-se de substituir TIPO_DO_DOCUMENTO pelo valor correspondente ao tipo do documento que você está enviando e /path/do/seu/documento.pdf pelo caminho do arquivo que você deseja enviar.
  4. IMPORTANTE:

    Lembre-se de que a chave x-amz-meta-data no cabeçalho da requisição é essencial para identificar o tipo do documento.

Webhooks


Com o retorno via webhook, enviamos a resposta de análise da solicitação do seu cliente dentro de minutos. O retorno inclui informações importantes sobre o status da solicitação e, em casos de aprovação, enviamos também os parâmetros da oferta de empréstimo.

Webhook para acompanhamento do pedido

Retorna a análise de solicitação de empréstimo

Descrição do objeto de retorno do webhook:

            Payload
            {
              id [String]: identificador do pedido de empréstimo
              cnpj [String]: CNPJ da empresa que solicitou o empréstimo
              status [Enum]: Refere-se ao estado da solicitação de empréstimo, podendo ser:
                  EXPIRED: Expirado
                  REJECTED: Rejeitado
                  DENIED: Negado
                  WAITING_LIST: Fila de Espera - Recebemos grande número de pedidos, assim que
                                possível retornaremos de acordo com a ordem da fila de espera
                  RECEIVED: Recebido (Pedido em análise)
                  AWAITING: Aprovado e aguardando aceite da oferta
                  IN_ANALYSIS: Em análise (Oferta já enviada e aceita)
                  DOCUMENTS_PENDING: Aguardando o envio da documentação
                  SIGNATURE_PENDING: Aguardando a assinatura do contrato
                  APPROVED: Empréstimo aprovado
              proposal [Object]: Dados da proposta (se houver):
              {
                amount [Decimal]: Valor da proposta de empréstimo
                interestRate [Decimal]: Taxa de juros
                term [Integer]: Quantidade de parcelas
                url [string]: Endereço para configuração da proposta
              }
              acceptedProposal [Object]: Dados da proposta aceita pelo cliente (se houver):
              {
                amount [Decimal]: Valor aceito pelo cliente
                interestRate [Decimal]: Taxa de juros
                term [Integer]: Quantidade de parcelas
              }
              approvedProposal [Object]: Dados da proposta final (se houver):
              {
                amount [Decimal]: Valor da proposta de empréstimo
                interestRate [Decimal]: Taxa de juros
                term [Integer]: Quantidade de parcelas
              }
              loanId [String]: identificador do empréstimo (se houver)
              mandatorySettlementArrangements [Object]: Lista com relação de adquirentes, bandeiras e arranjos obrigatórios (se houver)
              {
                merchantDocumentNumber [String]: CNPJ da instituição credenciadora
                acquirerName [String]: Razão social da instituição credenciadora
                paymentNetwork [String]: Refere-se às bandeiras de cartão de crédito
                arrangementCode [String]: Refere-se ao código do arranjo de pagamento
                arrangementType [Enum]: Refere-se aos tipos de arranjos necessários, podendo ser:
                    CREDIT_CARD: Cartão de Crédito
                    DEBIT_CARD: Cartão de Débito
                    PURCHASE: Compra
              }
              previousLoanApplicationId [String]: identificador do pedido de empréstimo anterior (se houver)
            }
          

Exemplo de retorno do webhook:

            {
              "id": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
              "cnpj": "74134912000192"
              "status": "IN_ANALYSIS"
              "proposal":https://bizcapital.com.br/
              {
                "amount": 50000
                "interestRate": 3.7
                "term": 7
                "url": "https://bizcapital.com.br/pedido/identificador-do-pedido"
              }
              "acceptedProposal":https://bizcapital.com.br/
              {
                "amount": 40000
                "interestRate": 3.7
                "term": 6
              }
              "approvedProposal":https://bizcapital.com.br/
              {
                "amount": 45000
                "interestRate": 3.7
                "term": 7
              }
              "loanId": "bc2e9a8b-df35-41d8-86a2-a87191fac80b",
              "previousLoanApplicationId": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
            }
          

Webhook para acompanhamento do empréstimo

Retorna os dados do empréstimo

Descrição do objeto de envio para o webhook:

            Payload
            {
              id [String]: identificador do empréstimo
              loanApplicationId [String]: identificador do pedido de empréstimo
              loanStatus [Enum]: Refere-se ao estado do empréstimo, podendo ser:
                  DISBURSEMENT_FAILED: Falha no desembolso
                  SIGNATURE_PENDING: Assinatura pendente
                  DISBURSEMENT_PENDING: Desembolso pendente
                  DISBURSED: Desembolsado
                  LIQUIDATED: Liquidado
              amount [decimal]: indica a quantidade de crédito do empréstimo
              term [int]: indica a quantidade de parcelas do empréstimo
              interest [decimal]: indica os juros do empréstimo
              firstPayment [date]: indica a data da primeira parcela do empréstimo
              escrowBankAccount [Object]: Dados da conta escrow atrelada ao empréstimo (se houver):
              {
                account [String]: Número da conta bancária
                accountDigit [String]: Dígito verificador da conta bancária
                branch [String]: Número da agência bancária
                branchDigit [String]: Dígito verificador da agência bancária
                bankCode [String]: Código do banco da conta bancária
              }
            }
          

Exemplo de objeto de envio para o webhook:

            {
              "id": "bc2e9a8b-df35-41d8-86a2-a87191fac80b"
              "loanApplicationId": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
              "loanStatus": "DISBURSED"
              "amount": "40000"
              "term": "12"
              "interest": "2.99"
              "firstPayment": "2023-08-16T18:36:12.212Z"
              "escrowBankAccount": {
                "account": "12345"
                "accountDigit": "6"
                "branch": "9876"
                "branchDigit": "5"
                "bankCode": "001"
              }
            }
          

Webhook para notificação de criação de plano de pagamentos

Notifica quando um novo plano de pagamentos é criado para um empréstimo

Descrição do objeto de retorno do webhook:

            Payload
            {
              loanId [String]: identificador do empréstimo
              paymentPlanId [string]: identificador do plano de pagamentos
              type [enum]: tipo do plano de pagamentos
                ORIGINAL: plano original do empréstimo
                RENEGOTIATION: plano de renegociação
                LIQUIDATION: plano de liquidação do empréstimo
                POSTPONING: plano de renegociação na modalidade de adiamento de parcelas
            }
            

Exemplo de retorno do webhook:

            {
              "loanId": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
              "paymentPlanId": "la1ndad8-f0eb-11e9-a713-2a2ae2ddk5j1"
              "type": "ORIGINAL"
            }
          

Webhook para notificação de atualização de cobranças

Notifica quando uma cobrança é gerada, paga/parcialmente paga ou cancelada

Descrição do objeto de retorno do webhook:

            Payload
            {
              loanId [String]: identificador do empréstimo
              paymentPlanId [string]: identificador do plano de pagamentos
              event [enum]: evento que está sendo notificado
                CREATED: Cobrança gerada
                PAID: Cobrança conciliada
                PARTIALLY_PAID: Cobrança conciliada e parcela parcialmente paga
                CANCELLED: Cobrança cancelada
              installmentNumber[int]: indica o número da parcela
              installment [Object]: dados da parcela:
              {
                number [int]: indica o número da parcela
                dueDate [date]: indica a data de vencimento da parcela
                chargings [Object]: lista de cobranças da parcela
                [
                  {
                    bankSlipInfo [Object]: informações do boleto bancário para pagamento da cobrança (se houver)
                    {
                      identificationField [string]: código de barras do boleto
                    }
                    pixInfo [Object]: informações do pix para pagamento da cobrança (se houver)
                    {
                      emv [string]: dados do pix copia e cola
                    }
                    chargedAmount [decimal]: valor cobrado
                    paidAmount [decimal]: valor pago (se houver)
                    paidAt [date]: data de pagamento da cobrança (se houver)
                  }
                ]
              }
            }
          

Exemplo de retorno do webhook:

            {
              "loanId": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
              "paymentPLanId": "la1ndad8-f0eb-11e9-a713-2a2ae2ddk5j1"
              "event": "PAID"
              "installmentNumber": 1
              "installment":
              {
                "number": 1
                "dueDate": "2024-02-05"
                "chargings":
                [
                  {
                    "pixInfo":
                    {
                      "emv": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
                    }
                    "chargedAmount": 1249.56
                    "paidAmount": 1249.56
                    "paidAt": "2024-02-05"
                  }
                ]
              }
            }
          

Webhook para notificação de parcelas a vencer

Notifica informações de determinada parcela que vencerá em dois dias da data atual

Descrição do objeto de retorno do webhook:

            Payload
            {
              loanId [String]: identificador do empréstimo
              paymentPlanId [string]: identificador do plano de pagamentos
              installment [Object]: dados da parcela:
              {
                number [int]: indica o número da parcela
                dueDate [date]: indica a data de vencimento da parcela
                chargedAmount [decimal]: valor da parcela
              }
              projectedAmountOnDueDate [decimal]: valor em conta projetado no dia de vencimento da parcela
              amountRemainingForPayment [decimal]: valor restante para quitação da parcela no vencimento
              paymentSituation [enum]: atual situação do pagamento no vencimento da parcela
                NONE: nenhum pagamento no vencimento
                PARTIAL: pagamento parcial no vencimento
                FULL: pagamento total no vencimento
            }
          

Exemplo de retorno do webhook:

            {
              "loanId": "3520fad8-f0eb-11e9-a713-2a2ae2dbcce4"
              "paymentPLanId": "la1ndad8-f0eb-11e9-a713-2a2ae2ddk5j1"
              "installment":
              {
                "number": 1
                "dueDate": "2024-06-01"
                "chargedAmount": 1000
              }
              "projectedAmountOnDueDate": 798.5
              "amountRemainingForPayment": 201.5
              "paymentSituation": "PARTIAL"
            }