IframeÉtape 1 sur 2
Configurez le frontend
Intégrez le widget sur votre page, affichez le sélecteur de banque, et écoutez les messages de l’iframe.
Le widget est un iframe qui se charge avec https://widget.wealthreader.com/js/load.js. Cette page ne couvre que le front. Le rappel et les données bancaires sont définis comme Backend.
Le domaine depuis lequel vous servez cette page doit être autorisé dans l’espace client avant d’ouvrir le widget. Si ce n’est pas le cas, le widget répond que le domaine n’est pas autorisé.
Checklist d'intégration
0 sur 3Code minimum
Générez un nouveau operation_id pour chaque opération. Laissez entities_to_display vide pour afficher toutes les entités de votre api_key. Gardez wait_full_response à true sauf indication contraire de l’équipe technique.
<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 trouve l’iframe avec id="wr-iframe" et lui attribue la hauteur selon la fenêtre. Positionnez-le de façon à ce qu’il ait de l’espace vertical ; si vous l’insérez au centre de la page, il peut être recadré.
Messages postMessage
L’iframe s’adresse à votre page ainsi :
event.data |
Quand | Que faire |
|---|---|---|
"flow completed" |
La lecture s’est bien terminée et votre callback a répondu 200 + {"status":"ok"} |
Fermez le widget ou allez à l’écran de réussite. Les données bancaires ne sont pas transmises dans ce message. |
JSON avec error |
Le flux continue (2FA, contrat, etc.) ou a échoué | Lisez error.code et error.message. Le rappel n’a pas été envoyé. |
Vérifiez toujours event.origin === "https://widget.wealthreader.com".
wr_conf Paramètres
| Paramètre | Obligatoire | Par défaut | Ce que ça fait |
|---|---|---|---|
operation_id |
Oui | — | Identifiant généré par votre système. Il revient dans le callback pour relier frontend et backend. |
entities_to_display |
Non | Tous | Tableau des codes d’entité. Vide ou absent = tous. Liste : https://api.wealthreader.com/entities/ |
wait_full_response |
Non | true |
true- Produits et transactions. false- Seulement l’annonce des produits. |
date_from |
Non | Hier | Date de début des transactions, AAAA-MM-DD. Ne s’applique que si wait_full_response est true. |
product_types |
Non | Ceux de votre api_key |
Filtre produit. Tableau ou liste séparée par virgules. |
default_login |
Non | — | Code de l’entité. Ouvre le formulaire directement pour cette entité. |
default_login_entity_country |
Non | ES |
Code pays ISO (ES, FR, ...). Utilisé uniquement s’il y a default_login. |
token |
Non | — | Réauthentification : Pré-sélectionnez la banque à partir d’un jeton qui n’est plus valide. |
psd2 |
Non | true |
Affiche les entités PSD2. Seulement si vous ne filtrez pas avec entities_to_display. |
nonpsd2 |
Non | true |
Affiche les entités par canal, pas PSD2 (informations plus complètes). Même nuance que psd2. |
language |
Non | Le navigateur | "es" ou "en". |
tokenize |
Non | Celui de la zone client | true d’obtenir un token réutilisable lors du rappel. |
business_account |
Non | true |
Inclut les entités d’entreprise. |
personal_account |
Non | true |
Elle inclut des entités individuelles. |
wait_full_response
Laissez-le à true. Le désactiver réduit l’attente (secondes) au prix de ne pas recevoir les transactions. Ne le désactivez pas à moins qu’il y ait une raison UX claire, puis récupérez les transactions plus tard avec l’API et le token du rappel.
date_from
Si vous ne l’envoyez pas, le widget utilise la date d’hier. Ce n’est pas « toute l’histoire ».
Pour des plages de plus de 89 jours dans les banques européennes, l’entité peut demander un double facteur supplémentaire. L’utilisateur le complète dans le widget ; la lecture peut prendre plusieurs minutes.
product_types
Valeurs possibles :
accounts— Comptesportfolios— portefeuilles d’investissementcards— cartesreceipts— reçusloans— prêtsdeposits— Dépôtsleases— crédit-bail / locationinsurances— Assurancefactoringconfirmingproperties— immobilierinvoices— facturesfiles— fichiers (Norma 43, Norma 19, ...)
Exemple : ["accounts", "cards", "loans"] ou "accounts,cards,loans".
Étape suivante
Quand le sélecteur est bon, suivez avec Backend iframe.