Développement connecteur Thomann


#1

Bonjour à tous,

J’ai développé un nouveau connecteur Cozy pour récupérer les factures PDF pour le site de vente en ligne Thomann.

J’ai testé le connecteur en mode standalone et dev sur mon instance .mycozy.cloud, toutes les factures PDF sont bien téléchargées et renommées.

Le code est sur Github : https://github.com/rclement/cozy-konnector-thomann
Site de Thomann : http://thomann.de

Merci !


#2

Mais on ne t’arrête plus :smiley:

Merci !!!

Je demande à l’équipe technique de regarder et de te faire rapidement un retour.


#3

Héhé oui ! Mais je suis tellement en adéquation avec le concept des connecteurs que j’ai envie d’en voir d’autres fleurir ! :rocket:

Et l’interface fournie par Cozy est relativement simple et rapide à mettre en oeuvre, s’il n’y a pas trop de choses “bizarres” du côté du service externe. Donc si je vois que ça peut être développé en seulement quelques heures, je n’hésite pas !

En tout cas c’est sympa de voir la réactivité de l’équipe Cozy ! :slight_smile:


#4

Bonjour ! Merci pour cette nouvelle contribution !

Je suis stagiaire chez Cozy, dans l’équipe des développeurs de connecteurs. J’ai quelques expériences en maintenance et développement de connecteurs. J’ai regardé un peu ton code. Il me semble tout à fait correcte. En revanche, il y a quelques petits détails qui pourraient êtres améliorés :

parse: parseDate

Nous attendons ton retour pour la suite. A bientôt !


#5

Bonjour !

Merci pour le feedback !

J’ai fait une passe rapide, du coup j’ai fixé 3 des 4 points évoqués :

  • Simplification des attributs parse pour scrape (du coup je n’ai pas fait que parseDate mais les autres également qui suivaient la même convention)
  • Réduction des 2 boucles dans parseDocuments (en effet, pas très malin)
  • Affichage du montant + devise dans le filename final : je ne suis en général pas partisan de mettre des charactères non-alpha-numériques dans les noms de fichiers mais si c’est la convention Cozy (bien que je n’ai vu ça dans aucun autre connecteur …)

Par contre, le 4e point posant problème est le remplacement de moment par date-fns :

  • Le connecteur a besoin de pouvoir parser des dates string sous la forme DD.MM.YYYY (donc un format arbitraire)
  • Le support du parsing de format arbitraire est implémenté à partir de la version 2.0.0+ de date-fns, comme expliqué dans ce thread : https://github.com/date-fns/date-fns/issues/219
  • Or à l’heure actuelle, date-fns est en version stable 1.30.1 et en version alpha pour 2.0.0+
  • Donc pour le moment j’ai laissé l’utilisation de moment (aussi beaucoup d’autres connecteurs semblent l’utiliser)
  • S’il y a une autre solution, je veux bien la connaître ! :slight_smile:

Bonne soirée,
À bientôt !


#6

Rebonjour @rmnclmnt !

Nous nommons les fichiers ainsi depuis peu, tu ne pourra le voir que sur les tout derniers connecteurs que nous avons développés ou mient à jour, comme Digitick par exemple.

D’ailleurs, j’ai oublié un élement à indiquer dans le filename. Nous rajoutons en général aussi le numéro de la commande, s’il y en un. Nous nommons donc les fichiers ainsi : 2018-02-04_thomann_12.56 €_172995.pdf

Pour ce qui est de la date, si tu penses qu’il est plus judicieux de continuer à utiliser Momentjs, alors ça ne pose aucun problème, c’est un detail. Effectivement, tous les connecteurs jusqu’ici utilisaient MomentJS mais nous avons récemment pris la décision de le remplacer par date-fns lorsque c’est possible, ou bien par nos propres fonctions qui sont beaucoup moins lourdes.

Voilà ! Rien de bien grave.
Encore merci a toi pour toutes tes contributions !


#7

Salut @Xn1a !

Merci pour les détails, bien compris les nouvelles conventions !
Du coup je viens de rajouter le numéro de commande à la fin du filename.

Je ferai une passe sur les 3 autres connecteurs que je suis en train de développer pour appliquer au mieux toutes ces remarques.

Petite question : dans manifest.konnector, le champ editor doit être mis à Cozy ou au nom du développeur ? (parce qu’il y a un autre champ developer également)


#8

D’ailleurs, pour le moment je développe de nouveaux connecteurs sur mon temps libre afin d’explorer les possibilités offertes par Cozy.

En parallèle de mon activité de CTO au sein de Sylha (https://sylha.io), je suis également ingénieur/développeur en freelance (https://romain-clement.net) à temps-partiel, et je recherche actuellement de nouvelles missions.

Si Cozy a besoin de main d’oeuvre pour développer/maintenir les connecteurs, je serais très heureux de pouvoir en discuter !


#9

Si je ne me trompe pas il faut que tu mettes ton nom dans les deux champs, comme ici :

Nous reviendrons vers toi prochainement pour quelques finissions.
Une fois que tout sera bon, un développeur s’occupera de la mise en production de ton connecteur afin qu’il soit mis à disposition de tous les autres utilisateurs.

N’hésite pas si tu as d’autres questions.

A bientot !


#10

Ok, super !

Merci,
A bientôt !


#11

@rmnclmnt J’ai le plaisir de t’annoncer que le connecteur Thomann est maintenant disponible pour tous les utilisateurs de cozy. Merci pour cette contribution ! :+1:


#12

@doubleface wow super merci !

Je viens de tester le connecteur sur mon Cozy à l’instant, ça fonctionne super, les factures sont bien récupérées et les opérations dans Banks bien liées ! :champagne:


#13

Bonsoir @rmnclmnt,

Une utilisatrice de ton connecteur nous signale qu’il ne semble récupérer que les factures de la première page, et ne pas parcourir les autres pages :

je ne reçois que la première page des factures figurant sur la page des commandes de Thomann, alors que j’ai presque 25 factures, et pas 6.
il ne récupère que les 6 dernières factures en date, qui correspondent à celle de la page 1 de la totalité des commandes du compte Thomann.
Celles-ci n’ont rien de particulier à priori, ce sont seulement celles affichées lorsque nous arrivons sur la page des commandes.

Est-ce que tu penses pouvoir y faire quelque chose ?