Skip to content
Última actualización

Introducción al Hosted Widget

Para aplicaciones móviles nativas, hemos creado una versión hosted de nuestro widget que simplifica significativamente tu proceso de desarrollo e integración. Todo lo que se requiere es que crees un webview en tu aplicación y algo de conocimiento sobre el manejo de redirecciones deeplink.

En esta página, te proporcionaremos documentación de referencia sobre qué información pasar al iniciar tu hosted widget, así como los posibles eventos que puedes recibir del widget.

En esta guía te guiaremos a través de:

  1. Generar un token de acceso
  2. Iniciar el hosted widget
  3. Manejar eventos de callback
  4. Recuperar datos

## Generando un access_token

Para que el widget aparezca a tus usuarios finales, necesitas generar un access_token en tu servidor y enviarlo a Belvo. Una vez que recibamos la solicitud, recibirás un objeto con dos claves: access y refresh. Pasa el valor de la clave access al iniciar el hosted widget.

Los valores devueltos son válidos por 10 minutos y invalidamos el token tan pronto como un usuario conecta exitosamente su cuenta

Para generar un access_token, simplemente realiza la siguiente llamada desde tu servidor a Belvo:

curl -X POST \
  https://sandbox.belvo.com/api/token/ \
  -H 'Content-Type: application/json' \
  -H 'Host: sandbox.belvo.com' \
  -d 'ver ejemplos de payloads abajo'
{
  "id": "SECRET_ID",
  "password": "SECRET_PASSWORD",
  "scopes": "read_institutions,write_links",
  "fetch_resources": ["ACCOUNTS", "TRANSACTIONS", "OWNERS"],
  "credentials_storage": "store",
  "stale_in": "300d",
  "widget": {
    "callback_urls": {
      "success": "your-deeplink-here://success",
      "exit": "your-deeplink-here://exit",
      "event": "your-deeplink-here://error"
    }
}

## Iniciando el widget

Cuando inicias tu webview, para comenzar el widget correctamente, necesitas pasar tu access_token en la cadena de la URL.

También puedes pasar los parámetros de configuración, como el idioma del widget (locale), qué tipo de enlace deseas crear (access_mode), o qué instituciones mostrar basadas en los recursos que puedes extraer de ellas (resources), en la URL.

https://widget.belvo.io/
	?access_token={access_code}
  &locale=es
  &institution_types=retail
  &institutions=ofbradesco_br_retail
  &country_codes=BR
  &access_mode=recurrent
  &external_id=HJLSI-897809
  &resources=OWNERS,ACCOUNTS
  &integration_type=openfinance

Para una lista completa de parámetros (junto con detalles de implementación), por favor consulta nuestro artículo de Configuración de Inicio del widget (Multi-Region).

Manejo de eventos de callback

Utilizamos redirecciones de deep link para pasar información sobre lo que sucede en el widget. La estructura de nuestros deep links es:

Necesitarás poder manejar eventos de success, exit y error.

Evento de éxito

Recibirás un evento success cuando tu usuario haya conectado exitosamente su cuenta a su institución usando el widget. Poder manejar el evento success es crítico ya que contiene el id del link del usuario (requerido para posteriormente recuperar datos de la API de Belvo).

ParámetroDescripción
linkEl ID del link para el usuario. Necesitarás este ID para poder hacer solicitudes adicionales para el usuario.
institutionLa institución con la que se creó el link.
your-url-here://success
	?link=cb65f82c-dc93-4d3e-8270-9a27528397f5
	&institution=erebor_br_retail

### Evento de salida

Recibirás un evento exit cuando tu usuario final salga del widget:

  • antes de conectar su cuenta.
  • después de que hayan seleccionado una institución.
  • debido a un error.

#### last_encountered_error

La cadena de consulta last_encountered_error solo se envía si ocurrió un error. Consulta la tabla a continuación para ver una lista completa de posibles códigos de error y sus mensajes.

Código de errorMensaje de error
institution_downLa institución financiera no está disponible, intenta nuevamente más tarde
login_errorLos posibles mensajes de error para un login_error son: - Credenciales inválidas proporcionadas para iniciar sesión en la institución La cuenta del usuario está bloqueada, el usuario necesita contactar a la institución para desbloquearla El acceso a la cuenta del usuario fue prohibido por la institución Imposible iniciar sesión, ocurrió algo inesperado al iniciar sesión en la institución. Intenta nuevamente más tarde.
too_many_sessionsImposible iniciar sesión, ya hay una sesión abierta con la institución para estas credenciales
unexpected_errorBelvo no puede procesar la solicitud debido a un problema interno del sistema o a una respuesta no soportada de una institución

meta_data

La cadena de consulta meta_data se envía cada vez que un usuario sale del widget. Consulta la tabla a continuación para ver una lista de posibles valores.

ParámetroDescripción
stepSe envía cuando el usuario sale del widget en la pantalla inicial. El valor del parámetro es siempre abandon-survey.
institution_nameSe envía cuando el usuario sale del widget después de seleccionar una institución. El valor será el código de institución de Belvo, por ejemplo banamex_mx_retail.
your-url-here://exit
	?last_encountered_error_code=login_error
  	&last_encountered_error_message=Invalid%20credentials%20provided%20to%20login%20to%20the%20institution
	&meta_data_institution_name=amex_mx_retail
	&meta_data_step=abandon-survey

### Evento de error

Recibirás un evento de error cada vez que ocurra un error durante el uso del widget.

Consulta la tabla a continuación para ver una lista de posibles códigos de error y sus mensajes.

Código de errorMensaje de error
ACCESS_TOKEN_NOT_VALIDEl token de acceso no fue proporcionado o no es válido
your-url-here://exit
	?error=ACCESS_TOKEN_NOT_VALID
	&error_message=El%20token%20de%20acceso%20no%20fue%20proporcionado%20o%20no%20es%20válido


### Evento de advertencia

Recibirás un evento de warning cada vez que ocurra un evento no terminal durante el uso del widget.

Consulta la tabla a continuación para ver una lista de posibles códigos de advertencia y sus mensajes.

Código de advertenciaMensaje de advertencia
institution_disabledLa institución está temporalmente no disponible.
your-url-here://warning
	?warning=institution_disabled
  &warning_message=La%20institución%20está%20temporalmente%20no%20disponible.

## Recuperando datos

Una vez que tu usuario conecte exitosamente su cuenta bancaria, recibirás el link_id en el evento de éxito. Belvo luego te enviará webhooks informándote cuando la información esté lista para el enlace. Para más información, consulta:


## Guías de Plataforma

Para ayudar en tu desarrollo, hemos creado guías sobre cómo configurar enlaces profundos y escuchar eventos para las siguientes plataformas: