Connecteur Fortuneo

autohébergement

#1

Bonjour tout le monde,

J’ai développé un connecteur bancaire pour récupérer les soldes et les opérations des comptes Fortuneo, et pouvoir utiliser Cozy Banks en auto-hébergé.

Le repository est disponible ici : https://github.com/dohseven/cozy-konnector-fortuneo.

Je l’ai testé avec mon compte et mon instance auto-hébergée, j’arrive bien à sauvegarder les soldes et les opérations pour ensuite les faire apparaître dans Banks. Il me reste quelques petits soucis, mais je ne sais pas si cela vient du konnecteur ou de l’appli : c’est détaillé dans ce sujet.

Je suis preneur de tous retours, commentaires, ou améliorations possibles :slight_smile: Merci d’avance !


Connecteur Ascore Santé Prévoyance
#2

Bonjour,

J’ai un retour pas très positif malheureusement: Application FORTUNEO


#3

Bonjour @osine,

Mon connecteur n’est pas utilisé actuellement par Cozy, et les problèmes que vous rencontrez me semblent être liés à la connexion établie par Linxo avec Fortuneo pour récupérer vos données : c’est en fait ce prestataire qui les fournit à Cozy pour les afficher.

Le but du connecteur que j’ai créé est justement de se passer de Linxo pour pouvoir accéder à ses opérations bancaires Fortuneo.


#4

Merci pour la correction et le développement du connecteur.
Désolé pour la confusion.


#5

J’ai une question de bonnes pratiques pour mon connecteur.

Actuellement, j’utilise la fonction updateOrCreate pour créer ou mettre à jour les comptes et les opérations bancaires.

En farfouillant dans la doc de Cozy, je suis tombé sur cette page qui semble présenter des abstracteurs pour gérer les comptes et les opérations bancaires.

Du coup, j’ai quelques questions :

  • Est-ce que c’est bien à cela que servent ces outils ?
  • Est-ce qu’il faudrait idéalement les utiliser dans un connecteur bancaire ?
  • Si oui, est-ce que leur usage est un peu plus documenté quelque part ?

Merci d’avance !


#6

@doubleface une idée ?


#7

A vrai dire, j’étais passé à côté de cet outil. @ptbrowne @drazik ou @kosssi en savent sûrement plus que moi.


#8

Ces classes sont des outils et sont principalement utilisées pour les connecteurs bancaires utilisant Linxo. Si tu les trouves utiles, n’hésites pas à les utiliser.

Les deux principales fonctionnalités :

  • Dédoublonnage via clé unique : chaque classes héritant de Document peut définir des idAttributes qui vont former une clé unique, deux documents ne peuvent pas avoir les mêmes idAttributes

exemple:

class BankTransaction extends Document {}
BankTransaction.idAttributes = ['bankId']

Dans ce cas là, lors du save, on va aller mettre à jour une opération avec le même bankId si elle existe. Ca ressemble fortement à updateOrCreate sauf que tu n’as pas à passer la clé au moment du save, vu que c’est sauvé dans la classe.

  • Dédoublonnage par date

Le BankingReconciliator permet de ne pas avoir de duplications lorsque l’on connecte deux fois le même compte bancaire via Linxo (une personne qui connecte son compte banciare, le déconnecte, puis le reconnecte). Dans ce cas, on ne peut pas se baser sur les id fournis par Linxo car on récupérera les opérations via deux comptes Linxo différents (l’un ayant été supprimé entre temps) et les ids fournis par Linxo seront différents. Il n’est donc pas si important pour un connecteur communautaire.

Si cela t’intéresse, tu peux voir un exemple d’utilisation dans le connecteur communautaire Crédit Agricole.

Initialisation : https://github.com/konnectors/cozy-konnector-bank-cragr/blob/master/src/lib.js#L34-L39
Sauvegarde : https://github.com/konnectors/cozy-konnector-bank-cragr/blob/master/src/lib.js#L56

Bonne journée !


#9

Merci @ptbrowne pour les infos, je vais tenter de digérer tout ça et voir si c’est nécessaire pour mon cas.


#10

Bon, je crois que je vais faire sans ces classes, ça ne me paraît pas indispensable pour un connecteur non-Linxo, et ça complexifierait le truc.

J’ai testé mon connecteur Fortuneo pendant quelques temps, ça a l’air de plutôt bien fonctionner pour mon cas d’usage personnel. Du coup je suis preneur de commentaires et/ou retours sur le code que j’ai publié sur GitHub :slight_smile: Peut-être de @doubleface, quand tu auras un peu de temps à y consacrer ?

Merci d’avance !


#11

Super, @dohseven. J’ai une question, est-ce qu’il n’y a pas un id d’opération disponible qq part? Parce que la déduplication des opérations en fonction du montant, de la date et du libellé, risque de faire un peu court. C’est pour ça, entre autres, que le connecteur Crédit Agricole n’est pas encore publié. On a pas pu encore travailler sur quelque chose d’efficace sur ce sujet. Pour les autres connecteurs passant par linxo, c’est linxo qui s’occupe de la déduplication.


#12

Hello @doubleface,

J’ai regardé rapidement, mais j’ai bien l’impression que le scrapping des opérations n’offre que quatre caractéristiques pour chaque opération :

  • La date d’opération
  • La date de valeur
  • Le libellé
  • Le montant.

Du coup pas d’id unique pour chaque opération :frowning: Je pourrais à la limite ajouter la date d’opération pour la déduplication, mais ça ne suffira certainement pas. Je vais essayer de réfléchir à une solution quand j’ai un peu de temps. J’étais tombé sur cette histoire d’id unique dans le connecteur CA, mais je n’avais trop saisi son utilité.

Pour ma culture personnelle, en quoi la déduplication est nécessaire ? Il y a vraiment des cas d’usage où on va se retrouver avec des opérations qui ont le même montant, au même jour, avec le même label ?


#13

Les opération avec le même montant, même date et même label, ça arrive. Exemple: une double consultation chez le médécin avec deux paiements distincts par exemple. De plus, le label n’est pas forcément fiable pour identifier une opération. En effet, il arrive courament que les banques changent les labels des operation après coup, par exemple pour ajouter des détails, donc ce n’est pas fiable non plus. Une solution serait de se baser pour le solde pour être à peu prêt sur que l’on a bien les bonnes opérations, mais ce n’est pas trivial.


#14

Effectivement, ça se tient. Une idée comme ça, sans avoir creusé : peut-être qu’on peut s’inspirer de ce qui a été fait sur Kresus ? Je vais regarder tout ça plus en détail.


#15

Bon, je n’ai pas trouvé mieux que ce que vous avez fait sur le connecteur CA, avec un id pour chaque opération par jour…


#16

J’utilise ce connecteur depuis un peu plus d’un mois sur mon instance Cozy, et pour moi ça fonctionne bien. Du coup je suis preneur de retours sur le code avant de pouvoir le publier pour tout le monde !

(ping @doubleface :wink: )


#17

Bonne chance si tu arrives à avoir un retour de @doubleface. J’essaie de les contacter depuis plusieurs semaines pour un autre connecteur mais malheureusement pas de retours. En tout cas, j’ai regardé ton connecteur, c’est vraiment du beau boulot. :+1:


#18

Hello @dohseven,

désolé pour le délai, doubleface est débordé cette semaine par des corrections sur des connecteurs déjà en production.
Il a bien noté qu’il a beaucoup de connecteurs à relire, et le fera très bientôt.


#19

En même temps je comprends, ça doit faire beaucoup de konnecteurs à gérer avec tout ce qu’on balance à relire au pauvre doubleface. Bon courage à lui !
Et pas d’urgence pour ma part, je voulais juste faire un peu remonter le sujet. Désolé si ça ressemble à de l’impatience :blush:.


#20

Je viens d’ajouter les cozyMetadata pour adapter mon konnecteur à la dernière version de Banks, et je suis preneur de retours pour pouvoir le mettre à disposition de tout le monde !

@lucas et @doubleface, vous êtes toujours dans le coin ?