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

book picto 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".

book picto 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 testJeu 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 => OK
Restitution 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