# QI Tech — Investment-as-a-Service › Boletos (IaaS)

Documentação da QI Tech em texto corrido, para colar em um LLM.
Fonte: https://docs.qitech.com.br
9 página(s).

Índice:
- Do ativo ao boleto (/documentation/iaas/boletos/campos_do_boleto)
- Introdução (/documentation/iaas/boletos/inicio)
- Instruções de Boleto (/documentation/iaas/boletos/instrucoes_boleto)
- Recuperação de Arquivos CNAB (/documentation/iaas/boletos/recuperar_arquivo_retorno)
- Recuperação de Boleto e Segunda via (/documentation/iaas/boletos/recuperar_boleto)
- Recuperação de Boletos (/documentation/iaas/boletos/recuperar_boletos)
- Recuperação de Carteiras de Cobrança (/documentation/iaas/boletos/recuperar_carteiras_cobranca)
- Recuperação de Configurações de Boleto (/documentation/iaas/boletos/recuperar_configuracoes_boleto)
- Webhooks (/documentation/iaas/boletos/webhook)

---

# Do ativo ao boleto

URL: /documentation/iaas/boletos/campos_do_boleto

Quando a configuração de cessão tem **cobrança por boleto**, a QI Tech registra automaticamente um boleto na QI SCD para cada direito creditório cedido. Os dados do boleto vêm do que você enviou na inserção do ativo. Esta página mostra de onde vem cada campo e quais deles você usa para identificar e conciliar o boleto no seu sistema.

Vale para os direitos creditórios **duplicata mercantil**, **duplicata de serviços**, **CT-e** e **contrato descontado**. Cada ativo gera **um** boleto. No contrato descontado, como cada ativo é uma parcela, cada parcela tem o seu boleto.

O [contrato parcelado](/documentation/iaas/negociacao_recebiveis/asset/criacao_contract) também gera um boleto por parcela, com os dados de cada parcela da lista `installments`. Nele, o número de controle do participante de cada boleto é o `external_id` da parcela, que precisa ser único e ter até 25 caracteres. O restante desta página trata dos direitos creditórios.

## Quando o boleto é registrado

O boleto não é registrado na inserção do ativo. Ele é registrado depois que a cessão é paga, quando o ativo entra na carteira do fundo. A confirmação do registro chega no processamento do retorno bancário do dia útil seguinte. O fluxo completo está em [Boletos — Início](/documentation/iaas/boletos/inicio).

Por isso, os campos do boleto precisam estar certos **já na inserção**. Depois que o ativo é cedido, alterações no boleto (vencimento, juros, multa, abatimento) são feitas pelas [instruções de boleto](/documentation/iaas/boletos/instrucoes_boleto), não reenviando o ativo.

:::caution Vencimento do boleto não é vencimento do ativo

A instrução de alteração de vencimento muda só o boleto. O ativo continua com o vencimento original na carteira do fundo, no relatório de estoque e na contagem de atraso. Para mudar também o vencimento do ativo, informe uma prorrogação (`asset_extension`, com `new_maturity_date`) na [liquidação de ativos](/documentation/iaas/liquidacao_ativos/ativos/ativos). A prorrogação vale para direitos creditórios, inclusive o contrato descontado, e não existe para o contrato parcelado.

:::

## De onde vem cada campo

Os caminhos abaixo são relativos ao objeto `discounted_credit_right` do corpo da requisição de inserção.

### Campos de controle do cliente

São os campos que você escolhe livremente e que voltam na consulta do boleto. Use-os para ligar o boleto ao registro do seu sistema.

| Campo do ativo | Campo do boleto | Regra |
|---|---|---|
| `participant_control_number` | Número de controle do participante | Até 25 caracteres. Só letras, números e `_` são mantidos; os demais caracteres são removidos. Precisa ser único na carteira de cobrança. |
| `order_number` | Número do documento (seu número) | O boleto recebe apenas os **10 últimos caracteres**. O valor completo continua no ativo. |
| `bankslip.our_number.number` | Nosso número | Opcional. Envie só quando a sua carteira de cobrança prevê nosso número emitido pelo cliente. Sem ele, o nosso número é gerado no registro. |

:::caution Envie sempre o `participant_control_number` em cessão com boleto

Na inserção do ativo o campo é opcional, mas na cobrança ele é a chave do boleto: a carteira de cobrança não aceita dois boletos com o mesmo número de controle, e ativos **sem** o campo contam como repetidos entre si. Na prática, só o primeiro ativo sem número de controle tem boleto registrado. Gere um valor único por ativo, com até 25 caracteres alfanuméricos — por exemplo, derivado do seu `external_id`.

:::

### Valor, vencimento e encargos

| Campo do ativo | Campo do boleto | Regra |
|---|---|---|
| `face_value` | Valor do boleto | |
| `maturity_date` | Vencimento | |
| `delay.fine` | Multa | Precisa ser percentual (`fine_type: percentage`). Multa com `percentage_value` igual a zero não entra no boleto. |
| `delay.interest.pre_fixed` | Juros de mora | Cobrados por dia de atraso, em valor: `face_value` × taxa diária. Se você enviar `monthly_rate`, ela é convertida em taxa diária simples na `calendar_base` informada. Taxa igual a zero não entra no boleto. |

Se o ativo não trouxer `delay`, o boleto usa a multa e os juros cadastrados na configuração de cobrança do fundo.

### Pagador e sacador

| Origem | Campo do boleto | Regra |
|---|---|---|
| `borrower.name`, `borrower.document_number`, `borrower.person_type` | Pagador | O documento vai sem pontuação. |
| `borrower.address` | Endereço do pagador | Só vai para o boleto se estiverem preenchidos `street`, `number`, `neighborhood`, `postal_code`, `city` e `uf`. Faltando qualquer um, o boleto é registrado sem endereço. `complement` é opcional. |
| Cedente da configuração de cessão | Sacador/avalista | Vem do cadastro do cedente, não do corpo da requisição. Aparece quando a carteira de cobrança prevê o cedente como sacador. |

### Campos que não vão para o boleto

Estes campos ficam no ativo e voltam na consulta do ativo, mas não aparecem no boleto:

- `external_id` — use o `participant_control_number` como ponte entre o boleto e o ativo;
- `installment_number`;
- o objeto `contract` do contrato descontado (`number`, `issue_date`, `total_face_value`, `number_of_installments`);
- o objeto `invoice` das duplicatas e do CT-e.

## Exemplo

Trecho de um contrato descontado inserido numa cessão com boleto:

```json
{
    "discounted_credit_right": {
        "external_id": "parcela-958431587-01",
        "face_value": 1231.21,
        "maturity_date": "2025-12-10",
        "installment_number": 1,
        "participant_control_number": "CT958431587P01",
        "order_number": "2023000958431587",
        "delay": {
            "fine": { "fine_type": "percentage", "percentage_value": 0.02 },
            "interest": {
                "method": "pre_fixed",
                "pre_fixed": { "monthly_rate": 0.01, "calendar_base": "calendar_360" }
            }
        }
    }
}
```

O boleto registrado na QI SCD fica assim:

| Campo do boleto | Valor | Por quê |
|---|---|---|
| Valor | R$ 1.231,21 | `face_value` |
| Vencimento | 10/12/2025 | `maturity_date` |
| Número de controle do participante | `CT958431587P01` | `participant_control_number`, como enviado (só tem letras e números) |
| Número do documento | `0958431587` | os 10 últimos caracteres de `order_number` |
| Multa | 2% | `fine.percentage_value` de 0,02 |
| Juros de mora | R$ 0,41 por dia de atraso | 1% ao mês × 12 ÷ 360 dias × R$ 1.231,21 |

Nem `external_id`, nem `installment_number`, nem o objeto `contract` aparecem no boleto. Para achar o ativo a partir do boleto, use o número de controle do participante.

## Conferindo o boleto

Consulte o boleto registrado em [Recuperando Boleto e Segunda Via](/documentation/iaas/boletos/recuperar_boleto). A resposta traz os dois números de controle:

- `external_participant_control_number` — o valor exatamente como você enviou;
- `participant_control_number` — o valor depois da limpeza de caracteres, que é o que está no boleto.

Para avisos de registro, pagamento e baixa, veja os [webhooks de boleto](/documentation/iaas/boletos/webhook).

---

# Introdução

URL: /documentation/iaas/boletos/inicio

Nesta seção iremos explicar como funciona o ecossistema de **emissão de boletos** no contexto de uma **cessão de recebíveis para Fundos de Investimento**.  

## Estrutura de Emissão de Boletos

O processo de emissão de boletos dentro da cessão de recebíveis segue a seguinte estrutura:

1. **Cadastro da conta de cobrança e geração do contrato de cessão**  
   - [5.2.4. Contrato de Cessão](/documentation/iaas/homologacao_cedente/contrato_de_cessao/pedido_de_contrato)

2. **Registro do Boleto**  
   - O boleto é registrado no banco emissor assim que a cessão é paga, um boleto por ativo (ou por parcela, nos ativos parcelados).  
   - Os dados do boleto vêm do que foi enviado na inserção do ativo: pagador, valor, vencimento, encargos e os seus números de controle.  
   - Veja de onde vem cada campo em [Do ativo ao boleto](/documentation/iaas/boletos/campos_do_boleto).  

3. **Confirmação do Registro**  
   - A confirmação do registro do boleto é feita no próximo dia útil no processamento do retorno bancário

4. **Liquidação**  
   - Quando o boleto é pago pelo sacado, a liquidação é capturada e atualizada automaticamente.  
   - O fluxo financeiro segue para a conta principal do Fundo, compondo o caixa disponível.

5. **Baixa**  
   - Caso o pagamento do título seja feito por uma baixa cedente ou substituição, o boleto é baixado automaticamente

:::caution

Para que a emissão de boletos ocorra de forma **automática**, é obrigatório que o **Contrato de Cessão** contenha todas as informações de cobrança necessárias e que exista uma **conta de cobrança devidamente cadastrada** no sistema.

:::

Para ter acesso a esses serviços, entre em contato com o time [integracao.dtvm@qitech.com.br](mailto:integracao.dtvm@qitech.com.br), para que sejam feitas as devidas liberações, tanto em sandbox quanto em produção.

---

# Instruções de Boleto

URL: /documentation/iaas/boletos/instrucoes_boleto

Este endpoint permite enviar instruções a um boleto já registrado, como prorrogação de vencimento, atualização de juros e multa, inclusão de descontos, abatimento, baixa e solicitação de protesto.

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Gestora     | `manager-api`    | Leitura e escrita   |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

:::caution Quais boletos aceitam instrução

Só boletos em `pending_registration` ou `registered`, emitidos pela QI Tech (configuração com tipo de emissor `internal`; veja [configurações de boleto](/documentation/iaas/boletos/recuperar_configuracoes_boleto#tipo-de-emissor)), aceitam instrução. Para os demais, a API devolve `BSC000009` (boleto fora desses status) ou `BSC000106` (outro emissor).

:::

## Request

ENDPOINT /bankslip_collection/fund_class/ FUND_CLASS_KEY /bankslip_configuration/ BANKSLIP_CONFIGURATION_KEY /bankslip/ BANKSLIP_KEY
MÉTODO PUT

### Path Parameters

| Campo                          | Tipo   | Descrição                                                              | Caracteres |
|--------------------------------|--------|------------------------------------------------------------------------|------------|
| `fund_class_key`               | uuidv4 | Chave única de identificação da classe de fundo, no formato uuid v4    | 36         |
| `bankslip_configuration_key`   | uuidv4 | Chave única de identificação da configuração do boleto, no formato uuid v4 | 36     |
| `bankslip_key`                 | uuidv4 | Chave única de identificação do boleto, no formato uuid v4             | 36         |

### Request Body Params

O campo `occurrence_type` define qual instrução será enviada ao boleto. O campo `occurrence_data` contém os dados específicos da instrução, quando aplicável.

| Campo             | Tipo   | Descrição                                                                 | Caracteres                                                              |
|-------------------|--------|---------------------------------------------------------------------------|-------------------------------------------------------------------------|
| `occurrence_type` | string | Tipo da instrução a ser enviada ao boleto.                                | **[Enumerador occurrence_type](#enumeradores-occurrence_type)**          |
| `occurrence_data` | object | Dados da instrução. Obrigatório para os tipos que exigem parâmetros adicionais. | Varia conforme o `occurrence_type`                                |

### Enumeradores occurrence_type

| Enumerador             | Descrição                                           |
|------------------------|-----------------------------------------------------|
| `due_date_extension`   | Prorrogação da data de vencimento                   |
| `delay_interest_update`| Atualização dos juros de mora                       |
| `delay_fine_update`    | Atualização da multa por atraso                     |
| `rebate`               | Aplicação de abatimento                             |
| `rebate_withdrawn`     | Cancelamento do abatimento                          |
| `discount_inclusion`   | Inclusão de descontos                               |
| `write_off`            | Baixa do boleto                                     |
| `protest_request`      | Solicitação de protesto                             |

---

### Instrução: `due_date_extension` — Prorrogação de Vencimento

Request Body

```json
{
  "occurrence_type": "due_date_extension",
  "occurrence_data": {
    "due_date": "2026-12-31"
  }
}
```

#### Objeto occurrence_data — due_date_extension

| Campo      | Tipo   | Descrição                                         | Caracteres |
|------------|--------|---------------------------------------------------|------------|
| `due_date` | string | Nova data de vencimento do boleto (formato `YYYY-MM-DD`) | 10  |

---

### Instrução: `delay_interest_update` — Atualização de Juros de Mora

Request Body

```json
{
  "occurrence_type": "delay_interest_update",
  "occurrence_data": {
    "interest": {
      "method": "pre_fixed",
      "pre_fixed": {
        "monthly_rate": 0.015,
        "calendar_base": "calendar_360"
      }
    }
  }
}
```

#### Objeto occurrence_data — delay_interest_update

| Campo      | Tipo   | Descrição                             |
|------------|--------|---------------------------------------|
| `interest` | object | Configuração dos juros de mora (ver abaixo). |

#### Objeto interest

| Campo        | Tipo   | Descrição                                                     |
|--------------|--------|---------------------------------------------------------------|
| `method`     | string | Método de cálculo dos juros. Valor: `pre_fixed`               |
| `pre_fixed`  | object | Parâmetros para o cálculo de juros pré-fixados (ver abaixo).  |

#### Objeto pre_fixed

| Campo           | Tipo   | Descrição                                                                                    |
|-----------------|--------|----------------------------------------------------------------------------------------------|
| `monthly_rate`  | number | Taxa mensal de juros em decimal (`0.015` = 1,5% ao mês).      |
| `calendar_base` | string | Base de calendário para cálculo. **[Enumerador calendar_base](#enumeradores-calendar_base)** |

#### Enumeradores calendar_base

| Enumerador      | Descrição              |
|-----------------|------------------------|
| `calendar_360`  | Base de 360 dias       |
| `workdays`      | Dias úteis             |
| `calendar_365`  | Base de 365 dias       |

---

### Instrução: `delay_fine_update` — Atualização de Multa por Atraso

Request Body

```json
{
  "occurrence_type": "delay_fine_update",
  "occurrence_data": {
    "fine": {
      "fine_type": "percentage",
      "percentage_value": 2.0
    }
  }
}
```

#### Objeto occurrence_data — delay_fine_update

| Campo  | Tipo   | Descrição                              |
|--------|--------|----------------------------------------|
| `fine` | object | Configuração da multa por atraso (ver abaixo). |

#### Objeto fine

| Campo              | Tipo   | Descrição                                                        |
|--------------------|--------|------------------------------------------------------------------|
| `fine_type`        | string | Tipo da multa. Valor: `percentage`                               |
| `percentage_value` | number | Percentual da multa. Deve ser maior que `0`.                     |

---

### Instrução: `rebate` — Abatimento

Request Body

```json
{
  "occurrence_type": "rebate",
  "occurrence_data": {
    "rebate": 50.00
  }
}
```

#### Objeto occurrence_data — rebate

| Campo    | Tipo   | Descrição                          |
|----------|--------|------------------------------------|
| `rebate` | number | Valor do abatimento a ser aplicado. |

---

### Instrução: `rebate_withdrawn` — Cancelamento de Abatimento

Esta instrução não requer `occurrence_data`.

Request Body

```json
{
  "occurrence_type": "rebate_withdrawn"
}
```

---

### Instrução: `discount_inclusion` — Inclusão de Descontos

Request Body

```json
{
  "occurrence_type": "discount_inclusion",
  "occurrence_data": {
    "discounts": [
      {
        "discount_type": "percentage",
        "discount_number": 1,
        "discount_limit_date": "2026-11-30",
        "discount_amount": 5.0
      }
    ]
  }
}
```

#### Objeto occurrence_data — discount_inclusion

| Campo       | Tipo        | Descrição                                          |
|-------------|-------------|----------------------------------------------------|
| `discounts` | array       | Lista de descontos a serem aplicados (ver abaixo). |

#### Objeto discount (item do array discounts)

| Campo                 | Tipo   | Descrição                                                                                    | Caracteres |
|-----------------------|--------|----------------------------------------------------------------------------------------------|------------|
| `discount_type`       | string | Tipo do desconto. **[Enumerador discount_type](#enumeradores-discount_type)**               | -          |
| `discount_number`     | number | Número sequencial do desconto.                                                               | -          |
| `discount_limit_date` | string | Data limite para aplicação do desconto (formato `YYYY-MM-DD`).                               | 10         |
| `discount_amount`     | number | Valor do desconto.                                                                           | -          |

#### Enumeradores discount_type

| Enumerador                                    | Descrição                                                                  |
|-----------------------------------------------|----------------------------------------------------------------------------|
| `absolute`                                    | Valor fixo                                                                 |
| `percentage`                                  | Porcentagem fixa                                                           |
| `anticipation_workdays_daily_amount`          | Valor diário de antecipação sobre dias úteis                               |
| `anticipation_workdays_daily_percentage`      | Porcentagem diária de antecipação sobre dias úteis                         |
| `anticipation_calendar_days_daily_amount`     | Valor diário de antecipação sobre dias corridos                            |
| `anticipation_calendar_days_daily_percentage` | Porcentagem diária de antecipação sobre dias corridos                      |

---

### Instrução: `write_off` — Baixa do Boleto

Esta instrução não requer `occurrence_data`.

Request Body

```json
{
  "occurrence_type": "write_off"
}
```

---

### Instrução: `protest_request` — Solicitação de Protesto

Request Body

```json
{
  "occurrence_type": "protest_request",
  "occurrence_data": {
    "protest_type": "protest"
  }
}
```

#### Objeto occurrence_data — protest_request

| Campo          | Tipo   | Descrição                                                                              |
|----------------|--------|----------------------------------------------------------------------------------------|
| `protest_type` | string | Tipo do protesto. **[Enumerador protest_type](#enumeradores-protest_type)**             |

#### Enumeradores protest_type

| Enumerador           | Descrição                    |
|----------------------|------------------------------|
| `protest`            | Protesto padrão              |
| `bankruptcy_protest` | Protesto por falência         |

---

## Response

STATUS 201

Response Body

```json title='Response Body'
{
  "bankslip_key": "c9eb109c-800f-4cf5-b209-2119c9d77a72",
  "external_participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
  "bankslip_configuration": {
    "bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
    "bankslip_profile": {
      "bankslip_profile_key": "5910d4a3-f5df-432a-902f-849a1a77cd86",
      "bankslip_profile_code": "329-09-0001-4993010",
      "bankslip_profile_number": 1,
      "bankslip_provider": "qi_scd",
      "additional_information": {
        "external_beneficiary_key": "2666e7a3-0bd7-46fc-8f6b-725f2ef9b13f"
      },
      "internal_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
      "fund_class": {
        "fund_class_key": "7f03069e-1854-4cee-8e59-a6a548976015",
        "document_number": "11.222.333/0001-81",
        "name": "Sample Fund Class",
        "manager": {
          "name": "Sample Manager",
          "manager_key": "5cb734e9-c33b-4e7e-bb40-f894aa82b153",
          "document_number": "11.222.333/0001-81"
        }
      }
    }
  },
  "due_date": "2026-12-31",
  "face_value": 629.33,
  "status": "registered",
  "participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
  "borrower": {
    "document_number": "969.698.790-03",
    "name": "Tomador Exemplo",
    "person_type": "natural_person",
    "address": {
      "postal_code": "05425-020"
    }
  },
  "assignor": {
    "name": "Cedente LTDA",
    "document_number": "33.444.555/0001-81",
    "person_type": "legal_person"
  },
  "bankslip_type": "simple_collection",
  "collection_type": "standard",
  "delay": null,
  "our_number": 12345,
  "our_number_digit": "6",
  "digitable_line": "32991.23456 78901.234567 89012.345678 9 00010000062933",
  "barcode": "32999000010000062933123456789012345678901234",
  "occurrences": [
    {
      "occurrence_key": "e9898e50-cd2b-492f-9201-7e5c5f231853",
      "status": "pending_submission",
      "type": "due_date_extension",
      "occurrence_data": {
        "due_date": "2026-12-31"
      }
    }
  ],
  "settlement_instructions": [
    {
      "settlement_instruction_key": "fe419363-bf04-4b3a-90bd-185618baa720",
      "status": "pending_bankslip_payment",
      "asset_type": "duplicata_mercantil",
      "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
      "issue_date": "2025-01-17",
      "maturity_date": "2026-12-31",
      "face_value": 629.33,
      "order_number": "49761-1"
    }
  ]
}
```

### Bankslip

| Campo                                 | Tipo   | Descrição                                                              |
|---------------------------------------|--------|------------------------------------------------------------------------|
| `bankslip_key`                        | string | Identificador único do boleto.                                         |
| `external_participant_control_number` | string | Número de controle externo do participante.                            |
| `bankslip_configuration`              | object | Configuração do boleto (ver abaixo).                                   |
| `due_date`                            | date   | Data de vencimento do boleto.                                          |
| `face_value`                          | number | Valor nominal do boleto.                                               |
| `status`                              | string | Status atual do boleto.                                                |
| `participant_control_number`          | string | Número de controle interno do participante.                            |
| `borrower`                            | object | Objeto que representa o tomador (sacado).                              |
| `assignor`                            | object | Objeto que representa o cedente do recebível.                          |
| `bankslip_type`                       | string | Tipo do boleto: `simple_collection` ou `non_vinculated`.               |
| `collection_type`                     | string | Modalidade de cobrança: `standard` ou `qr_code_allowed`.               |
| `delay`                               | object | Dados de mora do boleto, quando aplicável.                             |
| `order_number`                        | string | Número do pedido, quando disponível.                                   |
| `our_number`                          | number | Nosso número, quando disponível.                                       |
| `our_number_digit`                    | string | Dígito verificador do nosso número, quando disponível.                 |
| `digitable_line`                      | string | Linha digitável do boleto, quando disponível.                          |
| `barcode`                             | string | Código de barras do boleto, quando disponível.                         |
| `occurrences`                         | array  | Lista de ocorrências relacionadas ao boleto (cada item é um objeto).   |
| `settlement_instructions`             | array  | Lista de instruções de liquidação relacionadas ao boleto.              |

### Bankslip Configuration

| Campo                        | Tipo   | Descrição                        |
|------------------------------|--------|----------------------------------|
| `bankslip_configuration_key` | string | Chave de configuração do boleto. |
| `bankslip_profile`           | object | Perfil de boleto associado.      |

### Bankslip Profile

| Campo                      | Tipo   | Descrição                                                    |
|----------------------------|--------|--------------------------------------------------------------|
| `bankslip_profile_key`     | string | Identificador do perfil de boleto.                           |
| `bankslip_profile_code`    | string | Código do perfil.                                            |
| `bankslip_profile_number`  | number | Número do perfil.                                            |
| `bankslip_provider`        | string | Provedor do boleto.                                          |
| `additional_information`   | object | Informações adicionais do perfil.                            |
| `internal_account_key`     | string | Identificador da conta interna associada.                    |
| `fund_class`               | object | Objeto representando a classe de fundo (ver abaixo).         |

### Fund Class

| Campo             | Tipo   | Descrição                                       | Caracteres |
|-------------------|--------|-------------------------------------------------|------------|
| `fund_class_key`  | string | Chave única de identificação da classe de fundo | 36         |
| `document_number` | string | CNPJ da classe de fundo                         | -          |
| `name`            | string | Nome da classe de fundo                         | até 255    |

### Borrower

| Campo             | Tipo   | Descrição                      |
|-------------------|--------|--------------------------------|
| `name`            | string | Nome do tomador.               |
| `document_number` | string | Documento (CPF/CNPJ).          |
| `person_type`     | string | Tipo de pessoa.                |
| `address`         | object | Endereço do tomador.           |

### Assignor

| Campo             | Tipo   | Descrição             |
|-------------------|--------|-----------------------|
| `name`            | string | Nome do cedente.      |
| `document_number` | string | Documento (CNPJ).     |
| `person_type`     | string | Tipo de pessoa.       |

### Occurrences

Cada item do array é um objeto com os seguintes campos:

| Campo             | Tipo   | Descrição                       |
|-------------------|--------|---------------------------------|
| `occurrence_key`  | string | Identificador da ocorrência.    |
| `status`          | string | Status da ocorrência.           |
| `type`            | string | Tipo da ocorrência.             |
| `occurrence_data` | object | Dados adicionais da ocorrência. |

### Settlement Instructions

Cada item do array é um objeto com os seguintes campos:

| Campo                        | Tipo   | Descrição                                            |
|------------------------------|--------|------------------------------------------------------|
| `settlement_instruction_key` | string | Identificador da instrução de liquidação.            |
| `status`                     | string | Status da instrução de liquidação.                   |
| `asset_type`                 | string | Tipo do ativo.                                       |
| `asset_key`                  | string | Chave única do ativo no sistema.                     |
| `issue_date`                 | date   | Data de emissão.                                     |
| `maturity_date`              | date   | Data de vencimento.                                  |
| `face_value`                 | number | Valor de face do ativo.                              |
| `order_number`               | string | Número do contrato.                                  |

---

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 404 | `BSC000009` | O boleto não existe nesta configuração, ou não está em `pending_registration` ou `registered`. |
| 400 | `BSC000106` | O boleto não foi emitido pela QI Tech; instruções não são aceitas. |
| 400 | `BSC000115` / `BSC000116` | `due_date_extension` com nova data no passado ou não posterior ao vencimento atual. |
| 400 | `BSC000123` | Instrução com valor zerado (por exemplo, `monthly_rate` ou `percentage_value` igual a `0`). |
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |
| 400 | `QIT000001` | Corpo inválido para o `occurrence_type` informado. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Recuperação de Arquivos CNAB

URL: /documentation/iaas/boletos/recuperar_arquivo_retorno

---

## Listar arquivos CNAB

Retorna uma lista paginada de arquivos CNAB (arquivos de remessa e retorno trocados com o banco) pertencentes a um perfil de boleto de uma classe de fundo.

### Request

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

ENDPOINT /bankslip_collection/fund_class/FUND_CLASS_KEY/bankslip_profile/BANKSLIP_PROFILE_KEY/cnab_files
MÉTODO GET

### Path Params

| Parâmetro              | Descrição                                                                                                                   |
|------------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `fund_class_key`       | Chave da classe de fundo. Retorna `404` (`BSC000006`) caso não exista.                                                |
| `bankslip_profile_key` | Chave do perfil de boleto, que deve pertencer à classe de fundo. Retorna `404` (`BSC000008`) caso não seja encontrado. |

### Query Params

Todos os parâmetros são opcionais.

| Parâmetro      | Tipo   | Descrição                                                                     |
|----------------|--------|-------------------------------------------------------------------------------|
| `initial_date` | date   | Filtra arquivos com `cnab_date` maior ou igual à data informada (YYYY-MM-DD).  |
| `final_date`   | date   | Filtra arquivos com `cnab_date` menor ou igual à data informada (YYYY-MM-DD).  |
| `cnab_type`    | string | Filtra pelo tipo do arquivo (ver **[Tipo de CNAB](#tipo-de-cnab)**).           |
| `limit`        | int    | Valor entre 0 e 20 com o número de itens por página. Padrão: `10`.             |
| `page`         | int    | Número da página (começando por zero). Padrão: `0`.                            |

Quando `is_last_page` for `false`, solicite a próxima `page` para recuperar os demais resultados.

### Response

Response Body

```json title='Response Body'
{
    "data": [
        {
            "cnab_file_key": "79f21d3e-ed99-413c-8e05-39cf84fbab7c",
            "bankslip_profile": {
                "bankslip_profile_key": "a1d7f09b-cb77-48da-a23d-b83d97d4b46b",
                "bankslip_profile_code": "329-09-0001-0000000",
                "bankslip_profile_number": 9,
                "bankslip_provider": "qi_scd",
                "additional_information": {
                    "requester_profile_key": "30f72181-042c-4aae-9be7-b2794916416f"
                },
                "internal_account_key": "18809219-17d9-4845-a830-51e7f2beaf28",
                "fund_class": {
                    "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                    "document_number": "00.000.000/0001-01",
                    "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                    "manager": {
                        "name": "GESTÃO DE RECURSOS",
                        "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                        "document_number": "00.100.100/0001-00"
                    }
                }
            },
            "cnab_date": "2025-07-30",
            "type": "return",
            "status": "completed",
            "download_filename": "cnab-retorno-2025-07-30-79f21d3e.ret",
            "url": "https://URL_DO_ARQUIVO_CNAB",
            "external_cnab_file_key": "e8b5e962-eb5f-4b9d-8d2b-70cd6d3d5252",
            "number_of_occurrences": 6
        },
        {
            "cnab_file_key": "ff7aaa47-a901-4f66-98d7-46f76ca4fa16",
            "bankslip_profile": {
                "bankslip_profile_key": "e0771a02-4f3e-4162-a468-a872fc6975e4",
                "bankslip_profile_code": "329-09-0001-0000000",
                "bankslip_profile_number": 9,
                "bankslip_provider": "qi_scd",
                "additional_information": {
                    "requester_profile_key": "cdec985f-e629-44ce-8511-a323f38bd63e"
                },
                "internal_account_key": "5e621ba2-b4ac-4ddd-9893-82d220e1577e",
                "fund_class": {
                    "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                    "document_number": "00.000.000/0001-01",
                    "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                    "manager": {
                        "name": "GESTÃO DE RECURSOS",
                        "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                        "document_number": "00.100.100/0001-00"
                    }
                }
            },
            "cnab_date": "2025-07-30",
            "type": "external_return",
            "status": "completed",
            "download_filename": "cnab-retorno-2025-07-30-ff7aaa47.ret",
            "url": "https://URL_DO_ARQUIVO_CNAB",
            "external_cnab_file_key": "d3b1f7c4-9e2a-4f6b-8c1d-5a7e9b3f2c8e",
            "number_of_occurrences": 3,
            "bankslip_expenses": [
                {
                    "bankslip_expense_key": "4d727b05-00df-454e-93e3-160ec9ee596c",
                    "type": "fee_or_costs.payment",
                    "number_of_expenses": 3,
                    "total_value": 2.25,
                    "status": "completed"
                }
            ]
        }
    ],
    "limit": 10,
    "page": 0,
    "is_last_page": true
}
```

### Objeto Paginado

| Campo          | Tipo    | Descrição                                                |
|----------------|---------|----------------------------------------------------------|
| `data`         | array   | Lista de objetos de **[CNAB File](#cnab-file)**          |
| `limit`        | int     | Limite de objetos recuperados por página                 |
| `page`         | int     | Número da página recuperada                              |
| `is_last_page` | boolean | Informação que indica se a página recuperada é a última  |

### CNAB File

| Campo                    | Tipo   | Descrição                                                                                                                     |
|--------------------------|--------|-------------------------------------------------------------------------------------------------------------------------------|
| `cnab_file_key`          | string | Identificador único do arquivo CNAB.                                                                                            |
| `bankslip_profile`       | object | Perfil de boleto associado (ver **[Bankslip Profile](/documentation/iaas/boletos/recuperar_boletos#bankslip-profile)**).                                  |
| `cnab_date`              | date   | Data do arquivo CNAB.                                                                                                           |
| `type`                   | string | Tipo do arquivo (ver **[Tipo de CNAB](#tipo-de-cnab)**).                                                                        |
| `status`                 | string | Status do arquivo (ver **[Status do CNAB](#status-do-cnab)**).                                                                  |
| `download_filename`      | string | Nome com o qual o arquivo é baixado.                                                                                            |
| `url`                    | string | URL pré-assinada para download do arquivo, válida por **1 hora**. Omitida caso não seja possível gerá-la.                       |
| `external_cnab_file_key` | string | Identificador do arquivo CNAB externo. Presente apenas quando o arquivo possui esse valor.                                      |
| `header`                 | string | Header do arquivo. Presente apenas quando o arquivo possui esse valor.                                                          |
| `trailer`                | string | Trailer do arquivo. Presente apenas quando o arquivo possui esse valor.                                                         |
| `number_of_occurrences`  | int    | Número de ocorrências do arquivo. Presente apenas quando o arquivo possui esse valor.                                           |
| `expectation`            | object | Dados de expectativa do arquivo. Presente apenas quando o arquivo possui esse valor.                                            |
| `bankslip_expenses`      | array  | Lista de objetos de **[Bankslip Expense](#bankslip-expense)**. Presente apenas quando o arquivo possui despesas associadas.     |

### Bankslip Expense

| Campo                  | Tipo   | Descrição                              |
|------------------------|--------|-----------------------------------------|
| `bankslip_expense_key` | string | Identificador único da despesa.         |
| `type`                 | string | Tipo da despesa.                        |
| `number_of_expenses`   | int    | Quantidade de despesas agrupadas.       |
| `total_value`          | number | Valor total das despesas.               |
| `status`               | string | Status da despesa.                      |

## Tipo de CNAB

| Enumerador           | Descrição               |
|----------------------|-------------------------|
| `return`             | Arquivo Retorno         |
| `external_return`    | Arquivo Retorno Externo |
| `remittance`         | Remessa                 |
| `external_remittance`| Remessa Externa         |

## Status do CNAB

| Enumerador           | Descrição                 |
|----------------------|---------------------------|
| `created`            | Criado                    |
| `pending_processing` | Processamento pendente    |
| `completed`          | Concluído                 |
| `canceled`           | Cancelado                 |

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 404 | `BSC000008` | A carteira de cobrança não existe neste fundo. |
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Recuperação de Boleto e Segunda via

URL: /documentation/iaas/boletos/recuperar_boleto

## Consultar boleto

### Request

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Gestora     | `manager-api`    | Leitura             |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

ENDPOINT /bankslip_collection/fund_class/FUND_CLASS_KEY/bankslip_profile/BANKSLIP_PROFILE_KEY/bankslip/BANKSLIP_KEY
MÉTODO GET

### Response 
Response Body

```json title='Response Body'
{
        
    "bankslip_key": "c9eb109c-800f-4cf5-b209-2119c9d77a72",
    "external_participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
    "bankslip_configuration": {
        "bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
        "bankslip_profile": {
            "bankslip_profile_key": "5910d4a3-f5df-432a-902f-849a1a77cd86",
            "bankslip_profile_code": "329-09-0001-4993010",
            "bankslip_profile_number": 1,
            "bankslip_provider": "qi_scd",
            "additional_information": {
                "external_beneficiary_key": "2666e7a3-0bd7-46fc-8f6b-725f2ef9b13f"
            },
            "internal_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
            "fund_class": {
                "fund_class_key": "7f03069e-1854-4cee-8e59-a6a548976015",
                "document_number": "11.222.333/0001-81",
                "name": "Sample_Name",
                "manager": {
                    "name": "Sample name",
                    "manager_key": "5cb734e9-c33b-4e7e-bb40-f894aa82b153",
                    "document_number": "11.222.333/0001-81"
                }
            }
        }
    },
    "due_date": "2026-04-21",
    "face_value": 629.33,
    "status": "pending_registration",
    "participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
    "borrower": {
        "document_number": "969.698.790-03",
        "name": "Tomador",
        "person_type": "natural_person",
        "address": {
            "postal_code": "05425-020"
        }
    },
    "assignor": {
        "name": "Assignor LTDA",
        "document_number": "33.444.555/0001-81",
        "person_type": "legal_person"
    },
    "bankslip_type": "simple_collection",
    "collection_type": "standard",
    "delay": null,
    "occurrences": [
        {
            "occurrence_key": "e9898e50-cd2b-492f-9201-7e5c5f231853",
            "status": "pending_submission",
            "type": "registration",
            "occurrence_data": null
        }
    ],
    "settlement_instructions": [
        {
            "settlement_instruction_key": "fe419363-bf04-4b3a-90bd-185618baa720",
            "status": "pending_bankslip_payment",
            "asset_type": "duplicata_mercantil",
            "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
            "issue_date": "2025-01-17",
            "maturity_date": "2026-09-17",
            "face_value": 629.33,
            "order_number": "49761-1"
        }
    ],
    "bankslip_url": "https://URL_DO_PDF_DO_BOLETO"

        
}
```

### Bankslip

| Campo                                 | Tipo     | Descrição                                                            |
|---------------------------------------|----------|----------------------------------------------------------------------|
| `bankslip_key`                        | string   | Identificador único do boleto.                                       |
| `external_participant_control_number` | string   | Número de controle externo do participante.                          |
| `due_date`                            | date     | Data de vencimento do boleto.                                        |
| `face_value`                          | number   | Valor nominal do boleto.                                             |
| `status`                              | string   | Status atual do boleto.                                              |
| `participant_control_number`          | string   | Número de controle interno do participante.                          |
| `bankslip_configuration`              | object   | Objeto que contém a configuração do boleto (ver abaixo).             |
| `borrower`                            | object   | Objeto que representa o tomador (sacado).                            |
| `assignor`                            | object   | Objeto que representa o cedente do recebível.                        |
| `bankslip_type`                       | string   | Tipo do boleto: `simple_collection` ou `non_vinculated`.             |
| `collection_type`                     | string   | Modalidade de cobrança: `standard` ou `qr_code_allowed`.             |
| `delay`                               | object   | Dados de mora do boleto (juros e multa), quando configurados.        |
| `order_number`                        | string   | Número do pedido. Presente quando houver.                            |
| `our_number`                          | number   | Nosso número. Presente quando houver.                                |
| `our_number_digit`                    | string   | Dígito verificador do nosso número. Presente quando houver.          |
| `digitable_line`                      | string   | Linha digitável. Presente quando houver.                             |
| `barcode`                             | string   | Código de barras. Presente quando houver.                            |
| `qr_code`                             | object   | Dados do QR Code do boleto. Presente quando houver.                  |
| `occurrences`                         | array    | Lista de ocorrências relacionadas ao boleto (cada item é um objeto). |
| `settlement_instructions`             | array    | Lista de instruções de liquidação relacionadas ao boleto.            |
| `bankslip_url`                        | string   | Link do PDF do boleto (segunda via). Ausente quando o PDF ainda não está disponível no banco. |

### Bankslip Configuration

| Campo                                | Tipo     | Descrição                        |
|--------------------------------------|----------|----------------------------------|
| `bankslip_configuration_key`         | string   | Chave de configuração do boleto. |
| `bankslip_profile`                   | object   | Perfil de boleto associado.      |

---

### Bankslip Profile

| Campo                                | Tipo     | Descrição |
|--------------------------------------|----------|-------------------------------|
| `bankslip_profile_key`               | string   | Identificador do perfil de boleto. |
| `bankslip_profile_code`              | string   | Código do perfil. |
| `bankslip_profile_number`            | number   | Número do perfil. |
| `bankslip_provider`                  | string   | Provedor do boleto. |
| `additional_information`             | object   | Informações adicionais (ver abaixo). |
| `internal_account_key`               | string   | Identificador da conta interna associada. |
| `fund_class`                         | object   | Objeto representando o fundo de investimento (ver abaixo). |

### Fund Class

| Campo                         | Tipo     | Descrição                                         | Caracteres |
|-------------------------------|----------|---------------------------------------------------|------------|
| `name`                        | string   | Nome da classe de fundo                           | até 255    |
| `fund_class_key`              | string   | Chave única de identificação da classe de fundo   | 36         |
| `document_number`             | string   | CNPJ da classe de fundo                           | -          |

### Borrower 

| Campo                                | Tipo     | Descrição                     |
|--------------------------------------|----------|-------------------------------|
|  `name`                              | string   | Nome do tomador. |
|  `document_number`                   | string   | Documento (CPF/CNPJ). |
|  `person_type`                       | string   | Tipo de pessoa. |
|  `address`                           | object   | Endereço do tomador (ver abaixo). |

### Address

| Campo                                | Tipo     | Descrição                     |
|--------------------------------------|----------|-------------------------------|
| `street`                             | string   | Logradouro do endereço. |
| `number`                             | string   | Número do endereço. |
| `neighborhood`                       | string   | Bairro. |
| `city`                               | string   | Cidade. |
| `postal_code`                        | string   | CEP. |
| `uf`                                 | string   | Unidade federativa (sigla do estado). |
| `country`                            | string   | País no formato ISO Alpha-3. |

---

### Assignor (Cedente)

| Campo                                | Tipo     | Descrição         |
|--------------------------------------|----------|-------------------|
| `name`                               | string   | Nome do cedente.  |
| `document_number`                    | string   | Documento (CNPJ). |
| `person_type`                        | string   | Tipo de pessoa.   |

---

### Occurrences

Cada item do array é um objeto com os seguintes campos:

| Campo                                | Tipo     | Descrição                       |
|--------------------------------------|----------|---------------------------------|
| `occurrence_key`                     | string   | Identificador da ocorrência.    |
| `status`                             | string   | Status da ocorrência.           |
| `type`                               | string   | Tipo da ocorrência.             |
| `occurrence_data`                    | object   | Dados adicionais da ocorrência. |

### Settlement Instructions

Cada item do array é um objeto com os seguintes campos:

| Campo                         | Tipo     | Descrição                                            |
|-------------------------------|----------|------------------------------------------------------|
| `settlement_instruction_key`  | string   | Identificador da instrução de liquidação.            |
| `status`                      | string   | Status da instrução de liquidação.                   |
| `asset_type`                  | string   | Tipo do ativo.                                       |
| `asset_key`                   | string   | Chave única do ativo no sistema.                     |
| `issue_date`                  | date     | Data de emissão.                                     |
| `maturity_date`               | date     | Data de vencimento.                                  |
| `face_value`                  | number   | Valor de face do ativo.                              |
| `order_number`                | string   | Número do contrato.                                  |
| `installment_number`          | number   | Número da parcela do ativo.                          |

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 404 | `BSC000009` | Não existe boleto com este `bankslip_key` na carteira informada. |
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Recuperação de Boletos

URL: /documentation/iaas/boletos/recuperar_boletos

## Lista de Boletos

### Request

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Gestora     | `manager-api`    | Leitura             |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

ENDPOINT /bankslip_collection/fund_class/FUND_CLASS_KEY/bankslip_profile/BANKSLIP_PROFILE_KEY/bankslips
MÉTODO GET

### Query Params
| Parâmetro                    | Descrição                                                  |
|------------------------------|------------------------------------------------------------|
| `limit`                      | Valor entre 0 e 100 com o número de itens por página. Padrão: `10`. |
| `page`                       | Número da pagina (começando por zero).                     |
| `borrower_document_number`   | Número de documento do tomador (somente números).          |
| `assignor_document_number`   | Número de documento do cedente (somente números).          |
| `participant_control_number` | Número de controle do participante.                        |
| `order_number`               | Número do contrato.                                        |
| `our_number`                 | Nosso número do boleto no banco.                           |
| `status`                     | Status do boleto: `created`, `pending_registration`, `registered`, `waiting_payment_confirmation`, `paid`, `paid_via_qr_code`, `rejected`, `written_off` ou `registration_failed`. |
| `from_due_date`              | Vencimento a partir desta data (`YYYY-MM-DD`).             |
| `to_due_date`                | Vencimento até esta data (`YYYY-MM-DD`).                   |
| `bankslip_type`              | Tipo do boleto: `simple_collection` ou `non_vinculated`.   |
| `asset_key`                  | Chave do ativo vinculado ao boleto.                        |

### Response 
Response Body

```json title='Response Body'
{
    "data": [
        {
            "bankslip_key": "c9eb109c-800f-4cf5-b209-2119c9d77a72",
            "external_participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
            "bankslip_configuration": {
                "bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
                "bankslip_profile": {
                    "bankslip_profile_key": "5910d4a3-f5df-432a-902f-849a1a77cd86",
                    "bankslip_profile_code": "329-09-0001-4993010",
                    "bankslip_profile_number": 1,
                    "bankslip_provider": "qi_scd",
                    "additional_information": {
                        "external_beneficiary_key": "2666e7a3-0bd7-46fc-8f6b-725f2ef9b13f"
                    },
                    "internal_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
                    "fund_class": {
                        "fund_class_key": "7f03069e-1854-4cee-8e59-a6a548976015",
                        "document_number": "11.222.333/0001-81",
                        "name": "Sample_Name",
                        "manager": {
                            "name": "Sample name",
                            "manager_key": "5cb734e9-c33b-4e7e-bb40-f894aa82b153",
                            "document_number": "11.222.333/0001-81"
                        }
                    }
                }
            },
            "due_date": "2024-02-17",
            "face_value": 629.33,
            "status": "pending_registration",
            "participant_control_number": "801KFZFNB4UZ34MLGJG2X9WNG",
            "borrower": {
                "document_number": "969.698.790-03",
                "name": "Tomador",
                "person_type": "natural_person",
                "address": {
                    "postal_code": "05425-020"
                }
            },
            "assignor": {
                "name": "Assignor LTDA",
                "document_number": "33.444.555/0001-81",
                "person_type": "legal_person"
            },
            "bankslip_type": "simple_collection",
            "collection_type": "standard",
            "delay": null,
            "occurrences": [
                {
                    "occurrence_key": "e9898e50-cd2b-492f-9201-7e5c5f231853",
                    "status": "pending_submission",
                    "type": "registration",
                    "occurrence_data": null
                }
            ],
            "settlement_instructions": [
                {
                    "settlement_instruction_key": "fe419363-bf04-4b3a-90bd-185618baa720",
                    "status": "pending_bankslip_payment",
                    "asset_type": "duplicata_mercantil",
                    "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                    "issue_date": "2025-01-17",
                    "maturity_date": "2026-09-17",
                    "face_value": 629.33,
                    "order_number": "49761-1"
                }
            ]
        },
        {
            "bankslip_key": "4584e60c-752f-479d-831a-50f09c2c7de2",
            "external_participant_control_number": "TBFBDWKTEWJ7UTR6CPL4BAE4P",
            "bankslip_configuration": {
                "bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
                "bankslip_profile": {
                    "bankslip_profile_key": "5910d4a3-f5df-432a-902f-849a1a77cd86",
                    "bankslip_profile_code": "329-09-0001-4993010",
                    "bankslip_profile_number": 1,
                    "bankslip_provider": "qi_scd",
                    "additional_information": {
                        "external_beneficiary_key": "2666e7a3-0bd7-46fc-8f6b-725f2ef9b13f"
                    },
                    "internal_account_key": "6b5335ed-1380-4348-9520-8998ca6e388b",
                    "fund_class": {
                        "fund_class_key": "7f03069e-1854-4cee-8e59-a6a548976015",
                        "document_number": "11.222.333/0001-81",
                        "name": "Sample_Name",
                        "manager": {
                            "name": "Sample name",
                            "manager_key": "5cb734e9-c33b-4e7e-bb40-f894aa82b153",
                            "document_number": "11.222.333/0001-81"
                        }
                    }
                }
            },
            "due_date": "2024-02-17",
            "face_value": 629.33,
            "status": "pending_registration",
            "participant_control_number": "TBFBDWKTEWJ7UTR6CPL4BAE4P",
            "borrower": {
                "document_number": "969.698.790-03",
                "name": "mgkstsdibe",
                "person_type": "natural_person",
                "address": {
                    "postal_code": "05425-020"
                }
            },
            "assignor": {
                "name": "Assignor LTDA",
                "document_number": "33.444.555/0001-81",
                "person_type": "legal_person"
            },
            "bankslip_type": "simple_collection",
            "collection_type": "standard",
            "delay": null,
            "occurrences": [
                {
                    "occurrence_key": "07ad7fce-fec6-40ac-be22-1ffd031f36bc",
                    "status": "pending_submission",
                    "type": "registration",
                    "occurrence_data": null
                }
            ],
            "settlement_instructions": [
                {
                    "settlement_instruction_key": "fe419363-bf04-4b3a-90bd-185618baa720",
                    "status": "pending_bankslip_payment",
                    "asset_type": "duplicata_mercantil",
                    "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                    "issue_date": "2025-01-17",
                    "maturity_date": "2026-09-17",
                    "face_value": 629.33,
                    "order_number": "49761-1"
                }
            ]
        }
    ],
    "limit": 15,
    "page": 0,
    "is_last_page": true
}
```

### Objeto Paginado

| Campo         | Tipo     | Descrição                                                      |
|---------------|----------|----------------------------------------------------------------|
| `data`        | array    | Lista de objetos de **[Bankslip](#bankslip)**                  |
| `limit`       | int      | Limite de objetos recuperados por página                       |
| `page`        | int      | Número da página recuperada                                    |
| `is_last_page`| boolean  | Informação que indica se a página recuperada é a última        |

### Bankslip

| Campo                                 | Tipo     | Descrição                                                            |
|---------------------------------------|----------|----------------------------------------------------------------------|
| `bankslip_key`                        | string   | Identificador único do boleto.                                       |
| `external_participant_control_number` | string   | Número de controle externo do participante.                          |
| `due_date`                            | date     | Data de vencimento do boleto.                                        |
| `face_value`                          | number   | Valor nominal do boleto.                                             |
| `status`                              | string   | Status atual do boleto.                                              |
| `participant_control_number`          | string   | Número de controle interno do participante.                          |
| `bankslip_configuration`              | object   | Objeto que contém a configuração do boleto (ver abaixo).             |
| `borrower`                            | object   | Objeto que representa o tomador (sacado).                            |
| `assignor`                            | object   | Objeto que representa o cedente do recebível.                        |
| `bankslip_type`                       | string   | Tipo do boleto: `simple_collection` ou `non_vinculated`.             |
| `collection_type`                     | string   | Modalidade de cobrança: `standard` ou `qr_code_allowed`.             |
| `delay`                               | object   | Dados de mora do boleto (juros e multa), quando configurados.        |
| `order_number`                        | string   | Número do pedido. Presente quando houver.                            |
| `our_number`                          | number   | Nosso número. Presente quando houver.                                |
| `our_number_digit`                    | string   | Dígito verificador do nosso número. Presente quando houver.          |
| `digitable_line`                      | string   | Linha digitável. Presente quando houver.                             |
| `barcode`                             | string   | Código de barras. Presente quando houver.                            |
| `qr_code`                             | object   | Dados do QR Code do boleto. Presente quando houver.                  |
| `occurrences`                         | array    | Lista de ocorrências relacionadas ao boleto (cada item é um objeto). |
| `settlement_instructions`             | array    | Lista de instruções de liquidação relacionadas ao boleto.            |

### Bankslip Configuration

| Campo                                | Tipo     | Descrição                        |
|--------------------------------------|----------|----------------------------------|
| `bankslip_configuration_key`         | string   | Chave de configuração do boleto. |
| `bankslip_profile`                   | object   | Perfil de boleto associado.      |

---

### Bankslip Profile

| Campo                                | Tipo     | Descrição |
|--------------------------------------|----------|-------------------------------|
| `bankslip_profile_key`               | string   | Identificador do perfil de boleto. |
| `bankslip_profile_code`              | string   | Código do perfil. |
| `bankslip_profile_number`            | number   | Número do perfil. |
| `bankslip_provider`                  | string   | Provedor do boleto. |
| `additional_information`             | object   | Informações adicionais (ver abaixo). |
| `internal_account_key`               | string   | Identificador da conta interna associada. |
| `fund_class`                         | object   | Objeto representando o fundo de investimento (ver abaixo). |

### Fund Class

| Campo                         | Tipo     | Descrição                                         | Caracteres |
|-------------------------------|----------|---------------------------------------------------|------------|
| `name`                        | string   | Nome da classe de fundo                           | até 255    |
| `fund_class_key`              | string   | Chave única de identificação da classe de fundo   | 36         |
| `document_number`             | string   | CNPJ da classe de fundo                           | -          |

### Borrower 

| Campo                                | Tipo     | Descrição                     |
|--------------------------------------|----------|-------------------------------|
|  `name`                              | string   | Nome do tomador. |
|  `document_number`                   | string   | Documento (CPF/CNPJ). |
|  `person_type`                       | string   | Tipo de pessoa. |
|  `address`                           | object   | Endereço do tomador (ver abaixo). |

### Address

| Campo                                | Tipo     | Descrição                     |
|--------------------------------------|----------|-------------------------------|
| `street`                             | string   | Logradouro do endereço. |
| `number`                             | string   | Número do endereço. |
| `neighborhood`                       | string   | Bairro. |
| `city`                               | string   | Cidade. |
| `postal_code`                        | string   | CEP. |
| `uf`                                 | string   | Unidade federativa (sigla do estado). |
| `country`                            | string   | País no formato ISO Alpha-3. |

---

### Assignor (Cedente)

| Campo                                | Tipo     | Descrição         |
|--------------------------------------|----------|-------------------|
| `name`                               | string   | Nome do cedente.  |
| `document_number`                    | string   | Documento (CNPJ). |
| `person_type`                        | string   | Tipo de pessoa.   |

---

### Occurrences

Cada item do array é um objeto com os seguintes campos:

| Campo                                | Tipo     | Descrição                       |
|--------------------------------------|----------|---------------------------------|
| `occurrence_key`                     | string   | Identificador da ocorrência.    |
| `status`                             | string   | Status da ocorrência.           |
| `type`                               | string   | Tipo da ocorrência.             |
| `occurrence_data`                    | object   | Dados adicionais da ocorrência. |

### Settlement Instructions

Cada item do array é um objeto com os seguintes campos:

| Campo                         | Tipo     | Descrição                                            |
|-------------------------------|----------|------------------------------------------------------|
| `settlement_instruction_key`  | string   | Identificador da instrução de liquidação.            |
| `status`                      | string   | Status da instrução de liquidação.                   |
| `asset_type`                  | string   | Tipo do ativo.                                       |
| `asset_key`                   | string   | Chave única do ativo no sistema.                     |
| `issue_date`                  | date     | Data de emissão.                                     |
| `maturity_date`               | date     | Data de vencimento.                                  |
| `face_value`                  | number   | Valor de face do ativo.                              |
| `order_number`                | string   | Número do contrato.                                  |
| `installment_number`          | number   | Número da parcela do ativo.                          |

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 400 | `BSC000002` | `borrower_document_number` ou `assignor_document_number` não é um CPF/CNPJ válido. |
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Recuperação de Carteiras de Cobrança

URL: /documentation/iaas/boletos/recuperar_carteiras_cobranca

---

## Listar carteiras de cobrança

Retorna uma lista paginada das carteiras de cobrança (bankslip profiles) de uma classe de fundo. O fundo precisa ser da gestora autenticada ou estar vinculado à consultoria autenticada.

### Request

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Gestora     | `manager-api`    | Leitura             |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

ENDPOINT /bankslip_collection/fund_class/FUND_CLASS_KEY/bankslip_profiles
MÉTODO GET

### Path Params

| Parâmetro        | Descrição                                                                      |
|------------------|----------------------------------------------------------------------------------|
| `fund_class_key` | Chave da classe de fundo. Retorna `404` (`BSC000006`) caso não exista.    |

### Query Params

Todos os parâmetros são opcionais.

| Parâmetro | Tipo | Descrição                                                            |
|-----------|------|-----------------------------------------------------------------------|
| `limit`   | int  | Valor entre 0 e 50 com o número de itens por página. Padrão: `10`.    |
| `page`    | int  | Número da página (começando por zero). Padrão: `0`.                   |

Quando `is_last_page` for `false`, solicite a próxima `page` para recuperar os demais resultados.

### Response

Response Body

```json title='Response Body'
{
    "data": [
        {
            "bankslip_profile_key": "a1d7f09b-cb77-48da-a23d-b83d97d4b46b",
            "bankslip_profile_code": "329-09-0001-0000000",
            "bankslip_profile_number": 9,
            "bankslip_provider": "qi_scd",
            "additional_information": {
                "requester_profile_key": "30f72181-042c-4aae-9be7-b2794916416f"
            },
            "internal_account_key": "18809219-17d9-4845-a830-51e7f2beaf28",
            "fund_class": {
                "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                "document_number": "00.000.000/0001-01",
                "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                "manager": {
                    "name": "GESTÃO DE RECURSOS",
                    "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                    "document_number": "00.100.100/0001-00"
                }
            },
            "total_value": 12345.67,
            "total_overdue_value": 890.12
        },
        {
            "bankslip_profile_key": "e0771a02-4f3e-4162-a468-a872fc6975e4",
            "bankslip_profile_code": "329-09-0001-0000001",
            "bankslip_profile_number": 10,
            "bankslip_provider": "qi_scd",
            "additional_information": {
                "requester_profile_key": "cdec985f-e629-44ce-8511-a323f38bd63e"
            },
            "internal_account_key": "5e621ba2-b4ac-4ddd-9893-82d220e1577e",
            "fund_class": {
                "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                "document_number": "00.000.000/0001-01",
                "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                "manager": {
                    "name": "GESTÃO DE RECURSOS",
                    "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                    "document_number": "00.100.100/0001-00"
                }
            }
        }
    ],
    "limit": 10,
    "page": 0,
    "is_last_page": true,
    "elapsed_time_ms": 12.34
}
```

### Objeto Paginado

| Campo             | Tipo    | Descrição                                                       |
|-------------------|---------|------------------------------------------------------------------|
| `data`            | array   | Lista de objetos de **[Bankslip Profile](#bankslip-profile)**    |
| `limit`           | int     | Limite de objetos recuperados por página                         |
| `page`            | int     | Número da página recuperada                                      |
| `is_last_page`    | boolean | Informação que indica se a página recuperada é a última          |
| `elapsed_time_ms` | number  | Tempo de execução da consulta no servidor, em milissegundos      |

### Bankslip Profile

| Campo                     | Tipo   | Descrição                                                                                                        |
|---------------------------|--------|--------------------------------------------------------------------------------------------------------------------|
| `bankslip_profile_key`    | string | Identificador da carteira de cobrança.                                                                                   |
| `bankslip_profile_code`   | string | Código da carteira de cobrança.                                                                                                    |
| `bankslip_profile_number` | number | Número da carteira de cobrança.                                                                                                    |
| `bankslip_provider`       | string | Provedor do boleto.                                                                                                  |
| `additional_information`  | object | Informações adicionais da carteira de cobrança.                                                                                    |
| `internal_account_key`    | string | Identificador da conta interna associada.                                                                            |
| `fund_class`              | object | Objeto representando a classe de fundo (ver **[Fund Class](/documentation/iaas/boletos/recuperar_boletos#fund-class)**).                       |
| `total_value`             | number | Valor total em aberto da carteira. Presente apenas após o cálculo periódico de saldo da carteira.                        |
| `total_overdue_value`     | number | Valor total vencido da carteira. Presente apenas após o cálculo periódico de saldo da carteira.                          |

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Recuperação de Configurações de Boleto

URL: /documentation/iaas/boletos/recuperar_configuracoes_boleto

---

## Listar configurações de boleto

Retorna uma lista paginada das configurações de boleto de uma carteira de cobrança de uma classe de fundo. O fundo precisa ser da gestora autenticada ou estar vinculado à consultoria autenticada.

### Request

:::info Disponível em

| Perfil      | Host             | Permissão exigida   |
| ----------- | ---------------- | ------------------- |
| Gestora     | `manager-api`    | Leitura             |
| Consultoria | `consultant-api` | Liberada pelo time de integração         |

URL base de cada host: [Ambientes (Hosts)](/documentation/iaas/introducao/inicio#ambientes-hosts).

:::

ENDPOINT /bankslip_collection/fund_class/FUND_CLASS_KEY/bankslip_profile/BANKSLIP_PROFILE_KEY/bankslip_configurations
MÉTODO GET

### Path Params

| Parâmetro              | Descrição                                                                                                                |
|------------------------|----------------------------------------------------------------------------------------------------------------------------|
| `fund_class_key`       | Chave da classe de fundo. Retorna `404` (`BSC000006`) caso não exista.                                               |
| `bankslip_profile_key` | Chave da carteira de cobrança, que deve pertencer à classe de fundo. Retorna `404` (`BSC000007`) caso não seja encontrada. |

### Query Params

Todos os parâmetros são opcionais.

| Parâmetro     | Tipo   | Descrição                                                                                                      |
|---------------|--------|------------------------------------------------------------------------------------------------------------------|
| `issuer_type` | string | Filtra pelo tipo do emissor (ver **[Tipo de Emissor](#tipo-de-emissor)**). Um valor desconhecido retorna o erro `BSC000023`. |
| `limit`       | int    | Valor entre 0 e 30 com o número de itens por página. Padrão: `10`.                                                 |
| `page`        | int    | Número da página (começando por zero). Padrão: `0`.                                                                |

Quando `is_last_page` for `false`, solicite a próxima `page` para recuperar os demais resultados.

### Response

Response Body

```json title='Response Body'
{
    "data": [
        {
            "bankslip_configuration_key": "1b382eb7-7006-4389-975b-afa76b0ad7b4",
            "bankslip_profile": {
                "bankslip_profile_key": "a1d7f09b-cb77-48da-a23d-b83d97d4b46b",
                "bankslip_profile_code": "329-09-0001-0000000",
                "bankslip_profile_number": 9,
                "bankslip_provider": "qi_scd",
                "additional_information": {
                    "requester_profile_key": "30f72181-042c-4aae-9be7-b2794916416f"
                },
                "internal_account_key": "18809219-17d9-4845-a830-51e7f2beaf28",
                "fund_class": {
                    "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                    "document_number": "00.000.000/0001-01",
                    "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                    "manager": {
                        "name": "GESTÃO DE RECURSOS",
                        "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                        "document_number": "00.100.100/0001-00"
                    }
                }
            },
            "bankslip_issuer_type": "manager",
            "delay": 0,
            "our_number_range": {
                "our_number_range_initial": 1,
                "our_number_range_final": 99999
            }
        },
        {
            "bankslip_configuration_key": "9c47d1a8-3f2e-4b6d-8a1c-5e7f9b3d2c80",
            "bankslip_profile": {
                "bankslip_profile_key": "a1d7f09b-cb77-48da-a23d-b83d97d4b46b",
                "bankslip_profile_code": "329-09-0001-0000000",
                "bankslip_profile_number": 9,
                "bankslip_provider": "qi_scd",
                "additional_information": {
                    "requester_profile_key": "30f72181-042c-4aae-9be7-b2794916416f"
                },
                "internal_account_key": "18809219-17d9-4845-a830-51e7f2beaf28",
                "fund_class": {
                    "fund_class_key": "92c63a0f-25d6-45cb-90a2-6026c0ce2ef9",
                    "document_number": "00.000.000/0001-01",
                    "name": "FUNDO DE INVESTIMENTO EM DIREITOS CREDITÓRIOS",
                    "manager": {
                        "name": "GESTÃO DE RECURSOS",
                        "manager_key": "7a5ff2f5-f127-451c-98d8-001826c35c3c",
                        "document_number": "00.100.100/0001-00"
                    }
                }
            },
            "bankslip_issuer_type": "internal",
            "delay": 1
        }
    ],
    "limit": 10,
    "page": 0,
    "is_last_page": true,
    "elapsed_time_ms": 12.34
}
```

### Objeto Paginado

| Campo             | Tipo    | Descrição                                                              |
|-------------------|---------|--------------------------------------------------------------------------|
| `data`            | array   | Lista de objetos de **[Bankslip Configuration](#bankslip-configuration)** |
| `limit`           | int     | Limite de objetos recuperados por página                                  |
| `page`            | int     | Número da página recuperada                                               |
| `is_last_page`    | boolean | Informação que indica se a página recuperada é a última                   |
| `elapsed_time_ms` | number  | Tempo de execução da consulta no servidor, em milissegundos               |

### Bankslip Configuration

| Campo                        | Tipo   | Descrição                                                                                                              |
|------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------|
| `bankslip_configuration_key` | string | Identificador único da configuração de boleto.                                                                               |
| `bankslip_profile`           | object | Carteira de cobrança associada (ver **[Bankslip Profile](/documentation/iaas/boletos/recuperar_boletos#bankslip-profile)**).                           |
| `bankslip_issuer_type`       | string | Tipo do emissor do boleto (ver **[Tipo de Emissor](#tipo-de-emissor)**).                                                     |
| `delay`                      | int    | Delay configurado para a emissão dos boletos.                                                                                |
| `our_number_range`           | object | Faixa de "nosso número" atribuída à configuração (ver **[Our Number Range](#our-number-range)**). Presente apenas quando a configuração possui uma faixa atribuída. |

### Our Number Range

| Campo                      | Tipo | Descrição                        |
|----------------------------|------|-----------------------------------|
| `our_number_range_initial` | int  | Início da faixa de "nosso número". |
| `our_number_range_final`   | int  | Fim da faixa de "nosso número".    |

## Tipo de Emissor

| Enumerador   | Descrição  |
|--------------|------------|
| `internal`   | Interno    |
| `manager`    | Gestor     |
| `consultant` | Consultor  |

## Erros

| Status | Código | Quando acontece |
|---|---|---|
| 404 | `BSC000007` | A carteira de cobrança não existe neste fundo. |
| 400 | `BSC000023` | `issuer_type` com valor desconhecido. |
| 404 | `BSC000006` | A `fund_class_key` não existe. |
| 403 | `BSC000036` | O fundo não pertence ao seu perfil. |

Erros de autenticação, permissão e host: veja [Erros da API](/documentation/iaas/introducao/erros).

---

# Webhooks

URL: /documentation/iaas/boletos/webhook

Ao longo do ciclo de vida do boleto, o sistema envia webhooks para notificar o parceiro integrador sobre mudanças de status. Todos os eventos utilizam o tipo `bankslip_collection.bankslip_status_change`.

:::info Configuração de webhooks

Para receber webhooks, é necessário ter uma URL de callback configurada junto à QI Tech. Entre em contato com [integracao.dtvm@qitech.com.br](mailto:integracao.dtvm@qitech.com.br) para configurar.

:::

## Estrutura do webhook

Todos os webhooks de boleto seguem a mesma estrutura base:

| Campo | Tipo | Descrição |
|---|---|---|
| `webhook_type` | string | Tipo do webhook. Sempre `bankslip_collection.bankslip_status_change`. |
| `webhook_datetime` | string | Data e hora do evento no formato ISO 8601. |
| `data` | object | Dados do evento. Veja tabela abaixo. |

#### Atributos de `data`

| Campo | Tipo | Descrição |
|---|---|---|
| `bankslip_key` | string (UUID) | Identificador único do boleto. |
| `bankslip_configuration_key` | string (UUID) | Identificador da configuração do boleto. |
| `bankslip_profile_key` | string (UUID) | Identificador do perfil do boleto. |
| `status` | string | Status atual do boleto. |
| `fund_class` | object | Dados da classe do fundo associada ao boleto. |
| `external_participant_control_number` | string | Número de controle externo do participante. |
| `participant_control_number` | string | Número de controle interno do participante. |
| `face_value` | float | Valor de face do boleto. |
| `due_date` | string | Data de vencimento no formato `YYYY-MM-DD`. |
| `borrower` | object | Dados do sacado (devedor). |
| `assignor` | object | Dados do cedente. |
| `settlement_instructions` | array | Lista de instruções de liquidação vinculadas ao boleto. |
| `our_number` | integer | **(Opcional)** Nosso número atribuído pelo banco emissor. |
| `our_number_digit` | string | **(Opcional)** Dígito verificador do nosso número. |
| `order_number` | string | **(Opcional)** Número do pedido. |
| `digitable_line` | string | **(Opcional)** Linha digitável do boleto. Presente quando disponível após o registro. |
| `barcode` | string | **(Opcional)** Código de barras do boleto. Presente quando disponível após o registro. |

#### Atributos de `fund_class`

| Campo | Tipo | Descrição |
|---|---|---|
| `document_number` | string | CNPJ da classe do fundo. |
| `fund_class_key` | string (UUID) | Identificador da classe do fundo. |
| `name` | string | Nome da classe do fundo. |

#### Atributos de `settlement_instructions`

| Campo | Tipo | Descrição |
|---|---|---|
| `asset_key` | string (UUID) | Identificador do ativo associado. |
| `asset_type` | string | Tipo do ativo (ex: `duplicata_mercantil`, `duplicata_servicos`, `ccb`). |
| `issue_date` | string | Data de emissão do ativo no formato `YYYY-MM-DD`. |
| `maturity_date` | string | Data de vencimento do ativo no formato `YYYY-MM-DD`. |
| `face_value` | float | Valor de face do ativo. |
| `status` | string | Status da instrução de liquidação. |
| `external_id` | string | **(Opcional)** Identificador externo do ativo. |
| `installment_number` | integer | **(Opcional)** Número da parcela, quando aplicável (ex: CCBs parceladas). |
| `order_number` | string | **(Opcional)** Número do pedido da instrução. |

---

## Eventos por status

### Registro do Boleto

STATUS pending_registration

Enviado quando um boleto é criado e submetido ao banco emissor para registro. O boleto aguarda a confirmação da instituição bancária. Dependendo do banco, os campos `digitable_line`, `barcode` e `our_number` podem estar presentes quando o banco os retorna imediatamente no ato do registro. Para outros bancos, esses campos são preenchidos somente após a confirmação via arquivo de retorno.

```json title='Webhook Body'
{
    "webhook_type": "bankslip_collection.bankslip_status_change",
    "webhook_datetime": "2026-04-15T12:55:35Z",
    "data": {
        "bankslip_key": "7a26c259-1b1f-4d73-9a5b-48230022b8f2",
        "bankslip_configuration_key": "b6b4ff70-917c-4003-bc4d-ebc4ccdd606c",
        "bankslip_profile_key": "5666937c-944a-44c6-98e6-3591f99fe4ff",
        "status": "pending_registration",
        "fund_class": {
            "document_number": "11.222.333/0001-81",
            "fund_class_key": "d81118d0-527b-45b0-8c60-76e9d3ab3aa3",
            "name": "Nome da Classe do Fundo"
        },
        "external_participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "face_value": 629.33,
        "due_date": "2026-09-17",
        "borrower": {
            "document_number": "969.698.790-03",
            "name": "Nome do Sacado",
            "person_type": "natural_person",
            "address": {
                "postal_code": "05425-020"
            }
        },
        "assignor": {
            "name": "Nome do Cedente",
            "document_number": "33.444.555/0001-81",
            "person_type": "legal_person"
        },
        "settlement_instructions": [
            {
                "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                "external_id": "758638e4-6fe6-4b69-8799-30728ca16a22",
                "asset_type": "duplicata_mercantil",
                "issue_date": "2025-01-17",
                "maturity_date": "2026-09-17",
                "face_value": 629.33,
                "status": "pending_bankslip_payment"
            }
        ],
        "our_number": 10507,
        "our_number_digit": "0"
    }
}
```

---

### Boleto Registrado

STATUS registered

Enviado quando o banco emissor **confirma o registro** do boleto. A partir deste momento, o boleto está apto para pagamento pelo sacado. Neste webhook, os campos `digitable_line`, `barcode`, `our_number` e `our_number_digit` estarão presentes.

```json title='Webhook Body'
{
    "webhook_type": "bankslip_collection.bankslip_status_change",
    "webhook_datetime": "2026-04-15T13:10:22Z",
    "data": {
        "bankslip_key": "7a26c259-1b1f-4d73-9a5b-48230022b8f2",
        "bankslip_configuration_key": "b6b4ff70-917c-4003-bc4d-ebc4ccdd606c",
        "bankslip_profile_key": "5666937c-944a-44c6-98e6-3591f99fe4ff",
        "status": "registered",
        "fund_class": {
            "document_number": "11.222.333/0001-81",
            "fund_class_key": "d81118d0-527b-45b0-8c60-76e9d3ab3aa3",
            "name": "Nome da Classe do Fundo"
        },
        "external_participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "face_value": 629.33,
        "due_date": "2026-09-17",
        "borrower": {
            "document_number": "969.698.790-03",
            "name": "Nome do Sacado",
            "person_type": "natural_person",
            "address": {
                "postal_code": "05425-020"
            }
        },
        "assignor": {
            "name": "Nome do Cedente",
            "document_number": "33.444.555/0001-81",
            "person_type": "legal_person"
        },
        "settlement_instructions": [
            {
                "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                "external_id": "758638e4-6fe6-4b69-8799-30728ca16a22",
                "asset_type": "duplicata_mercantil",
                "issue_date": "2025-01-17",
                "maturity_date": "2026-09-17",
                "face_value": 629.33,
                "status": "pending_bankslip_payment"
            }
        ],
        "our_number": 10507,
        "our_number_digit": "0",
        "digitable_line": "03399.87654 32100.012345 67890.123456 1 00000000062933",
        "barcode": "03391000000000629333987654321000123456789012345"
    }
}
```

---

### Boleto Rejeitado

STATUS rejected

Enviado quando o banco emissor **rejeita o registro** do boleto. O boleto não estará disponível para pagamento e não avançará no fluxo. As instruções de liquidação vinculadas também são marcadas como `rejected`.

```json title='Webhook Body'
{
    "webhook_type": "bankslip_collection.bankslip_status_change",
    "webhook_datetime": "2026-04-15T13:10:22Z",
    "data": {
        "bankslip_key": "7a26c259-1b1f-4d73-9a5b-48230022b8f2",
        "bankslip_configuration_key": "b6b4ff70-917c-4003-bc4d-ebc4ccdd606c",
        "bankslip_profile_key": "5666937c-944a-44c6-98e6-3591f99fe4ff",
        "status": "rejected",
        "fund_class": {
            "document_number": "11.222.333/0001-81",
            "fund_class_key": "d81118d0-527b-45b0-8c60-76e9d3ab3aa3",
            "name": "Nome da Classe do Fundo"
        },
        "external_participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "face_value": 629.33,
        "due_date": "2026-09-17",
        "borrower": {
            "document_number": "969.698.790-03",
            "name": "Nome do Sacado",
            "person_type": "natural_person",
            "address": {
                "postal_code": "05425-020"
            }
        },
        "assignor": {
            "name": "Nome do Cedente",
            "document_number": "33.444.555/0001-81",
            "person_type": "legal_person"
        },
        "settlement_instructions": [
            {
                "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                "external_id": "758638e4-6fe6-4b69-8799-30728ca16a22",
                "asset_type": "duplicata_mercantil",
                "issue_date": "2025-01-17",
                "maturity_date": "2026-09-17",
                "face_value": 629.33,
                "status": "rejected"
            }
        ],
        "our_number": 10507,
        "our_number_digit": "0"
    }
}
```

---

### Boleto Baixado

STATUS written_off

Enviado quando o boleto é **baixado** na instituição emissora. Isso pode ocorrer por solicitação de cancelamento.

```json title='Webhook Body'
{
    "webhook_type": "bankslip_collection.bankslip_status_change",
    "webhook_datetime": "2026-04-15T14:30:00Z",
    "data": {
        "bankslip_key": "7a26c259-1b1f-4d73-9a5b-48230022b8f2",
        "bankslip_configuration_key": "b6b4ff70-917c-4003-bc4d-ebc4ccdd606c",
        "bankslip_profile_key": "5666937c-944a-44c6-98e6-3591f99fe4ff",
        "status": "written_off",
        "fund_class": {
            "document_number": "11.222.333/0001-81",
            "fund_class_key": "d81118d0-527b-45b0-8c60-76e9d3ab3aa3",
            "name": "Nome da Classe do Fundo"
        },
        "external_participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "participant_control_number": "XO0QYVBF1JU9LFBBKGT7XYQV9",
        "face_value": 629.33,
        "due_date": "2026-09-17",
        "borrower": {
            "document_number": "969.698.790-03",
            "name": "Nome do Sacado",
            "person_type": "natural_person",
            "address": {
                "postal_code": "05425-020"
            }
        },
        "assignor": {
            "name": "Nome do Cedente",
            "document_number": "33.444.555/0001-81",
            "person_type": "legal_person"
        },
        "settlement_instructions": [
            {
                "asset_key": "22fc5c95-3622-48ad-b26a-99f8d0499e69",
                "external_id": "758638e4-6fe6-4b69-8799-30728ca16a22",
                "asset_type": "duplicata_mercantil",
                "issue_date": "2025-01-17",
                "maturity_date": "2026-09-17",
                "face_value": 629.33,
                "status": "written_off"
            }
        ],
        "our_number": 10507,
        "our_number_digit": "0",
        "digitable_line": "03399.87654 32100.012345 67890.123456 1 00000000062933",
        "barcode": "03391000000000629333987654321000123456789012345"
    }
}
```