IframePasul 1 din 2
Configurarea frontend-ului
Încorporează widget-ul pe pagină, afișează selectorul băncii și ascultă mesajele iframe-ului.
Widget-ul este un iframe care se încarcă cu https://widget.wealthreader.com/js/load.js. Această pagină acoperă doar frontul. Datele callback și bănci sunt setate pe Backend.
Domeniul de pe care deserviți această pagină trebuie să fie autorizat Zona pentru clienți înainte de a deschide widget-ul. Dacă nu este, widget-ul răspunde că domeniul nu este autorizat.
Checklist de integrare
0 din 3Cod minim
Generează un operation_id nou pentru fiecare operațiune. Lasă entities_to_display gol pentru a arăta toate entitățile din api_key. Păstrează wait_full_response în true decât dacă echipa tehnică instruiește altfel.
<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 găsește iframe-ul cu id="wr-iframe" și îi atribuie înălțimea în funcție de fereastră. Poziționează-l astfel încât să aibă spațiu vertical; dacă îl introduci în mijlocul paginii, poate fi decupat.
Mesaje postMessage
iframe-ul vorbește paginii tale astfel:
event.data |
Când | Ce să fac |
|---|---|---|
"flow completed" |
Lectura s-a terminat bine, iar callback tău a răspuns 200 + {"status":"ok"} |
Închideți widget-ul sau mergeți la ecranul de succes. Datele băncii nu circulă în acest mesaj. |
JSON cu error |
Fluxul continuă (2FA, contract etc.) sau a cedat | Citește error.code și error.message. callback nu a fost trimis. |
Verifică întotdeauna event.origin === "https://widget.wealthreader.com".
wr_conf Parametri
| Parametru | Obligatoriu | Implicit | Ce face |
|---|---|---|---|
operation_id |
Da | — | Identificator pe care îl generezi tu. Este returnat în callback pentru a corela frontend-ul și backend-ul. |
entities_to_display |
Nu | Toate | Matrice de coduri de entități. Gol sau absent = toate. Listă: https://api.wealthreader.com/entities/ |
wait_full_response |
Nu | true |
true- Produse și tranzacții. false- Doar lista produselor. |
date_from |
Nu | Ieri | Data de început a tranzacțiilor de recuperat, AAAA-MM-DD. Se aplică doar dacă wait_full_response este true. |
product_types |
Nu | Cei din api_key |
Filtru de produs. Array sau listă separată prin virgule. |
default_login |
Nu | — | Codul entității. Deschide formularul pentru acea entitate direct. |
default_login_entity_country |
Nu | ES |
Codul de țară ISO (ES, FR, ...). Folosit doar dacă există default_login. |
token |
Nu | — | Reautentificare: Preselectează banca unui token care nu mai este valabil. |
psd2 |
Nu | true |
Afișează entitățile PSD2. Doar dacă nu filtrezi cu entities_to_display. |
nonpsd2 |
Nu | true |
Arată entități pe canal, nu PSD2 (informații mai complete). Aceeași nuanță ca psd2. |
language |
Nu | Browserul | "es" sau "en". |
tokenize |
Nu | Cel din zona de clienți | true să iei un token reutilizabil în callback. |
business_account |
Nu | true |
Include entitățile de afaceri. |
personal_account |
Nu | true |
Include entități ale indivizilor. |
wait_full_response
Lasă-l la true. Dezactivarea lui scurtează așteptarea (secundele) cu prețul de a nu primi tranzacții. Nu îl dezactiva decât dacă există un motiv clar de UX, apoi recuperează tranzacțiile mai târziu cu API și token callback.
date_from
Dacă nu o trimiți, widget-ul folosește data de ieri. Nu este "întreaga istorie".
Pentru intervale de peste 89 de zile în băncile europene, entitatea poate solicita un factor dublu suplimentar. Utilizatorul îl completează în widget; citirea poate dura câteva minute.
product_types
Valori posibile:
accounts— Conturiportfolios— portofolii de investițiicards— cardurireceipts— chitanțeloans— împrumuturideposits— Depoziteleases— leasing / închiriereinsurances— Asigurărifactoringconfirmingproperties— imobiliareinvoices— facturifiles— dosare (Regula 43, 19, ...)
Exemplu: ["accounts", "cards", "loans"] sau "accounts,cards,loans".
Pasul următor
Când selectorul arată bine, urmează cu backend iframe.