Developers API & Widget
API Reference
ZH

Iframe第 1 步(共 2 步)

配置 frontend

将 widget 嵌入您的页面,显示银行选择器,并监听 iframe 的消息。

widget 是通过 https://widget.wealthreader.com/js/load.js 加载的 iframe。本页仅涵盖前端。callback 和银行数据在 backend 中配置。

提供此页面的域名必须在打开 widget 之前客户中心完成授权。否则 widget 会提示该域名未授权。

集成清单

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") {
            // The backend callback has already been sent successfully.
            // Close the selector or redirect to the success screen.
            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, wrong login, callback down, etc.
            }
        } catch (err) {
            // Ignore other iframe messages.
        }
    });
</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"} 关闭 widget 或进入成功页面。银行数据不会出现在此消息中。
error 的 JSON 流程仍在进行(2FA、合同等)或已失败 读取 error.codeerror.message。尚未发送 callback。

始终检查 event.origin === "https://widget.wealthreader.com"

wr_conf 参数

参数 必填 默认值 作用
operation_id 由您生成的 ID。会在 callback 中返回,用于将前端与后端对应起来。
entities_to_display 全部 金融机构代码数组。为空或省略 = 全部。列表:https://api.wealthreader.com/entities/
wait_full_response true true:产品和交易明细。false:仅产品列表。
date_from 昨天 交易起始日期,YYYY-MM-DD。仅当 wait_full_responsetrue 时生效。
product_types 您的 api_key 上的类型 产品筛选。数组或逗号分隔列表。
default_login 金融机构代码。直接打开该机构的表单。
default_login_entity_country ES ISO 国家代码(ESFR 等)。仅在设置了 default_login 时使用。
token 重新认证:预选某个已失效 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。关闭后等待时间会缩短(数秒),但不会收到交易明细。除非有明确的 UX 原因,否则不要关闭;若关闭,请稍后用 API 和 callback 中的 token 再获取交易。

date_from

如果省略,widget 会使用昨天的日期。这并不是“全部历史”。

在欧洲银行查询超过 89 天的区间时,机构可能要求额外的双因素步骤。用户在 widget 内完成;读取可能需要数分钟。

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 backend

最后更新于