Skip to content

Documentación de la API de Belvo (1.222.0)

Introducción

Alcanza nuevas audiencias y convierte más usuarios conectándote fácil y seguramente a sus datos financieros, entendiendo su comportamiento y habilitando pagos instantáneos con finanzas abiertas. A través de nuestra API, puedes acceder a:

Información Disponible y Métodos de Pago

Belvo es una API de banca abierta para América Latina que permite a las empresas acceder a información bancaria y fiscal de manera segura y ágil.

A través de nuestra API, puedes acceder a:

  • Información Bancaria en Brasil
  • Información Laboral en Brasil
  • Información Laboral en México
  • Información Fiscal en México
  • Información Fiscal en Chile

También puedes usar nuestra API para realizar pagos en:

  • Brasil
  • México

Diccionarios de Datos

Si deseas la documentación de respuesta en formato Excel o CSV, por favor descárgalos desde nuestro Repositorio Público de GitHub: Diccionarios de Datos de Belvo Open Finance.

Nuestros archivos EXCEL y CSV están adicionalmente localizados en español y portugués (Brasil).

Entornos

Actualmente ofrecemos dos entornos: sandbox y producción.

Sandbox

Disponible para:

  • 🟢 Agregación y Enriquecimiento
  • ⚪️ Iniciación de Pagos

Usa nuestro entorno Sandbox para construir tu integración. Ofrecemos datos ficticios que imitan casos de uso del mundo real, lo que significa que puedes probar todos los endpoints, usar el widget e implementar webhooks, tal como lo harías con datos reales.

Todo lo que necesitas para comenzar con el entorno Sandbox es obtener tus claves API. Realmente recomendamos que comiences creando tu integración en este entorno.

Producción

Disponible para:

  • 🟢 Agregación y Enriquecimiento
  • 🟢 Iniciación de Pagos

Después de haber probado tu integración en el entorno Sandbox y estar listo para ir en vivo, necesitarás solicitar acceso a nuestro entorno de Producción. Después de solicitar acceso, nuestro equipo de ventas se pondrá en contacto contigo para programar una reunión solo para asegurarse de que se cumplan tus necesidades, y luego solo necesitarás pasar por un proceso de certificación con uno de nuestros ingenieros para asegurarte de que tu integración esté funcionando de manera óptima. Para prepararte para la reunión de certificación, solo sigue nuestra lista de verificación de integración.

Una vez que tu integración esté certificada, todo lo que necesitarás hacer es:

  • Solicitar claves API de Producción (y cambiar tus claves API de Sandbox en el código por estas nuevas).
  • Cambiar la URL base a la que haces solicitudes de sandbox.belvo.com a api.belvo.com.
  • Si estás usando webhooks, asegúrate de establecer una URL de Producción para tus webhooks.

Códigos de Respuesta

Usamos el siguiente código de estado HTTP en la respuesta dependiendo del éxito o fracaso:

Código de EstadoDescripción
200Éxito - El contenido está disponible en el cuerpo de la respuesta.
201Éxito - El contenido fue creado exitosamente en Belvo.
204Éxito - No hay contenido para devolver.
400Error de Solicitud Incorrecta - La solicitud devolvió un error, detalle en el contenido.
401No Autorizado - Las credenciales de Belvo proporcionadas no son válidas.
404No Encontrado - El recurso al que intentas acceder no se puede encontrar.
405Método No Permitido - El método HTTP que estás usando no es aceptado para este recurso.
408Tiempo de Solicitud Agotado - La solicitud se agotó y fue terminada por el servidor.
428Se Requiere Token MFA - La institución requirió un token MFA para conectar.
500Error Interno del Servidor - El detalle del error está disponible en el cuerpo de la respuesta.

Manejo de Errores

Los errores de la API de Belvo se devuelven en formato JSON. Por ejemplo, un error podría verse así:

[
    {
      "request_id": "a6e1c493d7a29d91aed4338e6fcf077d",
      "message": "Este campo es obligatorio.",
      "code": "required",
      "field": "link"
    }
]

Típicamente, una respuesta de error tendrá los siguientes parámetros:

  • request_id: un ID único para la solicitud, debes compartirlo con el equipo de soporte de Belvo para investigaciones.
  • message: descripción del error en lenguaje humano.
  • code: un código único para el error. Consulta la tabla a continuación para ver cómo manejar cada código de error.
  • field (opcional): El campo específico en el cuerpo de la solicitud que tiene un problema.

Identificador de Solicitud

Cuando necesites ayuda con un error específico, incluye el identificador de solicitud (request_id) en tu mensaje al equipo de soporte de Belvo. Esto acelerará las investigaciones y te permitirá volver a funcionar en poco tiempo.

Códigos de Error y Solución de Problemas

Para una lista completa de errores y cómo solucionarlos, por favor consulta nuestro artículo dedicado Manejo de Errores.

Política de Reintentos

Errores 50x

Implementa un retroceso exponencial automatizado de hasta cinco reintentos. Recomendamos usar un intervalo base de tres segundos con un factor de dos. Por ejemplo, el primer reintento debe ser después de tres segundos, el segundo reintento después de seis segundos (2 * 3), el tercer reintento después de 12 segundos (2 * 6), el cuarto reintento después de 24 segundos (2 * 12), y el quinto reintento después de 48 segundos (2 * 24).

Errores 40x

No debes reintentar hacer solicitudes si recibes una respuesta 40x, ya que esto es un error del cliente.

La única excepción es el error de "Demasiadas Sesiones", ya que significa que tu usuario final está accediendo a la cuenta desde otro navegador al mismo tiempo. En este caso, por favor implementa la misma política de reintentos que con los errores 50x.

Campos Obsoletos

En nuestro esquema, puedes ver que un campo ha sido marcado como deprecated. Esto significa que este campo ya no es mantenido por el equipo de Belvo. Aún puedes recibir datos para este campo dependiendo de la institución, sin embargo, no debes confiar en este campo.

OpenAPI: campos requeridos y anulables

En nuestra especificación de API, verás que algunos parámetros de respuesta tendrán una anotación de required. Según la especificación de OpenAPI, cuando un parámetro de respuesta está marcado como required, esto significa que la clave de respuesta debe ser devuelta. Sin embargo, el valor de ese parámetro de respuesta puede ser null.

📘 Info

En resumen, cualquier parámetro de respuesta marcado como requerido será devuelto por nuestra API, pero el valor puede ser establecido en null.

Descargar el archivo de descripción OpenAPI
Idiomas
Servidores
Mock server

https://developers.belvo.com/_mock/es/apis/belvoopenapispec/

Sandbox

https://sandbox.belvo.com/

Institutions

Una institución es una entidad de la que Belvo puede acceder a información. Puede ser una:

  • institución bancaria, como Nubank Brasil.
  • institución fiscal, como el Servicio de Administración Tributaria (SAT) en México.
  • institución de empleo, como el Instituto Mexicano del Seguro Social (IMSS) en México o el Instituto Nacional do Seguro Social (INSS) en Brasil.
Operaciones

Widget Access Token

Operaciones

Consents

Un consentimiento es un permiso otorgado por el usuario final para acceder a sus datos financieros en la Red de Finanzas Abiertas en Brasil.

Operaciones

Owners

Un owner representa a la persona que tiene acceso a un Link y es el propietario de todas las cuentas dentro del Link.

Puedes usar este endpoint para obtener información útil sobre tu cliente, como:

  • su nombre completo
  • información de contacto clave
  • información sobre el documento de identificación que usaron al abrir la cuenta
Operaciones

Accounts

Una cuenta es la representación de una cuenta bancaria dentro de una institución financiera. Un usuario puede tener una o más cuentas en una institución.

Por ejemplo, un usuario (o enlace) puede tener una cuenta corriente, varias tarjetas de crédito y una cuenta de préstamo.

Consultar la información de la cuenta de un usuario es útil ya que puedes obtener información sobre:

  • qué tipos de cuentas tiene el usuario.
  • el saldo de cada cuenta (ahorros, cuenta corriente, tarjeta de crédito, préstamo, etc.).
  • información detallada sobre sus gastos con tarjeta de crédito.
  • la situación actual de cualquier préstamo que puedan tener.
Operaciones

Balances

Un saldo es la cantidad de dinero disponible en una cuenta bancaria determinada (corriente o de ahorros) en un momento dado.

Operaciones

Transactions

Una transacción contiene la información detallada de cada movimiento dentro de una cuenta. Por ejemplo, una compra en una tienda o un restaurante.

Operaciones

Bills

Una bill se refiere a la factura de la tarjeta de crédito que un usuario recibe para una cuenta determinada.

Operaciones

Investments Brazil

Operaciones

Investment Transactions Brazil

Operaciones

Employments Brazil

Nuestro recurso de empleos para Brasil te permite obtener una vista completa del historial laboral actual de tu usuario y la información salarial.

Para cada usuario, proporcionamos:

  • historial laboral (incluyendo ocupaciones y datos del empleador)
  • información salarial histórica y actual (por empleador)

En este momento, el recurso de empleos está disponible para:

  • 🇧🇷 Brasil (INSS)
Operaciones

Employment Records Mexico

Nuestro recurso de registros de empleo para México te permite obtener una visión completa de las contribuciones actuales al seguro social y el historial laboral de tu usuario.

Con el recurso de registros de empleo de Belvo para México, puedes acceder a información sobre las contribuciones actuales al seguro social y el historial laboral de tu usuario. Para cada usuario, proporcionamos:

  • datos personales
  • historial laboral
  • salario base diario histórico y actual
  • ¡y más!

En este momento, el recurso de registros de empleo está disponible para:

  • 🇲🇽 México (IMSS)
  • 🇲🇽 México (ISSSTE)
Operaciones

Current Employments Mexico

El recurso de Empleos Actuales proporciona acceso en tiempo real al estado de empleo actual de individuos en México. Este recurso ofrece información detallada sobre si una persona está actualmente empleada o desempleada, junto con sus registros de empleo activos.

Operaciones

Invoices

Operaciones

Tax compliance status

Operaciones

Tax returns

Operaciones

Tax retentions

Operaciones

Obtener los detalles de una retención de impuestos

Solicitud

Obtén los detalles de una retención de impuestos específica.

Seguridad
basicAuth
Ruta
idstring(uuid)requerido

El tax-retention.id sobre el cual deseas obtener información detallada.

Consulta
omitstring

Omite ciertos campos para que no se devuelvan en la respuesta. Para más información, consulta nuestro artículo del DevPortal Filtrando respuestas.

fieldsstring

Devuelve solo los campos especificados en la respuesta. Para obtener más información, consulta nuestro artículo del DevPortal Filtrando respuestas.

curl -i -X GET \
  -u <username>:<password> \
  'https://developers.belvo.com/_mock/es/apis/belvoopenapispec/api/tax-retentions/{id}/?omit=string&fields=string'

Respuestas

De acuerdo

Cuerpoapplication/json
idstring(uuid)

Identificador único de Belvo para el elemento actual.

Ejemplo: "0d3ffb69-f83b-456e-ad8e-208d0998d71d"
linkstring or null(uuid)

El link.id al que pertenecen los datos.

Ejemplo: "30cb4806-6e00-48a4-91c9-ca55968576c8"
collected_atstring(date-time)requerido

La marca de tiempo ISO-8601 cuando se recopiló el punto de datos.

Ejemplo: "2022-02-09T08:45:50.406032Z"
created_atstring(date-time)

La marca de tiempo ISO-8601 de cuando se creó el punto de datos en la base de datos de Belvo.

Ejemplo: "2022-02-09T08:45:50.406032Z"
invoice_identificationstring or null(uuid)requerido

El ID único de la institución fiscal para la factura a la que se refiere la retención de impuestos.

Ejemplo: "def404af-5eef-4112-aa99-d1ec8493b89a"
versionstring or nullrequerido

La versión CFDI de las retenciones de impuestos.

Ejemplo: "1.0"
codeinteger or null(int32)requerido

El código de retención de impuestos. Para obtener más información, consulta nuestro artículo del DevPortal sobre los catálogos del SAT.

Ejemplo: 25
issued_atstring or null(date-time)requerido

La marca de tiempo ISO-8601 de cuando se emitió la retención de impuestos.

Ejemplo: "2019-01-03T21:10:40.000Z"
certified_atstring or null(date-time)requerido

La marca de tiempo ISO-8601 de cuando se certificó la retención de impuestos.

Ejemplo: "2019-01-03T21:10:41.000Z"
cancelled_atstring or null(date-time)requerido

La marca de tiempo ISO-8601 de cuando se canceló la retención de impuestos (si corresponde).

Ejemplo: null
sender_idstring or nullrequerido

El ID fiscal del remitente de la factura.

Ejemplo: "JKUF980404P0"
sender_namestring or nullrequerido

El nombre del remitente de la factura.

Ejemplo: "Roberto Nunez Batman"
receiver_nationalitystring or nullrequerido

Si el receptor de la factura es un nacional mexicano o no. Si el receptor no se considera un nacional mexicano, los impuestos retenidos pueden calcularse de manera diferente. Valores posibles:

  • NATIONAL
  • FOREIGN
Enum"NATIONAL""FOREIGN"
Ejemplo: "NATIONAL"
receiver_idstring or nullrequerido

El ID fiscal del receptor de la factura.

Ejemplo: "GYGK3207809L1"
receiver_namestring or nullrequerido

El nombre del receptor de la factura.

Ejemplo: "ACME LTD"
total_invoice_amountnumber or null(float)requerido

El monto total de la factura al que se refiere la retención de impuestos.

Ejemplo: 53249.8
total_exempt_amountnumber or null(float)requerido

Cantidad total que está exenta de impuestos.

Ejemplo: 1000.8
total_retained_amountnumber or null(float)requerido

Total de impuestos retenidos.

Ejemplo: 1550.7
total_taxable_amountnumber or null(float)requerido

El monto total que se puede gravar. Se calcula como total_invoice_amount - total_exempt_amount.

Ejemplo: 43249
retention_breakdownArray of objects or nullrequerido

Un desglose de los impuestos retenidos.

base_amountnumber or null(float)requerido

El monto base que se utilizó para calcular la retención de impuestos.

Ejemplo: 0.03
tax_typestring or nullrequerido

Atributo opcional para indicar el tipo de impuesto retenido para el período o año según el catálogo del SAT.

Ejemplo: "01"
retained_amountnumber or null(float)requerido

El monto retenido.

Ejemplo: 0
payment_statusstring or nullrequerido

Indica si el impuesto ha sido pagado o no. Puede ser:

  • PAID
  • PROVISIONED
Enum"PAID""PROVISIONED"
Ejemplo: "PAID"
xmlstring or nullrequerido

El documento de retención de impuestos en formato XML.

Ejemplo: "=XML-STRING="
Respuesta
application/json
{ "id": "0d3ffb69-f83b-456e-ad8e-208d0998d71d", "link": "30cb4806-6e00-48a4-91c9-ca55968576c8", "collected_at": "2022-02-09T08:45:50.406032Z", "created_at": "2022-02-09T08:45:50.406032Z", "invoice_identification": "def404af-5eef-4112-aa99-d1ec8493b89a", "version": "1.0", "code": 25, "issued_at": "2019-01-03T21:10:40.000Z", "certified_at": "2019-01-03T21:10:41.000Z", "cancelled_at": null, "sender_id": "JKUF980404P0", "sender_name": "Roberto Nunez Batman", "receiver_nationality": "NATIONAL", "receiver_id": "GYGK3207809L1", "receiver_name": "ACME LTD", "total_invoice_amount": 53249.8, "total_exempt_amount": 1000.8, "total_retained_amount": 1550.7, "total_taxable_amount": 43249, "retention_breakdown": [ {} ], "xml": "=XML-STRING=" }

Eliminar una retención de impuestos

Solicitud

Elimina una retención de impuestos específica de tu cuenta de Belvo.

Seguridad
basicAuth
Ruta
idstring(uuid)requerido

El tax-retention.id que deseas eliminar.

curl -i -X DELETE \
  -u <username>:<password> \
  'https://developers.belvo.com/_mock/es/apis/belvoopenapispec/api/tax-retentions/{id}/'

Respuestas

No hay contenido

Respuesta
Sin contenido

Tax status

Operaciones

Financial Statements

Operaciones

Invoices Chile

Operaciones

Tax Status Chile

Operaciones

Debt Reports Chile

Operaciones

Incomes

Utiliza el endpoint de Incomes para obtener información sobre las fuentes de ingresos de una cuenta en los últimos 365 días. Este endpoint es particularmente útil cuando deseas verificar los ingresos de una persona.

📘 Información

El recurso de incomes está solo disponible para cuentas de Checking y Savings asociadas con enlaces bancarios.

Operaciones

Recurring Expenses

La API de Gastos Recurrentes de Belvo te permite identificar los pagos regulares de un usuario para servicios de suscripción, como Netflix o membresías de gimnasio, así como pagos de servicios públicos, como facturas de electricidad o teléfono. Devolvemos información de hasta 365 días.

📘 Info

El recurso de gastos recurrentes está solo disponible para cuentas de Cheques, Ahorros y Tarjetas de Crédito asociadas con enlaces bancarios.

Operaciones

Risk Insights

Operaciones

Employment Metrics

Operaciones

Payment Institutions (Brazil)

Una institución de pago es una entidad de la que Belvo puede acceder a información. Puedes ver una lista completa de instituciones disponibles para pagos haciendo una solicitud de Lista a este endpoint.

Operaciones

Customers (Brazil)

Un customer es el pagador que va a transferir fondos a tu cuenta bancaria. Necesitas crear un customer para recibir pagos entrantes en la cuenta bancaria de tu organización.

Operaciones

Bank Accounts (Brazil)

Para recibir pagos entrantes en la cuenta bancaria de su organización, debe registrar las cuentas bancarias (individuales y empresariales) utilizando la Payments API de Belvo.

  • Las cuentas bancarias individuales deben ser creadas para cada pagador (su cliente).
  • Las cuentas bancarias empresariales deben ser creadas para el beneficiario del pago (su organización).
Operaciones

Payment Intents (Brazil)

Un payment intent es un punto único de acceso para crear pagos utilizando cualquier método de pago ofrecido por Belvo.

Un payment intent captura toda la información del pago (como el monto a cobrar, la descripción del pago, el proveedor, etc.) y guía a tus clientes a través del flujo de pago.

Nota: Para las instituciones que requieren el username_type en el array form_fields, debes enviar este valor en tu solicitud PATCH.

Operaciones

Payment Authorizations (Brazil)

Una Autorización de Pago es el consentimiento que tu usuario te da para cargar (debitando dinero de) sus cuentas. Necesitas realizar una Autorización de Pago por cada ‘contrato’ (por ejemplo, si tu empresa maneja tanto electricidad como agua pero se facturan por separado, entonces deberás crear dos Autorizaciones de Pago separadas).

Una vez que el usuario confirma la autorización, necesitarás escuchar un webhook PAYMENT_AUTHORIZATION con el estado configurado en AUTHORIZED. Una vez que recibas este webhook, el proceso de autorización estará completo y podrás cargar a tu usuario.

¿Qué es un cargo?

Un cargo representa el pago individual (débito) que tu cliente realizará.

Encabezado de Versión

El recurso de Autorización de Pago requiere que envíes el encabezado X-Belvo-API-Resource-Version configurado en Payments-BR.V2.

Operaciones

Biometric Pix Widget Access Token (Brazil)

Utilice las solicitudes de Token del Biometric Pix Widget para crear un token de acceso para Pagos Biométricos.

Operaciones

Enrollments (Brazil)

Operaciones

Payment Transactions (Brazil)

Cada vez que recibes un pago entrante de tu cliente, se crea una transacción en la base de datos de Belvo.

Puedes utilizar el recurso de Payment Transactions para obtener información útil sobre una transacción, así como el cargo específico asociado con ella.

Operaciones