Developers API & Widget
API Reference
ZH

Iframe第 1 步(共 2 步)

配置前端

在页面中嵌入组件,显示银行选择器,并监听 iframe 消息。

组件是通过 https://widget.wealthreader.com/js/load.js 加载的 iframe。本页仅介绍前端。callback 和银行数据在后端配置。

提供此页面的域名必须在打开组件之前在客户区获得授权。否则,组件会提示域名未获授权。

集成清单

0/3

最小代码示例

每次操作都生成新的 operation_id。将 entities_to_display 留空可显示 api_key 下的所有金融机构。除非技术团队另有指示,否则将 wait_full_response 保持为 true。

<script>
    const wr_conf = {
        operation_id: crypto.randomUUID(),
        entities_to_display: [],
        wait_full_response: true
    };

    window.addEventListener("message", (event) => {
        if (event.origin !== "https://widget.wealthreader.com") {
            return;
        }

        if (event.data === "flow completed") {
            // El callback de backend ya se envió con éxito.
            // Cierra el selector o redirige a la pantalla de éxito.
            return;
        }

        if (typeof event.data !== "string") {
            return;
        }

        try {
            const message = JSON.parse(event.data);
            if (message.error) {
                console.log(message.error.code, message.error.message);
                // OTP, login incorrecto, callback caído, etc.
            }
        } catch (err) {
            // Ignora otros mensajes del iframe.
        }
    });
</script>

<iframe
    id="wr-iframe"
    title="Wealth Reader widget"
    width="100%"
    frameBorder="0"
    referrerpolicy="origin"
></iframe>
<script src="https://widget.wealthreader.com/js/load.js"></script>

load.js 会查找 id="wr-iframe" 的 iframe,并根据窗口设置高度。请预留足够的垂直空间;将其插入页面中部可能导致内容被截断。

postMessage 消息

iframe 按以下方式与页面通信:

event.data 何时触发 应执行的操作
"flow completed" 数据读取成功,并且 callback 返回 200 + {"status":"ok"} 关闭组件或跳转到成功页面。此消息不包含银行数据。
包含 error 的 JSON 流程仍在继续(2FA、协议等),或已失败 读取 error.code 和 error.message。callback 尚未发送。

务必检查 event.origin === "https://widget.wealthreader.com"。

wr_conf 参数

参数 必填 默认值 作用
operation_id 是 — 由您生成的标识符。在 callback 中返回,用于关联前端与后端。
entities_to_display 否 全部 金融机构代码数组。为空或省略时表示全部。列表:https://api.wealthreader.com/entities/
wait_full_response 否 true true:产品和交易。false:仅产品列表。
date_from 否 昨天 要查询的交易期间起始日期,格式为 AAAA-MM-DD。仅当 wait_full_response 为 true 时适用。
product_types 否 api_key 下的产品 产品筛选器。可使用数组或逗号分隔的列表。
default_login 否 — 金融机构代码。直接打开该机构的表单。
default_login_entity_country 否 ES ISO 国家代码(ES、FR 等)。仅在指定 default_login 时使用。
token 否 — 重新认证:预先选择已失效令牌对应的银行。
psd2 否 true 显示 PSD2 金融机构。仅在未通过 entities_to_display 筛选时适用。
nonpsd2 否 true 显示通过非 PSD2 渠道接入的金融机构(信息更完整)。适用条件与 psd2 相同。
language 否 浏览器语言 "es" 或 "en"。
tokenize 否 客户区设置 设为 true 后,callback 会返回可重复使用的 token。
business_account 否 true 包含企业金融机构。
personal_account 否 true 包含个人金融机构。

wait_full_response

请保持为 true。关闭此选项可缩短几秒等待时间,但不会返回交易数据。除非有明确的用户体验需求,否则不要关闭;关闭后,应使用 API 和 callback 中的 token 另行获取交易。

date_from

如不发送此字段,组件将使用昨天的日期,而不是“全部历史记录”。

查询欧洲银行超过 89 天的时间范围时,银行可能要求额外的双因素认证。用户在组件内完成认证;读取可能需要几分钟。

product_types

可用值:

  • accounts — 账户
  • portfolios — 投资组合
  • cards — 银行卡
  • receipts — 直接扣款
  • loans — 贷款
  • deposits — 存款
  • leases — 融资租赁 / 租赁
  • insurances — 保险
  • factoring
  • confirming
  • properties — 房地产
  • invoices — 发票
  • files — 文件(Norma 43、19 等)

例如:["accounts", "cards", "loans"] 或 "accounts,cards,loans"。

下一步

选择器正确显示后,请继续阅读 iframe 后端。

最后更新于