# Límites de Recuperación de Datos de OFDA Brasil

## Introducción

La Red de Open Finance de Brasil establece límites mensuales sobre la frecuencia con la que puedes recuperar datos para una persona o empresa específica. Estos límites operativos están vinculados a una combinación de:

- el CPF o CNPJ del usuario
- los datos de la API que deseas obtener (Owners, Accounts, Transactions, Bills, Balances, Investments o Investment transactions)
- el certificado de la red de Open Finance


Una vez que se alcanza el límite operativo mensual de llamadas a la API, no se puede recuperar más información para el CPF/CNPJ hasta el inicio del siguiente mes calendario. Sin embargo, Belvo ha implementado optimizaciones para maximizar la cantidad de datos que puedes recuperar para tus usuarios de acuerdo con tus necesidades de datos.

Los límites se describen en la tabla a continuación:

| Recurso de la API de Belvo (llamadas POST) | Límite de Operación de Open Finance |
|  --- | --- |
| Owners | 8 recuperaciones por CPF/CNPJ |
| Accounts | 8 recuperaciones por CPF/CNPJ- **Nota**: La información del límite de sobregiro puede actualizarse hasta 420 veces por CPF/CNPJ

 |
| Transactions | Dependiendo del período de tiempo solicitado:- Hasta 365 días desde el momento de la solicitud: 8 recuperaciones por CPF/CNPJ
- Menos de 6 días desde el momento de la solicitud: 240 recuperaciones por CPF/CNPJ

 |
| Account Balances | 420 recuperaciones por CPF/CNPJ |
| Bills | 30 recuperaciones por CPF/CNPJ |
| Investments | 30 recuperaciones por CPF/CNPJ |
| Investment transactions | 8 recuperaciones por CPF/CNPJ |


### Flujo de trabajo asincrónico (enlaces únicos)

> **Necesidades de frecuencia de datos:** Baja
Solo necesitas recuperar información histórica una vez (o una vez a la semana). Por ejemplo, prestamistas de crédito o verificación de ID.


Cuando creas un enlace único utilizando nuestro flujo de trabajo asincrónico (que utiliza nuestro parámetro `fetch_resources`), Belvo recuperará asincrónicamente la información histórica para tu usuario (hasta 365 días). Después de recibir la notificación del webhook de que los datos históricos están disponibles, puedes recuperarlos usando llamadas GET.

Para cualquier llamada POST subsiguiente que realices después de la creación del enlace, la información que recuperes dependerá del recurso de la API (ver la tabla a continuación).

| Recurso de la API de Belvo | Información actualizada en cada llamada POST | Frecuencia recomendada |
|  --- | --- | --- |
| Accounts | Límites de sobregiro, límites de tarjeta de crédito y saldo | Mensual |
| Owners | Detalles personales del usuario | Mensual |
| Transactions | Transacciones de los últimos seis días. | Semanal |
| Account Balances | Saldo de cuenta y sobregiro actualizados | Diario |
| Bills | Último estado de facturación | Mensual |
| Investments | Portafolio de inversiones actual | Mensual |
| Investment transactions | Transacciones de inversión recientes | Semanal |


Evita enlaces duplicados
Por cada enlace que creas, se genera un nuevo consentimiento en la red de Open Finance de Brasil y Belvo recupera datos históricos para ese CPF/CNPJ, consumiendo los límites operativos.

### Flujo de trabajo asincrónico (enlaces recurrentes)

> **Necesidades de frecuencia de datos:** Alta
Necesitas información de saldo, sobregiro y transacciones a diario. Por ejemplo, PFMs o ERPs.


Cuando creas un enlace recurrente, Belvo recuperará de manera asincrónica la información histórica de tu usuario (hasta 365 días). Después de recibir la notificación del webhook de que los datos históricos están disponibles, puedes recuperarlos usando llamadas GET como de costumbre. Dependiendo de tu tasa de actualización, recibirás webhooks indicando si se ha recuperado una nueva cuenta, propietario, transacción o factura de la institución, los cuales también puedes recuperar usando llamadas GET.

Cualquier llamada POST individual que realices recuperará la siguiente información:

| Recurso de la API de Belvo | Información actualizada en cada llamada POST | Frecuencia recomendada |
|  --- | --- | --- |
| Cuentas | Límites de sobregiro, límites de tarjeta de crédito y saldo | Mensual |
| Propietarios | Detalles personales del usuario | Mensual |
| Transacciones | Transacciones de los últimos seis días. | Semanal |
| Saldos de Cuenta | Saldo de cuenta y sobregiro actualizados | Diario |
| Facturas | Último estado de facturación | Mensual |
| Inversiones | Portafolio de inversiones actual | Mensual |
| Transacciones de inversión | Transacciones de inversión recientes | Semanal |


### Enlaces únicos

> **Necesidades de frecuencia de datos:** Muy baja
Solo necesitas recuperar información histórica una vez. Por ejemplo, un análisis de crédito único.


Cuando creas un enlace único sin datos históricos, necesitarás hacer llamadas POST individuales para recuperar datos para tu usuario.

| Recurso de la API de Belvo | Información actualizada en la primera llamada POST |
|  --- | --- |
| Accounts | Información histórica de la cuenta |
| Owners | Detalles históricos del propietario |
| Transactions | Hasta 365 días de datos transaccionales |
| Account Balances | Saldo actual de la cuenta e información de sobregiro |
| Bills | Estados de cuenta históricos |
| Investments | Portafolio de inversiones actual |
| Investment transactions | Datos históricos de transacciones de inversión |


Cualquier llamada POST individual subsiguiente que realices recuperará la siguiente información:

| Recurso de la API de Belvo | Información actualizada en cada llamada POST | Frecuencia recomendada |
|  --- | --- | --- |
| Accounts | Límites de sobregiro, límites de tarjeta de crédito y saldo | Mensual |
| Owners | Detalles personales del usuario | Mensual |
| Transactions | Transacciones de los últimos seis días. | Semanal |
| Account Balances | Saldo de cuenta y sobregiro actualizados | Diario |
| Bills | Último estado de cuenta | Mensual |
| Investments | Portafolio de inversiones actual | Mensual |
| Investment transactions | Transacciones de inversión recientes | Semanal |


#### Dado los límites, ¿es posible que los datos de cuenta y propietario para un enlace recurrente no se actualicen durante todo un mes?

Sí, en la situación donde se ha alcanzado el límite operativo para un CPF/CNPJ, el enlace recurrente no se actualizará (y no se identificarán nuevas cuentas o propietarios). Esto puede ocurrir por tres razones:

1. El usuario ha creado un enlace cuatro veces dentro del mes.
2. Los clientes que no utilizan flujos de trabajo asincrónicos han agotado los límites operativos para el CPF/CNPJ utilizando llamadas POST.


La información sobre el saldo de la cuenta y los límites de sobregiro tienen un límite más alto (mínimo de 420 llamadas a la API). Por lo tanto, esta información se actualizará para las cuentas existentes hasta que se alcance el límite para esos recursos.

#### ¿Sigo recibiendo webhooks para actualizaciones diarias o semanales?

Sí. Dependiendo de tu frecuencia de actualización, Belvo envía webhooks cuando se recuperan nuevas cuentas, propietarios, transacciones o facturas de la institución. Como los límites para la información transaccional dentro de los últimos seis días son mayores (240 solicitudes), continuarás recibiendo webhooks para nuevas transacciones. Los webhooks de cuentas, propietarios y facturas están sujetos a sus respectivos límites mensuales.

#### ¿Qué error de API recibiré cuando se alcance el límite?

Cuando se alcanza el límite en una solicitud POST sincrónica, recibirás un error HTTP `400` (`operational_limits_reached`), indicando que Belvo no pudo recuperar información para el enlace debido a que se alcanzaron los límites.

```json Ejemplo de Error de Límites Operacionales Alcanzados
[
  {
    "code": "operational_limits_reached",
    "message": "La institución ha alcanzado sus límites operacionales",
    "request_id": "3e7b283c6efa449c9c028a16b5c249fd"
  }
]
```

#### ¿Qué webhook recibiré en flujos asincrónicos?

En flujos asincrónicos (por ejemplo, cuando creas un enlace con `fetch_resources` o cuando se actualiza un enlace recurrente), Belvo envía un webhook cuando los límites operativos impiden la recuperación de un enlace y recurso determinado. La carga útil utiliza el mismo código de error `operational_limits_reached` dentro del array `data.errors`, con `webhook_code` y `process_type` establecidos de acuerdo con el flujo de trabajo (comúnmente `historical_update` para la carga histórica inicial).

El `webhook_type` indica qué recurso no pudo ser recuperado—por ejemplo, `TRANSACTIONS`, `ACCOUNTS`, `OWNERS`, `INVESTMENTS`, o `INVESTMENT_TRANSACTIONS`.

```json Ejemplo de Webhook de Límites Operativos Alcanzados
{
  "webhook_id": "4d77a0107c1d4fe9b252bf24f9b9c57c",
  "webhook_type": "TRANSACTIONS",
  "webhook_code": "historical_update",
  "process_type": "historical_update",
  "link_id": "74f98fe6-f460-4c3f-8a70-2768bc727f48",
  "request_id": "a47e488b4ee2437cb7757244455170f5",
  "external_id": "a0ea1b54bc2b5559e3dcc4be25163e1b87aa0d53d14201a6825dd79f576a017e_accountChange",
  "data": {
    "errors": [
      {
        "code": "operational_limits_reached",
        "message": "Límite Operativo Alcanzado"
      }
    ]
  }
}
```

Para el esquema completo del webhook y otras cargas de error, consulta Webhooks de Agregación.

#### ¿Estará mi usuario al tanto de que ha alcanzado el límite al crear su enlace?

Como las llamadas a la API ocurren **después** de que el usuario ha creado su enlace, no recibirán ningún error que indique que la aplicación a la que están otorgando consentimiento no podrá recuperar datos.