IframeStap 1 van 2
Configureer de frontend
Plaats de widget op uw pagina, toon de bankselector en luister naar de berichten van de iframe.
De widget is een iframe die wordt geladen met https://widget.wealthreader.com/js/load.js. Deze pagina behandelt alleen de frontend. De callback en de bankgegevens configureert u in backend.
Het domein vanwaar deze pagina wordt uitgeleverd, moet in de klantomgeving geautoriseerd zijn voordat u de widget opent. Anders meldt de widget dat het domein niet is geautoriseerd.
Integratiechecklist
0 van 3Minimale code
Genereer voor elke operatie een nieuwe operation_id. Laat entities_to_display leeg om alle instellingen van uw api_key te tonen. Houd wait_full_response op true, tenzij het technische team anders aangeeft.
<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 zoekt de iframe met id="wr-iframe" en zet de hoogte op basis van de viewport. Geef hem verticale ruimte; als u hem midden op de pagina plaatst, kan hij worden afgesneden.
postMessage-berichten
De iframe spreekt uw pagina als volgt aan:
event.data |
Wanneer | Wat te doen |
|---|---|---|
"flow completed" |
De uitlezing is succesvol afgerond en uw callback gaf 200 + {"status":"ok"} terug |
Sluit de widget of ga naar het succes-scherm. Bankgegevens reizen niet in dit bericht. |
JSON met error |
De flow loopt nog (2FA, contract, enz.) of is mislukt | Lees error.code en error.message. De callback is niet verzonden. |
Controleer altijd event.origin === "https://widget.wealthreader.com".
Parameters van wr_conf
| Parameter | Verplicht | Standaard | Wat het doet |
|---|---|---|---|
operation_id |
Ja | — | Id die u genereert. Komt terug in de callback zodat u frontend en backend kunt koppelen. |
entities_to_display |
Nee | alle | Array van instellingscodes. Leeg of weggelaten = alle. Lijst: https://api.wealthreader.com/entities/ |
wait_full_response |
Nee | true |
true: producten en transacties. false: alleen de productlijst. |
date_from |
Nee | gisteren | Start van de transacties, YYYY-MM-DD. Geldt alleen wanneer wait_full_response true is. |
product_types |
Nee | die op uw api_key |
Productfilter. Array of kommagescheiden lijst. |
default_login |
Nee | — | Instellingscode. Opent rechtstreeks het formulier van die instelling. |
default_login_entity_country |
Nee | ES |
ISO-landcode (ES, FR, …). Alleen gebruikt wanneer default_login is gezet. |
token |
Nee | — | Hernieuwde authenticatie: selecteert vooraf de bank van een token dat niet meer geldig is. |
psd2 |
Nee | true |
PSD2-instellingen tonen. Alleen als u niet filtert met entities_to_display. |
nonpsd2 |
Nee | true |
Instellingen via het non-PSD2-kanaal tonen (rijkere gegevens). Zelfde voorbehoud als bij psd2. |
language |
Nee | de browsertaal | "es" of "en". |
tokenize |
Nee | de instelling in de klantomgeving | true om in de callback een herbruikbare token te ontvangen. |
business_account |
Nee | true |
Zakelijke instellingen meenemen. |
personal_account |
Nee | true |
Particuliere instellingen meenemen. |
wait_full_response
Laat deze op true. Uitzetten verkort de wachttijd (seconden) ten koste van het niet ontvangen van transacties. Zet het alleen uit als u een duidelijke UX-reden heeft, en haal transacties daarna op via de API en de token uit de callback.
date_from
Als u de parameter weglaat, gebruikt de widget de datum van gisteren. Dat is niet “de volledige historie”.
Voor periodes langer dan 89 dagen bij Europese banken kan de instelling een extra tweefactorstap vragen. De gebruiker rondt die af in de widget; de uitlezing kan enkele minuten duren.
product_types
Mogelijke waarden:
accounts— betaalrekeningenportfolios— beleggingsportefeuillescards— kaartenreceipts— automatische incasso'sloans— leningendeposits— deposito'sleases— leasing / rentinginsurances— verzekeringenfactoringconfirmingproperties— onroerend goedinvoices— facturenfiles— bestanden (Norma 43, 19, …)
Voorbeeld: ["accounts", "cards", "loans"] of "accounts,cards,loans".
Volgende stap
Als de kiezer er goed uitziet, ga verder met iframe backend.