IframePasul 2 din 2
Configurarea backend-ului
Primește datele bancare normalizate pe serverul tău și confirmă corect callback.
Completează Listă de verificare pentru frontend. Widget-ul nu trimite detalii bancare pe postMessage– le trimite aici, folosind POST.
Checklist de integrare
0 din 41. Creează URL-ul callback
Expune un endpoint HTTPS pe serverul tău care acceptă POST cu un corp JSON.
După ce procesează ce este necesar, răspundeți HTTP 200 cu următoarele JSON:
{
"status": "ok"
}
Dacă returnezi un alt cod de stare sau un alt JSON , widget-ul nu va notifica frontend-ul că fluxul s-a încheiat cu succes.
Tratează operation_id ca pe idempotente: livrarea repetată nu ar trebui să creeze două operații pe sistemul tău.
2. Ce urmează în POST
Corpul este același JSON care POST /entities/ în Referință OpenAPI. Lucrurile importante pentru a traversa operațiunea:
| Câmp | Aplicație |
|---|---|
success |
true dacă lectura s-a terminat bine. |
payload |
Date standardizate (conturi, portofele, carduri etc.). |
statistics.operation_id |
operation_id generat de frontend-ul tău. |
statistics.token |
Acreditare de custodie pentru actualizările ulterioare ale datelor (dacă tokenizarea este activă). |
statistics.code |
Codul entității (bbva, caixabank, ...). |
statistics.SESSION |
ID-ul sesiunii, util într-un tichet de suport. |
statistics.warnings |
Avertismente care nu invalidează citirea (de exemplu, un produs gol). |
Exemplu decupat:
{
"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"
}
}
Schema payload completă este în OpenAPI. Nu presupune că toate cheile vin mereu: ele depind de product_types și de ceea ce are utilizatorul în entitate.
3. Domeniul asociat, callback și cheia API
În Zona Clienți Asociat:
- domeniul din care este încărcat widget-ul (originea frontului tău);
- URL-ul callback pe care tocmai l-ai creat;
api_keydumneavoastră.
Până când domeniul nu este înregistrat, widget-ul nu funcționează.
4. Testarea fluxului
Deschide pagina care încarcă widget-ul și autentifică-te:
| Utilizator | Parolă | Rezultat |
|---|---|---|
MOCKDATA |
Oricare | Lectură reușită cu date anonimizate. callback primește un JSON success: true. |
MOCKOTP |
Oricare | Recreezi o provocare în doi factori. |
MOCKLOGINKO |
Oricare | Recreezi o eroare de autentificare. callback nu este apelat. |
Dacă nu ai emailul de bun venit, cere-l la support@wealthreader.com.
Dacă vrei să vezi POST înainte să ai endpoint-ul în mediul tău, creează un URL temporar într-un serviciu de genul https://pipedream.com/ și să o punem ca callback.
5. Reîmprospătarea datelor (opțional)
Până acum ai o integrare one-shot: o citire pentru fiecare dată când utilizatorul deschide widget-ul.
Dacă ai nevoie de un lot de seară sau de un buton de "actualizare", sună din nou la API cu token și code ai salvat din callback. Nu cere un nume de utilizator și o parolă noi.
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'
Fii atent la Coduri de eroare: O parolă invalidă nu este reîncercată; întreținerea unei entități este.
- Specificații OpenAPI v3
- Colecția Postman
Dacă token nu mai este valabilă (schimbare de parolă sau 2FA nouă), deschide din nou widget-ul trecând acea valoare în wr_conf.token pentru ca utilizatorul să se poată reautentifica.