# My Belvo Portal El My Belvo Portal (MBP) permite a los usuarios gestionar los consentimientos que han dado previamente a las aplicaciones (usando el producto OFDA de Belvo) para acceder a sus datos en la Red de Finanzas Abiertas. Cumplimiento de gestión de consentimientos Como parte de las regulaciones para la Red de Finanzas Abiertas de Brasil, todas las personas y empresas deben poder gestionar los consentimientos que han otorgado a las aplicaciones que acceden a sus datos personales. En consecuencia, tu aplicación **debe** ofrecer opciones directas y fácilmente accesibles para que los usuarios accedan al My Belvo Portal. Esto se puede lograr enlazando directamente a la instancia de Belvo o integrando tu propia instancia personalizada. ## Confirmar Identidad Antes de que los usuarios puedan acceder a su información de consentimiento, necesitarán confirmar su identidad autenticándose con una institución bancaria con la que tengan una cuenta. ### Iniciar Sesión En la pantalla de **Iniciar Sesión**, el usuario necesita proporcionar su CPF (Individuos) o una combinación de CNPJ y CPF (Empresas). ### Selección de Institución En la pantalla de **Selección de Institución**, el usuario selecciona qué institución desea usar para autenticarse. ### Revisar Solicitud de Consentimiento de Autenticación En la pantalla de **Consentimiento** de autenticación, el usuario puede revisar qué datos se utilizarán para autenticar (**Conferir resumo do consentimento**) así como por cuánto tiempo será válido el consentimiento (**Prazo de compartilhamento**). Por defecto, esto está configurado para un día y no puede ser cambiado por el usuario. ### Redirección y Confirmación El usuario es entonces redirigido a su institución y una vez que otorgan su consentimiento en la institución, son redirigidos de vuelta al hosted widget. Ahora pueden acceder al My Belvo Portal haciendo clic en **Acessar Meu Portal Belvo**. ## Verificación de Consentimientos Una vez en el MBP, el usuario puede verificar sus consentimientos de Open Finance haciendo clic en **Meus compartilhamentos**, seleccionando el consentimiento y luego viendo los detalles del consentimiento. ## Opciones de Hosting de MBP En tu aplicación, puedes dirigir a tus usuarios a gestionar sus consentimientos de cualquiera de las siguientes maneras: - Usando la instancia universal de MBP de Belvo. (**Recomendado**) - Iniciando una instancia del MBP que solo mostrará los consentimientos que tus usuarios han dado a tu aplicación. ### MBP en el sitio web de Belvo En el sitio web de Belvo, alojamos una instancia universal del MBP que cualquier usuario puede usar para gestionar sus consentimientos. Esta instancia consolida todos los consentimientos que han otorgado utilizando el producto OFDA de Belvo. En tu aplicación, puedes dirigir a tus usuarios a la instancia universal del MBP de Belvo usando esta URL: `https://meuportal.belvo.com/`. Si deseas que tus usuarios solo vean los consentimientos que han otorgado a tu aplicación, consulta vista de consentimiento personalizada de MBP. ### Vista de consentimiento personalizada de MBP Puedes personalizar el MBP para mostrar solo los consentimientos que tu usuario ha otorgado a tu aplicación, facilitando así la gestión de sus consentimientos. Para crear un MBP personalizado que solo muestre los consentimientos otorgados a tu aplicación: 1. Crea un `access_token` (Para individuos, necesitarás proporcionar sus detalles de CPF. Para empresas, se requieren tanto los detalles de CPF como de CNPJ). Individual ```curl cURL Request curl -X POST \ https://sandbox.belvo.com/api/token/ \ -H 'Content-Type: application/json' \ -H 'Host: sandbox.belvo.com' \ -d 'Ver ejemplo de payload abajo' ``` ```json JSON Payload for Individual Users { "id": "{{secretId}}", "password": "{{secretPassword}}", "scopes": "read_consents,write_consents,write_consent_callback", "widget": { "openfinance_feature": "consent_management", "consent": { "terms_and_conditions_url": "url_to_your_terms_and_conditions", "permissions": ["REGISTER", "ACCOUNTS", "CREDIT_CARDS", "CREDIT_OPERATIONS"], "identification_info": [ { "type": "CPF", "number": "individual_cpf", "name": "individual_full_name" } ] } } } ``` Business ```curl cURL Request curl -X POST \ https://sandbox.belvo.com/api/token/ \ -H 'Content-Type: application/json' \ -H 'Host: sandbox.belvo.com' \ -d 'Ver ejemplo de payload abajo' ``` ```json JSON Payload for Business Users { "id": "{{secretId}}", "password": "{{secretPassword}}", "scopes": "read_consents,write_consents,write_consent_callback", "widget": { "openfinance_feature": "consent_management", "consent": { "terms_and_conditions_url": "url_to_your_terms_and_conditions", "permissions": ["REGISTER", "ACCOUNTS", "CREDIT_CARDS", "CREDIT_OPERATIONS"], "identification_info": [ { "type": "CPF", "number": "individual_cpf", "name": "individual_full_name" }, { "type": "CNPJ", "number": "business_cnpj", "name": "business_name" } ] } } } ``` 1. Añade el `access_token` a la URL de MBP: ` https://meuportal.belvo.com/?access_token={accessToken}`. 2. Proporciona a tu usuario la URL generada. ❇️ ¡Hecho! Una vez que tu usuario inicie sesión en el MBP, podrá gestionar los consentimientos que ha otorgado a tu aplicación. ## Renovación de consentimiento con el MBP El MBP también se puede utilizar para renovar un consentimiento expirado. Belvo te enviará un webhook cuando el consentimiento de uno de tus usuarios haya expirado. Un ejemplo de payload de webhook es el siguiente: ```json Ejemplo de Webhook de Consentimiento { "webhook_id": "e6f08793f967445fb74ce16beae665bc", "webhook_type": "CONSENT", "webhook_code": "consent_expired", "link_id": "3d3364b7-0175-483d-a58b-b471f251e533", "external_id": null, "data": { "consent_id": "29a54e55-21f0-4d02-8e34-797ab7d43940", "action": "renew", "institution": "ofmockbank_br_retail", "institution_display_name": "OF Mockbank", "institution_icon_logo": "https://logo.com" } } ``` | Campo | Descripción | | --- | --- | | `link_id` | El ID del link asociado con el consentimiento. | | `consent_id` | El ID del consentimiento. | | `action` | Una indicación de qué acción necesitas tomar. Para webhooks de `consent_expired`, esto siempre se establece en `renew`. | | `institution` | La institución para la cual el usuario proporcionó su consentimiento. | | `institution_display_name` | El nombre para mostrar de la institución. | | `institution_icon_logo` | La URL del logo de la institución. | Después de recibir el webhook, puedes configurar el MBP en modo 'renovar consentimiento' creando una URL con la siguiente información: ```text URL de Ejemplo https://meuportal.belvo.com/ ?access_token={accessToken} &link_id={webhook_link_id} &consent_id={webhook_consent_id} &institution={webhook_institution} &institution_display_name={the_display_name_url_encoded} &institution_icon_logo={url_to_icon} &action=renew ``` | Campo de Consulta | Descripción | Ejemplo | | --- | --- | --- | | `access_token` | Un `access_token` recién generado para el MBP. Para instrucciones sobre cómo crear un `access_token` para el MBP, consulta la sección vista de consentimiento personalizada del MBP. | N/A | | `link_id` | El `link_id` que recibiste en el evento de webhook `consent_expired`. | `link_id=6b94a043-9a96-4dd3-b889-30f4dcbd9608` | | `consent_id` | El `consent_id` que recibiste en el evento de webhook `consent_expired` (ubicado en el objeto `data`). | `consent_id=2c63f6a0-22ea-4edf-a15c-9c1c2f92a20d` | | `institution` | La `institution` que recibiste en el evento de webhook `consent_expired` (ubicado en el objeto `data`). | `institution=ofc_mockbank_br` | | `institution_display_name` | El `institution_display_name` (codificado en URL) que recibiste en el evento de webhook `consent_expired` (ubicado en el objeto `data`). | `institution_display_name=OF%20Mockbank` | | `institution_icon_logo` | La URL de `institution_icon_logo` que recibiste en el evento de webhook `consent_expired` (ubicado en el objeto `data`). | `institution_icon_logo=https://logo.com` | | `action` | La `action` en el evento de webhook `consent_expired` (ubicado en el objeto `data`). Para webhooks de `consent_expired`, esta acción siempre será `renew`. | `action=renew` | Dirigir a tus usuarios a esta URL los guiará automáticamente a través del proceso de renovación del consentimiento.