Aller au contenu principal
Lancer un projet

Intégration de systèmes

Un projet d’intégration porte rarement sur la connexion. Deux systèmes peuvent se parler en une semaine. L’année qui suit porte sur ce qui se passe quand l’un d’eux est indisponible, lent, limité en débit, ou signale avec assurance quelque chose que l’autre conteste.

Nous connectons les systèmes métier : ERP, CRM, facturation, entrepôt et logistique, prestataires de paiement, et WhatsApp Business API. La plupart de ce qu’on nous demande de réparer n’est pas une connexion cassée mais une intégration construite comme si rien ne devait jamais échouer.

Où les intégrations cassent vraiment

  • Les pannes

    L’autre côté disparaît, et vos promesses tiennent quand même.

  • Les doublons

    Rejouer doit être sans risque, parce que cela finit par arriver.

  • Les désaccords

    Deux systèmes, une vérité, et une règle pour trancher.

  • La traçabilité

    Six heures plus tard, quelqu’un doit voir ce qui s’est passé.

L’autre côté disparaît

Tout système externe dont vous dépendez sera indisponible à un moment, généralement sans prévenir et généralement pendant votre heure la plus chargée. La question est de savoir si cela devient votre panne. C’est le cas si votre tunnel de commande appelle leur API de façon synchrone et attend. Ce ne l’est pas si l’appel est mis en file, rejoué avec un délai croissant, et que le client voit une commande confirmée pendant que le système rattrape derrière lui.

Cette décision se prend le premier jour et coûte cher à changer ensuite, parce qu’entre-temps toute l’application suppose que l’appel est instantané.

La même chose arrive deux fois

Les réseaux expirent après que l’autre côté a déjà fait le travail. Un rejeu crée alors une deuxième commande, un deuxième débit ou une deuxième expédition. L’idempotence est ce qui empêche cela : chaque opération porte une clé, le côté récepteur note ce qu’il a déjà traité, et une répétition est reconnue plutôt que réexécutée.

Cela doit être conçu dès le départ. L’ajouter pendant un incident, alors que des factures en double partent déjà, est le pire moment pour y réfléchir pour la première fois.

Deux systèmes ne sont pas d’accord sur ce qui est vrai

Votre ERP dit qu’il en reste quatre, la boutique dit six, et les deux ont techniquement raison parce qu’ils se sont parlé il y a quarante minutes. Quelqu’un doit décider quel système détient ce nombre, si l’autre a le droit de décider à partir d’une copie périmée, et ce qui se passe quand ils divergent.

Nous rendons cette propriété explicite pour chaque champ qui compte. C’est généralement l’heure la plus utile d’un projet d’intégration, et presque toujours celle que personne n’avait prévue.

Personne ne sait ce qui s’est passé

Six heures après un incident, quelqu’un doit expliquer pourquoi un client a été débité deux fois. Si l’intégration n’a rien journalisé au-delà d’« erreur », cette explication n’existe pas. Nous journalisons la charge utile, la décision et le résultat pour tout ce qui touche à l’argent ou au stock, avec assez de détail pour reconstituer la séquence et pas assez pour que vous stockiez des numéros de carte.

WhatsApp Business API

Nous avons beaucoup travaillé sur WhatsApp Business API, y compris pour notre propre produit wagate.app, donc les réalités opérationnelles ici sont celles avec lesquelles nous vivons plutôt que celles dont nous avons lu la documentation.

L’API elle-même est simple. Ce qui surprend, c’est la validation des modèles de message et le temps qu’elle prend, la fenêtre de service client de vingt-quatre heures et ce qu’on a le droit d’envoyer en dehors, la gestion des numéros et de la note de qualité, et des webhooks livrés au moins une fois plutôt qu’exactement une fois. Une intégration qui ignore ce dernier point finira par envoyer deux fois le même message à un client.

Notre approche

Nous commençons par cartographier ce qui existe réellement, pas ce que la documentation dit qui existe. Cela veut généralement dire lire le code ou observer le trafic, parce que l’écart entre les deux est l’endroit où vivent les surprises.

Ensuite nous fixons le contrat : quelles données circulent, dans quel sens, qui détient chaque champ, ce que fait le système quand l’autre côté est indisponible, et ce qu’il faut dire à un humain quand la reprise automatique a épuisé ses options. Ce document est le livrable du cadrage, et il est rédigé pour pouvoir être confié à un autre prestataire.

Nous construisons derrière une file par défaut, avec une file d’échecs qu’une personne peut réellement traiter, parce qu’une intégration qui perd des échecs en silence est pire qu’une qui casse visiblement.

Ce que cela coûte habituellement

Une intégration unique bien documentée, par exemple une boutique vers un ERP pour les commandes et les stocks, prend généralement trois à six semaines. Un programme multi-systèmes, où quatre ou cinq briques doivent s’accorder, court sur trois à neuf mois et se fait au mieux une connexion à la fois, chacune en production avant que la suivante ne démarre.

Ce qui fait bouger le chiffre, c’est la qualité de l’API d’en face, pas le nombre de champs souhaités. Une excellente API avec cinquante champs va plus vite qu’une mauvaise avec cinq.

À voir aussi

L’intégration accompagne généralement une plateforme sur mesure, et chez les clients du commerce elle relie le plus souvent l’infrastructure e-commerce aux systèmes derrière. Quand l’intégration alimente un assistant ou une automatisation, voir le développement IA.

Dites-nous ce qu’il faut connecter

Questions fréquentes

Notre autre système n’a pas d’API. Est-ce rédhibitoire ?

Généralement non. Nous avons intégré via des réplicas de base de données, des échanges de fichiers planifiés, et dans quelques cas de l’automatisation au niveau de l’écran quand rien d’autre n’existait. C’est moins agréable qu’une vraie API et nous vous le dirons, mais cela fonctionne et c’est souvent bien moins cher que de remplacer le système qui en manque.

Pouvez-vous travailler avec notre prestataire actuel ?

Oui, et c’est courant. Nous sommes fréquemment le côté qui écrit l’intégration pendant qu’un autre fournisseur détient le système en face. Nous préférons nous coordonner directement avec lui plutôt que de faire transiter les messages par vous.

Comment savons-nous que cela fonctionne toujours ?

La supervision fait partie de la construction, pas d’une option. Vous recevez des alertes sur la profondeur de file, le taux d’échec et la fraîcheur des données, pour apprendre par nous, et non par un client, que la synchronisation d’hier s’est arrêtée.

Et la protection des données ?

Nous concevons pour le minimum de données qui fait fonctionner l’intégration, et nous sommes précis sur ce qui est journalisé. Si des données personnelles franchissent la frontière, c’est une décision prise délibérément et écrite, pas un effet de bord de la copie de tous les champs parce qu’ils étaient là.

Pouvez-vous réparer une intégration faite par quelqu’un d’autre ?

Souvent, et cela représente une bonne part de notre travail. Nous commençons par déterminer si elle est réparable ou si vous payez pour maintenir une conception qu’on ne peut pas rendre fiable. Nous vous dirons laquelle des deux, y compris quand la réponse nous coûte le plus gros projet.

Plus de services

La suite

Dites-nous ce que vous construisez, ou ce qui casse.

Démarrer une conversation