Obtenir les transactions d'un compte
Ce service permet de lister les transactions d'un compte de paiments éligible DSP2 du client.
Le type de compte est soit un compte de dépôt pour les particuliers, soit un compte courant pour les professionnels et les personnes morales.
➤ Prérequis
Pour récupérer les transactions d'un compte de dépôt ou d'un compte courant :
- L'IBAN du compte doit nous avoir été transmis dans la liste "transactions" de la méthode PUT /consents et ne doit pas avoir été révoqué depuis
ATTENTION : pas d'annule et remplace via PUT /consents SANS cet IBAN dans la liste "transactions"
L'"accountResourceId" permettant d'interroger cette méthode est récupéré via le résultat de la requête GET /accounts, rubrique "resourceId" pour le compte correspondant à cet IBAN, c'est-à-dire que "accountId" : {"iban":"<IBAN du compte>"}
L'URI pour l'accès à cette méthode est donnée via la rubrique "_links" : {"transactions": {"href": ...}} en résultat de la requête GET /accounts pour le "resourceId" du compte.
➤ Requête
GET /account/{accoundResourceId}/transactions
Voir aussi la spécification de place STET
➤ Paramètres obligatoires ou facultatifs du body requis pour l'appel de ce service
Paramètres obligatoires : accountResourceId => compte éligible DSP2 pour lequel on veut consulter les opérations.
Paramètres facultatifs supportés:
- dateFrom => date limite de début pour les transactions recherchées. Les transactions ayant une date d’imputation égale au paramètre dateFrom sont restituées dans le résultat
- dateTo => date limite de fin pour les transactions recherchées. Les transactions ayant une date d’imputation égale au paramètre dateTo ne sont pas restituées dans le résultat.
- PSU-IP-ADDRESS => à alimenter si le client est connecté
Paramètres facultatifs non supportés :
- entryReferenceFrom
- entryReferenceTo
Le format pour les données dateFrom et dateTo est l'ISO 8601 avec les trois expressions régulières autorisées qui sont :
- YYYY-MM-DDTHH:MM:SS.SSS ou YYYY-MM-DDTHH:MM:SS.SSSZ
- YYYY-MM-DDTHH:MM:SS.SSS+HHMM
- YYYY-MM-DDTHH:MM:SS.SSS+HH:MM
➤ Résultat retourné
Cet appel permet de récupérer la liste des opérations pour le compte passé en paramètre.
La date des transactions obtenue est inférieure ou égale à 90 jours par rapport à la date du jour.
Un lien "self" sera également présent pour revenir à la page obtenue juste après exécution de la requête.
Vos accès à cette méthode sont limités à 4 accès batch maximum par jour, pour un client et pour un compte donné. En revanche, lorsque c'est notre client connecté qui interroge directement ses comptes, le nombre d'accès n'est pas limité.
La donnée optionnelle STET entryReference a été ajoutée pour toutes les opérations sachant qu'elle est :
unique durant le cycle de vie de la transaction à débit différé (*)
identique avant et après imputation pour les opérations suivantes qui passeront du statut "OTHR" à "BOOK" :
- carte à débit différé
- virement différé (SEPA SCT Core)
- prélèvement
(*) NB 1 : cette donnée sera identique pour toutes les échéances d'un même virement permanent
NB 2 : les autres typologies d'opérations (par exemple les opérations de carte à débit immédiat, les virements immédiats, etc...) n'auront cette donnée qu'au statut "BOOK" sauf celles refusées
Les longueurs et formats sont différents suivant le type d'opérations :
type | longueur | exemple |
Virement différé | 25 caractères | 1310400000123480007081059 |
Prélèvement | 30 caractères | 131040000012342014185G10004997 |
Carte à débit différé | 40 caractères | 1310400000123420140720170000234978987654 |
Autres opérations | 40 caractères | 131040000012342021-02-08-09.33.46.621234 |
La donnée optionnelle STET Bank Transaction Code (BTC) a été rajoutée seulement pour les segments clients PRO et ENT (= abonnés CE Net ou ayant souscrit une offre équivalente), par exemple pour le cas d'un virement SEPA SCT :
"bankTransactionCode": {
"domain": "PMNT",
"family": "RCDT",
"subFamily": "ESCT",
"code": "05",
"issuer": "SI MYSYS - Caisse d'Epargne"
}
➤ Exemple
Un exemple plus complet de requête est fourni dans la rubrique "Comment tester l'API ?" > "Assemblage sandbox".
Les jeux de données de tests sont décrits dans la rubrique "Comment tester l'API ?" > "Tester nos personas".
Voir aussi la spécification de place STET
➤ Tests d'acceptance
Ces cas de tests ont pour objectif de vous permettre d'effectuer un minimum de tests afin de prendre en main cette API et d'y accéder depuis votre application.
Ils devront être validés avant tout déploiement applicatif en production.
Description du test | Jeu de données et Résultat attendu |
---|---|
Récupération de toutes les transactions d'un compte (< 90 jours) => Vérification transactions présentes dans le résultat de la requête | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 200 => OKRestitution des transactions du compte de dépôt |
Requête HTTP avec un jeton d'accès non autorisé pour la ressource (scope erroné, par exemple "extended_transaction_history" qui n'est pas géré par les Caisses d’Epargne) | Persona : LEA Prérequis : scope OAuth2 <> aisp Résultat : message d'erreur HTTP 403 => accès à la ressource refus |
Passage d'une requête HTTP POST | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 405 => méthode non autorisée |
Récupérer la liste des transactions en précisant une date de début => Vérification que le filtre est bien appliqué | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 200 => OK Restitution des transactions ultérieures à la date donnée en entrée |
Récupérer la liste des transactions en précisant une date de fin et une référence d'incrément minimum pour l'identifiant technique => Vérification que le filtre est bien appliqué | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 200 => OK Restitution des transactions ayant un incrément supérieur à celui donné en entrée et une date inférieure à celle donnée en entrée |
Passage d'une requête pour avec une période de transactions demandée supérieure à 90 jours | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 400 => requête erronée, période non autorisée |
Passage d'une requête de récupération des transactions avec une date au format incorrect | Persona : LEA Prérequis : scope OAuth2 = aisp Résultat : message d'erreur HTTP 400 => requête erronée |