Quatre appels API, quatre points de défaillance
InvoiceHero est une application de facturation moderne qui aide des milliers de PME à créer et envoyer leurs factures. Une fonction essentielle consiste à compléter automatiquement les informations d'un client à partir d'un numéro KVK. Cela semble simple, mais en coulisses, c'était un labyrinthe technique.
Pour obtenir les informations complètes d'une entreprise, InvoiceHero avait besoin de quatre appels API distincts. D'abord, un appel à l'API de recherche du KVK pour trouver le profil de base. Ensuite, un appel à l'API Base Profile du KVK pour les informations complètes. Puis un appel à VIES pour valider le numéro de TVA. Et enfin, une logique maison pour calculer le numéro de TVA néerlandais à partir du numéro KVK.
Le système était fragile. Lorsque VIES était hors service, ce qui arrivait régulièrement, toute la chaîne de recherche échouait. Le code qui combinait quatre réponses d'API différentes était complexe et difficile à maintenir. La gestion des erreurs de quatre points d'accès différents avait donné un code spaghetti que personne ne voulait toucher. Et chaque API avait ses propres limites de débit, son authentification et ses formats de réponse.
L'équipe de développement passait en moyenne 20 heures par trimestre à maintenir et déboguer cette intégration. Du temps qu'elle aurait préféré consacrer à de nouvelles fonctionnalités.
De quatre appels API à une seule recherche KVKBase
InvoiceHero a remplacé toute sa chaîne de recherche par un seul appel à l'API KVKBase. Au lieu de quatre points d'accès aux formats de réponse différents, un seul appel renvoie toutes les informations de l'entreprise : données KVK, adresse, forme juridique, codes SBI et validation du numéro de TVA, le tout dans une seule réponse JSON.
La migration a été rapide. Le code existant pour quatre appels API a été remplacé par une seule fonction. La gestion des erreurs a été considérablement simplifiée, puisqu'il n'y a plus qu'un seul point d'accès.
// Avant : 4 appels API, environ 200 lignes de code
// Aujourd'hui : 1 recherche KVKBase, 15 lignes de code
const response = await fetch(
`https://api.kvkbase.nl/v1/lookup/${kvkNummer}`,
{
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
}
}
);
const company = await response.json();
// Tout dans une seule réponse :
// company.naam, company.adres, company.rechtsvorm,
// company.btw_nummer, company.btw_geldig,
// company.sbi_codes, company.vestigingsnummer Le cache VIES intégré s'est révélé particulièrement précieux. KVKBase met en cache les résultats de validation de la TVA, si bien que les recherches continuent de fonctionner lorsque VIES est temporairement indisponible. C'était précisément le problème qui causait le plus de maux de tête à InvoiceHero. Désormais, une validation en cache est renvoyée avec un horodatage clair, pour que les utilisateurs sachent à quel point elle est récente.
Le temps de réponse est passé sous les 50 millisecondes, contre plus de 800 millisecondes pour les quatre appels API successifs. Cela a rendu possibles des recherches en temps réel pendant que l'utilisateur tape, et non plus après l'envoi d'un formulaire.
Moins de code, plus de fiabilité
L'impact de la migration vers KVKBase a été mesurable immédiatement. L'équipe de développement a pu remplacer l'ancien code d'intégration de plus de 200 lignes par un module compact de 15 lignes. Cela a déjà réduit considérablement les coûts de maintenance.
La disponibilité de la fonction de recherche est passée d'un instable 97 % (à cause des pannes de VIES) à un stable 99,8 %. Les utilisateurs ne se plaignent plus de recherches échouées. Le cache VIES intégré gère les 0,2 % restants en renvoyant des résultats en cache lorsque VIES est indisponible.
L'équipe de développement économise désormais 20 heures par trimestre, auparavant consacrées à la maintenance et au débogage de l'intégration de recherche. Ce temps va maintenant à de nouvelles fonctionnalités que les clients réclament vraiment.
Quatre appels API distincts (recherche KVK, Base Profile, VIES et logique de TVA maison) ont été remplacés par une seule recherche KVKBase qui renvoie toutes les données.
La fonction de recherche est pratiquement toujours disponible. Le cache VIES garantit que la validation de la TVA continue de fonctionner, même lorsque VIES lui-même est hors service.
Le temps de réponse est passé de plus de 800 millisecondes à moins de 50 millisecondes. Cela permet des recherches en temps réel pendant que l'utilisateur tape.
L'équipe de développement consacre 20 heures de moins par trimestre à la maintenance et au débogage de l'intégration de recherche d'entreprise. Ce temps va désormais à l'amélioration du produit.
"Il nous fallait 4 appels API distincts. Aujourd'hui, un seul suffit. Le cache VIES à lui seul nous épargne d'innombrables maux de tête."
Prêt à simplifier votre intégration d'API ?
Remplacez des flux complexes à plusieurs API par un seul appel KVKBase. Démarrez gratuitement avec 50 recherches par mois.