Closed PyThane closed 1 year ago
Pas de soucis de mon côté, je viens de tester:
operations = account.get_operations(date_start="2023-01-01", date_stop="2023-01-31", count=60)
ça me retourne bien 60 items sur l'interval demandé
$ python3 get_operations.py | wc -l
60
Tu as un exemple de l'url que tu appelles avec les arguments ?
Pour le même intervalle:
operations = account.get_operations(date_start="2023-01-01",date_stop="2023-01-31", count=60)
J'obtiens l'url suivante:
https://www.credit-agricole.fr/ca-aquitaine/particulier/operations/synthese/detail-comptes/jcr:content.n3.operations.json?grandeFamilleCode=1&compteIdx=0&idDevise=EUR&dateDebut=1672527600000&dateFin=1675119600000&count=60
Et j'ai 45 opérations (Je n'ai pas vérifié mais ça doit être ça, mes opérations de cartes différées sont à part).
En faisant des tests pour te répondre je viens de remarquer quelque chose:
len(account.get_operations(date_start="2023-01-01",date_stop="2023-01-31", count=90).list_operations)
me renvoie toujours 45 opérations, mais à partir de ..., count=91), ça me renvoie 0...
len(account.get_operations(date_start="2020-01-01", date_stop="2023-01-31", count=90).list_operations)
Je remonte à fin 2022, et j'ai 90 opérations
len(account.get_operations(date_start="2020-01-01", date_stop="2023-01-31", count=91).list_operations)
0 opérations...
Voilà je pense t'avoir tout dit.
Merci en tous cas
EDIT: Après quelques essais, il s'avère que ce qui a changé par rapport à avant, est que qu'un count > 90 ne renvoie plus aucune opération.
donc une limitation côté CA, il doit y avoir le même comportement sur le site ?
J'aurais dit oui mais bizarrement non... En défilant mes opérations sur le site je remonte assez loin avec plus de 90 opérations. Quelqu'un confirme avoir le même résultat?
salut @PyThane j'ai exactement le même problème que toi ca marchait bien avant et la avec un count à 100 je récupère 0 opérations il y a bien une limite à 90 😞
Bonjour,
Je reproduis également le même résultat, à savoir que quand le count > 90 alors il y a 0 opérations.
Sur le site de la banque, ils semblent récupérer les infos sur deux endpoints différents :
Les autres appels (B) semblent accepter un paramètre startIndex (dont on trouve la valeur à utiliser dans un appel précedent) Info : la réponse des appels (B) semble être un sous-ensemble des appels (A) (noeud = compte.operationsInfo)
Les réponses des appels (A) et (B) contiennent un attribut nextSetStartIndex :
Vous serez indulgent avec moi j'espère n'ayant jamais fais de Python. Je me suis tout de même permis de modifier la méthode Opererations.get_operations pour :
Dans
operations.py
,class Operations
:requests.get(url=url, verify=self.session.ssl_verify, cookies=self.session.cookies)
renvoie:{"count":0,"hasNext":false,"listeOperations":[]}
alors qu'il existe des opérations à renvoyer.Sans
url += "&count=%s" % count
, la requête renvoie la liste des opérations comme il se doit (mais avec un nombre limité d'opérations, ne correspondant pas aux bornes données parts_date_debut
etts_date_fin
.Ce problème est récent mais je ne sais pas depuis quand (courant janvier certainement).