Developers API & Widget
API Reference
FR

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 4

1. 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.

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.

Dernière mise à jour