IframeÉtape 2 sur 2
Mettre en place le backend
Recevez les informations bancaires normalisées sur votre serveur et confirmez correctement le rappel.
Complétez la liste de contrôle frontend. Le widget n’envoie pas les coordonnées bancaires par postMessage- il les envoie ici, en utilisant POST.
Checklist d'intégration
0 sur 41. Créer l’URL de rappel
Exposez un point de terminaison HTTPS sur votre serveur qui accepte POST avec un corps JSON.
Après avoir traité ce qui est nécessaire, répondez HTTP 200 avec le JSON suivant :
{
"status": "ok"
}
Si vous retournez un autre code d’état ou un autre JSON , le widget ne notifiera pas à l’interface que le flux s’est terminé avec succès.
Traitez operation_id comme un idempotent : une livraison répétée ne devrait pas créer deux opérations sur votre système.
2. Données reçues par POST
Le corps est le même JSON que celui POST /entities/ dans le Référence OpenAPI. Les champs importants pour relier les données à votre opération :
| Champ | Application |
|---|---|
success |
true si la lecture s’était bien terminée. |
payload |
Données standardisées (comptes, portefeuilles, cartes, etc.). |
statistics.operation_id |
Le operation_id qui générait votre frontend. |
statistics.token |
Identifiant à conserver pour les mises à jour ultérieures (si la tokenisation est active). |
statistics.code |
Code d’entité (bbva, caixabank, ...). |
statistics.SESSION |
ID de session, utile dans un ticket de support. |
statistics.warnings |
Des avertissements qui n’invalident pas la lecture (par exemple, un produit vide). |
Exemple découpé :
{
"success": true,
"payload": {
"user_information": {
"ID": "12345678Z",
"name": "LUIS GARCIA BAQUERO"
},
"accounts": [
{
"uuid": "8076932f04f73e27fe608fee4d12fca8708dec8c",
"subtype": "checking",
"code": "ES4914651234561234567890",
"name": "Cuenta NOMINA",
"currency": "EUR",
"balances": {
"available": 14302.07,
"current": 14302.07
},
"transactions": []
}
]
},
"statistics": {
"SESSION": "A1B2C3D4E5F67890",
"execution_time": 12.4,
"warnings": [],
"operation_id": "8f1c2a6e-4b0d-4c3a-9e21-0d5b7a91c4e2",
"token": "FRJ0mHlaqZwLzu",
"code": "bbva"
}
}
Le schéma complet de payload se trouve dans OpenAPI. Ne supposez pas que toutes les clés entrent toujours : elles dépendent de product_types et de ce que l’utilisateur possède dans l’entité.
3. Associer le domaine, le callback et la clé API
Dans le espace client associez :
- le domaine d’où le widget est chargé (l’origine de votre front) ;
- l’URL de rappel que vous venez de créer ;
- Votre
api_key.
Tant que le domaine n’est pas enregistré, le widget ne fonctionne pas.
4. Tester le flux
Ouvrez la page qui charge le widget et connectez-vous :
| Utilisateur | Mot de passe | Résultat |
|---|---|---|
MOCKDATA |
N’importe lequel | Lecture réussie avec des données d’exemple anonymisées. Le rappel reçoit un JSON success: true. |
MOCKOTP |
N’importe lequel | Vous recréez un défi à deux facteurs. |
MOCKLOGINKO |
N’importe lequel | Vous recréez une erreur de connexion. Le rappel n’est pas appelé. |
Si vous n’avez pas l’email de bienvenue, demandez-le à l’adresse suivante support@wealthreader.com.
Si vous souhaitez voir le POST avant d’avoir le point de terminaison dans votre environnement, créez une URL temporaire dans un service comme https://pipedream.com/ et mettez-le en rappel.
5. Rafraîchissement des données (optionnel)
Jusqu’à présent, vous avez une intégration ponctuelle: Une lecture à chaque ouverture du widget par l’utilisateur.
Si vous avez besoin d’un lot nocturne ou d’un bouton « mise à jour », appelez de nouveau l’API avec le token et code que vous avez sauvegardé lors du rappel. Ne demandez pas un nouveau nom d’utilisateur ni un nouveau mot de passe.
curl --location 'https://api.wealthreader.com/entities/' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'api_key=TU_API_KEY' \
--data-urlencode 'code=bbva' \
--data-urlencode 'token=EL_TOKEN_DEL_CALLBACK' \
--data-urlencode 'product_types=accounts,portfolios'
Consultez les codes d’erreur: Un mot de passe invalide n’est pas retenté ; une maintenance d’entité l’est.
- Spécification OpenAPI v3
- Collection Postman
Si le token n’est plus valide (changement de mot de passe ou nouvelle 2FA), ouvrez à nouveau le widget en passant cette valeur dans wr_conf.token pour que l’utilisateur puisse se réauthentifier.