Iframeステップ 1/2
frontend を設定する
ページに widget を組み込み、銀行セレクターを表示して、iframe からのメッセージを受け取ります。
widget は https://widget.wealthreader.com/js/load.js で読み込む iframe です。このページはフロントエンドのみを扱います。callback と銀行データは backend で設定します。
このページを配信するドメインは、widget を開く前に クライアントエリア で承認されている必要があります。承認されていない場合、widget はドメインが未承認であると報告します。
連携チェックリスト
0/3最小コード
操作のたびに新しい operation_id を生成してください。api_key に紐づくすべての金融機関を表示するには、entities_to_display を空のままにします。テクニカルチームから指示がない限り、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.code と error.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_response が true のときのみ適用されます。 |
product_types |
いいえ | api_key に設定されたもの |
商品フィルター。配列、またはカンマ区切りリスト。 |
default_login |
いいえ | — | 金融機関コード。その機関のフォームを直接開きます。 |
default_login_entity_country |
いいえ | ES |
ISO 国コード(ES、FR、…)。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— 保険factoringconfirmingproperties— 不動産invoices— 請求書files— ファイル(Norma 43、19、…)
例: ["accounts", "cards", "loans"] または "accounts,cards,loans"。
次のステップ
セレクターの表示が正しければ、iframe backend に進んでください。