IframeStap 2 van 2
Stel de backend op
Ontvang de genormaliseerde bankgegevens op je server en bevestig de callbackcorrect.
Maak de volledige Frontend-checklist. De widget stuurt geen bankgegevens per postMessage- hij stuurt ze hierheen, met behulp van POST.
Integratiechecklist
0 van 41. Maak de callback URL aan
Maak een HTTPS endpoint op je server beschikbaar die POST accepteert met een body JSON.
Na het verwerken van wat nodig is, beantwoord HTTP 200 met de volgende JSON:
{
"status": "ok"
}
Als je een andere statuscode of een andere JSON teruggeeft, zal de widget de frontend niet laten weten dat de flow succesvol is afgerond.
Behandel operation_id als idempotent: een herhaalde aflevering mag geen twee bewerkingen in je systeem aanmaken.
2. Wat komt er POST
Het lichaam is hetzelfde JSON dat POST /entities/ in de OpenAPI-referentie. De belangrijkste zaken om de operatie te doorkruisen:
| Veld | Toepassing |
|---|---|
success |
true als de lezing goed afliep. |
payload |
Gestandaardiseerde gegevens (rekeningen, beleggingsportefeuilles, kaarten, enz.). |
statistics.operation_id |
De operation_id die je frontend genereerde. |
statistics.token |
Bewaarde toegangssleutel voor latere gegevensupdates (als tokenisatie is ingeschakeld). |
statistics.code |
Entiteitscode (bbva, caixabank, ...). |
statistics.SESSION |
Sessie-ID, handig in een supportticket. |
statistics.warnings |
Waarschuwingen die de meting niet ongeldig maken (bijvoorbeeld een leeg product). |
Uitknip-voorbeeld:
{
"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"
}
}
Het volledige payload schema zit in de OpenAPI. Ga er niet van uit dat alle sleutels altijd binnenkomen: ze hangen af van product_types en wat de gebruiker in de entiteit heeft.
3. Associeer domein, callback en API sleutel
Koppel in het klantengebied de volgende gegevens:
- het domein waaruit de widget wordt geladen (de oorsprong van je front);
- de URL van callback die je zojuist hebt aangemaakt;
- Je
api_key.
Totdat het domein geregistreerd is, werkt de widget niet.
4. Test de stroom
Open de pagina die de widget laadt en log in:
| Gebruiker | Wachtwoord | Resultaat |
|---|---|---|
MOCKDATA |
Elk | Succesvolle lezing met geanonimiseerde steekproefgegevens. De callback ontvangt een JSON success: true. |
MOCKOTP |
Elk | Je recreëert een tweefactorenuitdaging. |
MOCKLOGINKO |
Elk | Je veroorzaakt een inlogfout opnieuw. De callback wordt niet aangeroepen. |
Als je de welkomstmail niet hebt, vraag er dan om via support@wealthreader.com.
Als je de POST wilt zien voordat je het eindpunt in je omgeving hebt, maak dan een tijdelijke URL aan in een dienst zoals https://pipedream.com/ en het als callback.
5. Data verversen (optioneel)
Tot nu toe heb je een eenmalige integratie: één read voor elke keer dat de gebruiker de widget opent.
Als je een nachtelijke batch of een "update"-knop nodig hebt, bel dan de API opnieuw met de token en code je hebt opgeslagen van de callback. Vraag niet om een nieuwe gebruikersnaam en wachtwoord.
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'
Let op de Foutcodes: Een ongeldig wachtwoord wordt niet opnieuw geprobeerd; een entiteitsonderhoud wel.
- Specificatie OpenAPI v3
- Postman Collectie
Als de token niet langer geldig is (wachtwoordwijziging of nieuwe 2FA), open dan de widget opnieuw door die waarde in wr_conf.token door te geven zodat de gebruiker zich opnieuw kan authenticeren.