Saltar al contenido
Última actualización

En esta guía, te guiamos a través de todo lo que necesitas para extraer datos de empleo sobre tus usuarios utilizando nuestra API. Esto incluye:

  • Una visión general del flujo de datos
  • Generar un token de acceso para el widget y crear un enlace
  • Obtener información de empleo y del propietario

Requisitos previos

Antes de proceder con tu integración, asegúrate de haber revisado nuestra guía de inicio. En la guía de inicio, crearás una cuenta de Belvo, generarás algunas claves de API de sandbox y configurarás una URL de webhook. Para propósitos de prueba y desarrollo de tu integración, recomendamos encarecidamente usar el entorno de Sandbox siempre que sea posible.

Flujo general de datos

Tiempo promedio para recuperar datos de empleo

El tiempo promedio que tarda Belvo en recuperar datos de empleo de una institución de empleo y enviarte un evento de webhook es de 15 segundos. Sin embargo, esto puede variar dependiendo de la capacidad de respuesta de la institución y su carga actual de solicitudes.

Belvo utiliza flujos de trabajo asincrónicos para mejorar tu flujo de datos (consulta el diagrama a continuación). Cada vez que tu usuario crea exitosamente un enlace usando el Hosted Widget, Belvo extrae automáticamente todos los datos de Empleo para ti en segundo plano, y una vez que tenemos todos los datos, te notificamos a través de un webhook que los datos están listos para ser recuperados (ver las secciones moradas de WEBHOOK en el diagrama a continuación). Para que podamos notificarte una vez que los datos estén listos, necesitas proporcionar una URL a donde podamos enviar eventos.

AplicaciónBelvoInstitución de Empleofetch_resources = [EMPLOYMENTS, OWNERS]EMPLOYMENTSOWNERSSi usas enlaces recurrentes, a la frecuencia de actualización programadarecibirás un webhook de new_{resource}_available.POST /token/200 - Token GeneradoDirige a tu usuario al Hosted WidgetEl usuario inicia sesión en su instituciónUsuario redirigido de vuelta a tu aplicación + enlace generadoBelvo recupera información históricade EMPLOYMENT y OWNERpara el ID del enlaceWEBHOOK: historical_updateGET /br/employments/{link-id}200 + Detalles de EmpleoWEBHOOK: historical_updateGET /owners/{link-id}200 + Detalles del PropietarioWEBHOOK: new_employments_availableGET /br/employments/{link-id}200 + Detalles de EmpleoAplicaciónBelvoInstitución de Empleo

Generar un token de acceso

Para que el widget aparezca a tus usuarios finales, necesitas generar un token de access 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 token de access, simplemente realiza una llamada desde tu servidor a Belvo:

cURL Request Headers
curl -X POST \
  https://production.belvo.com/api/token/ \
  -H 'Content-Type: application/json' \
  -H 'Host: production.belvo.com' \
  -d 'ver ejemplos de payloads abajo'
Empleos Brasil
{
  "id": "YOUR_SECRET_ID",
  "password": "YOUR_SECRET_PASSWORD",
  "scopes": "read_institutions,write_links",
  "stale_in": "365d",
  "credentials_storage": "store",
  "fetch_resources": ["EMPLOYMENTS", "OWNERS"], 
  "widget": {
    "callback_urls": {
      "success": "your_deeplink_here://success",
      "exit": "your_deeplink_here://exit",
      "event": "your_deeplink_here://error"
    },
    "branding": {
      "company_icon": "https://mysite.com/icon.svg",
      "company_logo": "https://mysite.com/logo.svg",
      "company_name": "ACME",
      "company_terms_url": "https://belvo.com/terms-service/"
    },
    "theme": [] // See our dedicated widget customization article
  }
}
Parámetro TipoRequeridoDescripción
idstringtrueReemplaza YOUR_SECRET_ID con el secretID que generaste en el dashboard de Belvo.
passwordstringtrueReemplaza YOUR_SECRET_PASSWORD con el secretPassword que generaste en el dashboard de Belvo.
scopesstringtrueEl parámetro scopes contiene una lista de permisos que te permiten crear un enlace para el usuario. Este es un parámetro requerido y debe enviarse exactamente como se muestra.
stale_instringopcionalEl parámetro stale_in te permite controlar por cuánto tiempo Belvo almacena datos derivados del usuario. Para más información, consulta la sección stale_in de nuestro artículo sobre controles de retención de datos.
credentials_storagestringopcionalEl parámetro credentials_storage te permite controlar cuánto tiempo debe Belvo almacenar las credenciales de los usuarios. Si creas enlaces recurrentes, esto debe establecerse en store. Para más información, consulta la sección credentials_storage de nuestro artículo sobre controles de retención de datos.
fetch_resourcesarray de stringstrueEn el parámetro fetch_resources, proporcionas una lista de recursos que deseas que Belvo recupere de manera asíncrona para el usuario. Para datos de empleo en Brasil, debes enviar ["EMPLOYMENTS", "OWNERS"].
widget.callback_urlsobjecttrueEn el objeto callback_urls, debes agregar enlaces a donde tu usuario debe ser redirigido en los siguientes casos:
  • success (tu usuario conectó exitosamente sus cuentas)
  • exit (tu usuario salió del widget antes de completar el proceso)
  • event (ocurrió un error durante el proceso de conexión) Para más información, consulta la sección callback_urls en nuestra guía de Hosted Widget (OFDA). Belvo también enviará información adicional del evento dependiendo del evento. Para más información, asegúrate de consultar la sección Handling callback events de la guía de Hosted Widget (OFDA).

widget.branding

object

true

En el objeto branding, debes agregar tu:

  • company_icon
  • company_logo
  • company_name
  • company_terms_url.

También puedes agregar opcionalmente un color de fondo personalizado para cuando el widget se abra, así como desactivar los mensajes de Belvo sobre cuántas cuentas han sido conectadas. Para más información sobre las opciones de personalización y branding del widget, consulta nuestra guía dedicada.

widget.themearray de objetosopcionalOpcionalmente, puedes agregar los colores de tu marca al widget usando el parámetro theme. Para más información sobre dónde aparecerán estos colores en el widget, consulta la sección dedicada Agregar colores personalizados al widget de nuestra guía de Branding.

Inicia el widget en tu aplicación para tu usuario

A continuación, necesitarás redirigir a tu usuario al widget en una vista web dentro de tu aplicación, usando el token de access que recibiste de la solicitud /api/token/:

Hosted Widget URL
https://widget.belvo.io/
  ?access_token={access_code}
  &locale=pt
  &institutions=inss_br_employment
  &access_mode=single
  &external_id=HJLSI-897809
Parámetro RequeridoDescripción
access_tokentrueReemplaza access_code con el token de acceso que recibiste.
localetruePara que el hosted widget funcione correctamente para tus usuarios en Brasil, debes establecer el parámetro de consulta locale a pt.
institutionsfalseCon el parámetro institutions, puedes proporcionar una (o más) instituciones que deberían mostrarse en el widget. En el caso de Empleos en Brasil, recomendamos establecer este parámetro a inss_br_employment.
access_modefalsePuedes usar el parámetro access_mode para definir qué tipo de enlace deseas crear (single o recurrent). Por defecto, Belvo crea enlaces recurrent.

external_id

altamente recomendado

Puedes agregar un identificador adicional para asociarlo con el enlace en la base de datos de Belvo. El external_id que proporciones:

  • debe ser un ID único para cada usuario en tu base de datos.
  • debe tener al menos tres caracteres de longitud.
  • solo puede estar compuesto por letras, números, guiones (-) y guiones bajos (_).
  • no puede contener ninguna información personal identificable sobre el usuario (correo electrónico, nombre, número de teléfono, número de tarjeta de crédito, etc.).

Además, revisa nuestras secciones Iniciando el widget y eventos de callback de nuestra guía de Hosted Widget (Multi-Region).

¡Hecho!

Belvo ahora se conectará a la institución y validará que el CPF proporcionado sea correcto. Una vez validado y creado tu enlace, Belvo cargará asincrónicamente los datos de empleo. Te enviaremos un webhook una vez que hayamos recuperado los datos para el enlace dado, y luego podrás extraerlos con una solicitud get.

Webhook de espera de empleo

Tan pronto como se crea tu enlace, cargamos asincrónicamente la información de empleo disponible para el enlace y te enviaremos el siguiente webhook:

Ejemplo de Webhook Histórico
{
  "webhook_id": "03d1ca0d62db4f769488265d141047b7",
  "webhook_type": "EMPLOYMENTS",
  "process_type": "historical_update",
  "webhook_code": "historical_update",
  "link_id": "2f5d361d-dad6-45d4-a0bf-26d479766067",
  "request_id": "4363b08b-51eb-4350-9c74-5df5ac92a7f6",
  "external_id": "your_external_id",
  "data": {
    "total_employments": 1 // El número total de perfiles de registros de empleo encontrados para el enlace
  }
}

Una vez que recibas la notificación, puedes obtener más detalles haciendo la siguiente solicitud:

Ejemplo de Solicitud
curl --request GET 'https://api.belvo.com/api/br/employments/?link={id}' \
-u SECRET_ID:SECRET_PASSWORD
Parámetro de ConsultaDescripciónEjemplo
linkEl link_id que recibiste en la notificación del webhook.2f5d361d-dad6-45d4-a0bf-26d479766067

Esperar el webhook del propietario

Tan pronto como se crea tu enlace, cargamos asincrónicamente la información del propietario disponible para el enlace y te enviaremos el siguiente webhook:

Código del WebhookDescripción
historical_updateEl número total de propietarios encontrados para el enlace.

En la carga útil del webhook incluimos el número de propietarios encontrados para el enlace.

Ejemplo de Webhook Histórico
{
  "webhook_id": "aadf41a1fc8e4f79a49f7f04027ac999",
  "webhook_type": "OWNERS",
  "process_type": "historical_update",
  "webhook_code": "historical_update",
  "link_id": "16f68516-bcbc-4cf7-b815-c500d4204e28",
  "request_id": "4363b08b-51eb-4350-9c74-5df5ac92a7f6",
  "external_id": "your_external_id",
  "data": {
    "total_owners": 2 // Número total de propietarios
  }
}

Una vez que recibas la notificación, puedes obtener más detalles haciendo la siguiente solicitud:

Ejemplo de Solicitud
curl --request GET 'https://api.belvo.com/api/owners/?link=link_id' \
-u SECRET_ID:SECRET_PASSWORD
Parámetro de ConsultaDescripciónEjemplo
linkEl link_id que recibiste en la notificación del webhook.2f5d361d-dad6-45d4-a0bf-26d479766067