Demander un devis
Service

API REST et intégrations : vos logiciels, vos paiements et vos messageries reliés par un code documenté, sécurisé et fiable

En bref. Conception et développement d'API REST documentées en OpenAPI, et intégration par le code de vos outils : paiement mobile money et carte (FedaPay, KkiaPay, CinetPay, Stripe), API WhatsApp Business Cloud de Meta, Odoo, Dolibarr, comptabilité, CRM, SMS et e-mails, avec webhooks, reprises automatiques et idempotence. Pour les PME, éditeurs, commerces en ligne, ONG et équipes techniques d'Afrique francophone, d'Europe et du Canada dont les outils ne se parlent pas. En ordre de grandeur, à confirmer au cadrage, comptez une à trois semaines pour un connecteur isolé et trois à huit semaines pour une API métier. Le prix est fixé sur devis.

Mis à jour le

Que recouvre une API REST sur mesure, et qu'est-ce qui n'en relève pas ?

Une API, ou interface de programmation, est la porte par laquelle un logiciel demande ou envoie des données à un autre, sans écran ni personne au milieu. Le style REST organise cette porte autour de ressources (un client, une commande, une facture) désignées par des adresses et manipulées avec les méthodes du protocole HTTP. La RFC 9110 de l'IETF, publiée en juin 2022, fixe le sens de ces méthodes et des codes de statut. S'y conformer permet à n'importe quelle bibliothèque HTTP, en PHP, en JavaScript ou en Python, d'utiliser votre API sans code particulier.

Le service a deux faces. La première consiste à construire une API : vous détenez des données, un catalogue, un stock, des dossiers clients, qu'une application mobile, un partenaire ou un revendeur doit pouvoir lire ou modifier. La seconde consiste à intégrer : vos outils existent déjà, chacun avec sa propre API, et il faut écrire le code qui les relie, traduit les formats, absorbe les pannes et garde la trace de chaque échange. Les deux obéissent aux mêmes règles de conception, de sécurité et de fiabilité, détaillées plus bas.

Certains besoins voisins relèvent d'autres pages. Un enchaînement de tâches entre outils standard, sans règle métier lourde ni gros volume, se monte souvent plus vite avec n8n ou Make : c'est le terrain de l'automatisation, et le comparatif n8n, Make et Zapier aide à choisir l'outil. Un logiciel métier complet, avec ses écrans et ses utilisateurs, relève d'une application web sur mesure, dont l'API n'est qu'une partie. L'ouverture d'un numéro sur la plateforme de Meta et la validation des modèles de messages relèvent de l'intégration WhatsApp.

La frontière se fixe au cadrage, avec une question simple : faut-il un code qui vous appartient, versionné, testé et documenté, ou un scénario visuel suffit-il ? Le code s'impose dès que l'échange touche de l'argent, des données personnelles en nombre, une règle de calcul propre à votre métier, ou un débit que les plateformes sans code facturent cher. Dans les autres cas, il est plus honnête de proposer la solution la plus légère, quitte à la remplacer par du code le jour où le volume la dépasse.

À quels signes voit-on qu'il vous faut une API ou une intégration ?

Une demande d'API naît rarement d'un goût pour la technique. Elle part d'une gêne concrète, qui coûte du temps ou de l'argent chaque semaine. Voici les situations qui reviennent le plus souvent dans les demandes.

  • La même donnée saisie deux ou trois fois

    Une commande prise sur le site est recopiée dans l'ERP, puis dans le tableur du livreur, puis dans le logiciel comptable. Chaque recopie prend du temps et ajoute une chance de se tromper sur un montant, une adresse ou une quantité.

  • Des paiements confirmés à la main

    Le client paie par mobile money, envoie une capture d'écran, et quelqu'un vérifie sur le tableau de bord de l'agrégateur avant de valider la commande. Le soir et le dimanche, personne ne vérifie, et les clients attendent.

  • Une application ou un partenaire qui attend vos données

    Vous lancez une application mobile, un revendeur veut afficher votre stock, un assureur veut consulter l'état de vos dossiers. Sans API, il faut envoyer des fichiers par e-mail, périmés dès leur arrivée.

  • Des chiffres qui divergent d'un outil à l'autre

    Le CRM affiche un chiffre d'affaires, la comptabilité un autre, le tableau de bord un troisième. Personne ne sait lequel croire, faute d'une source de vérité désignée et d'une synchronisation tracée.

  • Un connecteur qui casse sans prévenir

    Une extension achetée il y a deux ans ne transmet plus rien depuis une mise à jour, et vous l'apprenez par un client mécontent. Aucun journal ne dit depuis quand, ni combien d'échanges ont été perdus.

  • Des scénarios sans code devenus trop lourds

    Le scénario n8n ou Make tourne, mais les volumes ont été multipliés, la facture des opérations suit, et la logique est devenue si dense que plus personne n'ose la modifier.

  • Une exigence d'un client, d'un bailleur ou d'un auditeur

    Un grand compte réclame un échange automatisé des commandes, un bailleur une remontée d'indicateurs, un auditeur la preuve que les accès aux données personnelles sont contrôlés et journalisés.

  • Les contre-signaux

    Si vous n'échangez que quelques dizaines d'enregistrements par mois, un export et un import réguliers suffisent souvent. Si l'un de vos outils n'offre ni API ni export, il faut d'abord le remplacer, et cela se dit avant de chiffrer.

Quelles règles de conception rendent une API REST simple à utiliser et durable ?

Règles appliquées à chaque API livrée ; références de l'IETF, de l'OpenAPI Initiative et de l'OWASP consultées le 4 octobre 2026.
SujetRègle retenuePourquoiRéférence
Ressources et adressesDes noms au pluriel, imbriqués seulement quand la relation est réelle : /clients/42/facturesLe développeur devine la structure avant même de lire la documentationUsage REST courant
MéthodesGET lit, POST crée, PUT remplace, PATCH modifie en partie, DELETE supprimeGET, HEAD, OPTIONS et TRACE sont dites sûres ; PUT et DELETE sont idempotentes, POST et PATCH ne le sont pasRFC 9110, section 9.2
Codes de statut200, 201 et 204 en succès ; 400, 401, 403, 404, 409 et 422 pour une erreur du client ; 500 et 503 côté serveurLes bibliothèques HTTP réagissent aux codes ; un 200 qui cache une erreur trompe tous les clientsRFC 9110, section 15
Format des erreursObjet problème au format application/problem+json : type, title, status, detail, instanceUn seul schéma d'erreur à traiter, lisible par un programme comme par une personneRFC 9457, juillet 2023
PaginationPar curseur pour les listes longues ou très mouvantes, par numéro de page sinon, toujours avec une taille maximaleUne liste complète renvoyée d'un coup sature le serveur et la connexion mobile du clientOWASP, API4:2023
Filtres et triParamètres explicites et validés : statut, date de dernière modification, tris autorisésLe filtre « modifié depuis » rend possible une synchronisation incrémentale, au lieu de tout rechargerChoix de conception
VersionnageVersion majeure dans le chemin (/v1/), ajouts sans rupture, ancienne version maintenue pendant une période annoncéeUne API publiée crée des dépendances : renommer un champ casse les applications connectéesOWASP, API9:2023
DocumentationDescription OpenAPI tenue à jour avec le code, avec des exemples réels de requêtes et de réponsesElle sert de contrat, produit une page de test et des clients dans plusieurs langagesOpenAPI 3.2.1, septembre 2026
Limitation de débitQuotas par clé ou par client ; au-delà, réponse 429 avec un en-tête Retry-AfterProtège le service d'un script qui boucle et d'une facture d'hébergement imprévueRFC 6585, avril 2012
JournalisationIdentifiant de corrélation par requête, journaux structurés sans mot de passe ni numéro de carte, durée de conservation fixéeRetrouver en quelques minutes ce qui s'est passé, et prouver qui a consulté quoiLoi n° 2017-20, article 426 ; RGPD, article 32

Pourquoi décrire l'API en OpenAPI avant d'écrire le code ?

La spécification OpenAPI, dont la version 3.2.1 a été publiée le 10 septembre 2026 selon l'OpenAPI Initiative, définit une description standard des API HTTP, indépendante du langage de programmation, rédigée en JSON ou en YAML. Elle décrit chaque chemin, chaque paramètre, chaque schéma de données et chaque mécanisme de sécurité : clé d'API, authentification HTTP par jeton, OAuth 2.0, OpenID Connect ou TLS mutuel. Ses schémas reposent sur JSON Schema, version 2020-12, ce qui permet de valider automatiquement une requête ou une réponse.

Écrire cette description d'abord change la conversation. Vous, votre développeur mobile et votre partenaire lisez le même contrat avant qu'une ligne de code n'existe : noms des champs, format des dates, montants en francs CFA sans décimales, cas d'erreur. Les désaccords se règlent sur un document de quelques pages plutôt que sur une application déjà livrée. Le fichier produit ensuite une page de test interactive, un serveur simulé qui permet à l'équipe mobile d'avancer en parallèle, et des tests qui vérifient que le code respecte toujours le contrat.

Le contrat protège aussi la suite. Quand une nouvelle version se prépare, la comparaison automatique de deux descriptions signale les ruptures : champ supprimé, type modifié, paramètre devenu obligatoire. Le jour où un autre prestataire reprend le projet, il trouve la liste exacte de ce qui est exposé, ce que l'OWASP range sous la gestion de l'inventaire des API. Une API non documentée n'est donc pas seulement pénible à utiliser : c'est une API dont plus personne ne sait quelles routes restent ouvertes, ni pour qui.

Quelles failles menacent une API, selon l'OWASP API Security Top 10 de 2023 ?

Les dix risques de l'édition 2023 du Top 10 de la sécurité des API publié par l'OWASP, consulté le 4 octobre 2026, avec la parade appliquée dans chaque projet.
Risque OWASP 2023Ce que cela veut direParade appliquée
API1, autorisation défaillante au niveau de l'objetChanger l'identifiant dans l'adresse, /factures/1043 au lieu de 1042, ouvre le dossier d'un autre clientVérifier à chaque requête que l'objet appartient à l'appelant ; identifiants non séquentiels quand c'est utile
API2, authentification défaillanteJetons devinables, sans expiration, ou transmis en clairJetons courts et signés, HTTPS partout, tentatives de connexion limitées
API3, autorisation défaillante au niveau des propriétésLa réponse livre des champs que l'appelant n'a pas à voir, ou le laisse modifier un champ protégé comme un soldeListe explicite des champs lisibles et modifiables, rôle par rôle
API4, consommation de ressources sans limiteUne requête qui réclame un million de lignes, ou un script qui appelle l'API en bouclePagination plafonnée, quotas, taille maximale des requêtes et des fichiers
API5, autorisation défaillante au niveau des fonctionsUn simple utilisateur atteint une route d'administration en devinant son adresseDroits par rôle contrôlés côté serveur sur chaque route, refus par défaut
API6, accès sans limite à des flux métier sensiblesDes robots réservent tous les créneaux, ou raflent le stock d'une promotionLimites propres au flux : par client, par numéro de téléphone, par période
API7, falsification de requête côté serveurL'API va chercher une adresse fournie par l'utilisateur et sert de relais vers le réseau interneListe fermée des domaines appelés, aucune adresse interne joignable
API8, mauvaise configuration de sécuritéMode de débogage resté actif, CORS ouvert à tous, messages d'erreur qui dévoilent la baseConfiguration de production relue avant la mise en ligne, en-têtes de sécurité, erreurs neutres
API9, inventaire des API mal tenuUne ancienne version oubliée reste en ligne, sans les correctifs de la nouvelleDescription OpenAPI à jour, versions recensées, dates de retrait annoncées
API10, consommation non sûre d'API tiercesLes réponses d'un partenaire ou d'un agrégateur sont crues sans contrôleDonnées reçues validées, signatures des webhooks vérifiées, délais d'attente bornés

Clé d'API, jeton de session ou OAuth 2.0 : quelle authentification pour quel usage ?

CritèreClé d'APIJeton de session ou JWTOAuth 2.0, identifiants du clientOAuth 2.0, code d'autorisation
Usage typiqueÉchange de serveur à serveur entre deux systèmes de confianceApplication web ou mobile utilisée par vos propres clientsPartenaire ou service qui accède à vos données pour son propre compteApplication tierce qui agit au nom de l'un de vos utilisateurs
Qui détient le secretLe serveur appelant, jamais un navigateur ni une application mobileL'utilisateur connecté, pour une durée courteLe serveur du partenaire, client dit confidentielLe serveur de l'application tierce, avec l'accord de l'utilisateur
Durée de validitéLongue, d'où une rotation planifiéeCourte, prolongée par un jeton d'actualisationCourte, redemandée au serveur d'autorisationCourte, avec jeton d'actualisation facultatif
RévocationSupprimer la cléFermer la session ou attendre l'expirationRévoquer le client ou ses jetonsL'utilisateur retire son accord
Exemple réelEn-tête DOLAPIKEY de Dolibarr ; clé d'API Odoo transmise en jeton bearerConnexion à un espace clientPartenaire qui synchronise ses commandes chaque nuitLogiciel comptable autorisé à lire vos factures
ComplexitéFaibleMoyenneMoyenne, serveur d'autorisation à prévoirÉlevée : écrans de consentement, redirections

La RFC 6749, publiée par l'IETF en octobre 2012, définit quatre types d'autorisation pour OAuth 2.0 ; le flux par identifiants du client y est réservé aux clients confidentiels, et TLS est obligatoire sur le point d'obtention des jetons. Pour relier deux de vos propres serveurs, une clé d'API bien gardée et renouvelée suffit souvent. OAuth 2.0 se justifie dès qu'un tiers accède aux données de vos utilisateurs.

Comment un échange reste-t-il fiable quand le réseau ou un service tiers tombe ?

Un échange entre deux logiciels échoue tôt ou tard : coupure de connexion, serveur du partenaire saturé, délai dépassé. La question n'est pas de l'éviter mais de savoir ce qui se passe ensuite. La RFC 9110 pose la base : une méthode est idempotente quand plusieurs requêtes identiques laissent le serveur dans le même état qu'une seule. Un GET, un PUT ou un DELETE peuvent donc être rejoués sans danger. Un POST qui crée une commande ou déclenche un paiement, non : le rejouer à l'aveugle peut créer deux commandes, ou débiter deux fois.

La parade s'appelle la clé d'idempotence. Selon la documentation de Stripe consultée le 4 octobre 2026, le client joint à sa requête un en-tête Idempotency-Key, chaîne aléatoire de 255 caractères au plus ; Stripe conserve le code et la réponse de la première requête, renvoie le même résultat aux suivantes, refuse une clé réutilisée avec d'autres paramètres, et peut effacer les clés après au moins 24 heures. Les API livrées appliquent ce principe sur leurs routes de création, et les intégrations l'utilisent chez chaque partenaire qui le propose.

Les reprises suivent des règles. On ne relance que ce qui peut l'être : erreur réseau, délai dépassé, code 429 ou 503. Un code 400 ou 422 signale une requête fausse, qu'aucune répétition ne corrigera. Les tentatives s'espacent de plus en plus, avec une part de hasard pour éviter que mille clients reviennent à la même seconde, et respectent l'en-tête Retry-After quand le serveur l'envoie, ce que la RFC 6585 d'avril 2012 prévoit avec le code 429. Au-delà d'un nombre fixé, l'échange rejoint une file des échecs, visible et rejouable.

Les files d'attente font le reste. Plutôt que d'appeler le logiciel comptable pendant que le client attend sa confirmation, l'application enregistre une tâche et répond tout de suite ; un processus séparé traite les tâches une à une, et les garde tant que le service distant reste indisponible. Avec Laravel, ce sont les files de tâches adossées à la base de données ou à Redis ; avec Node.js, des bibliothèques équivalentes. Pour une boutique de Cotonou dont la connexion tombe en pleine journée, c'est la différence entre une commande retardée de dix minutes et une commande perdue.

Quels outils relier, et par quelle porte technique ?

Interfaces relevées dans les documentations officielles le 4 octobre 2026 ; le choix entre agrégateurs de paiement est détaillé dans le comparatif dédié.
OutilPorte d'entréeAuthentificationPoint d'attention
FedaPayAPI REST, bibliothèques officielles (PHP, Node.js et d'autres), webhooksClé secrète côté serveur, clé publique côté navigateur ; clés de test et de production séparéesSignature X-FEDAPAY-SIGNATURE ; webhook désactivé après 10 échecs
KkiaPayWidget et SDK JavaScript côté client, SDK serveur pour vérifier la transaction, webhooksClés d'API du tableau de bord ; secret de webhook choisi par le marchandEn-tête x-kkiapay-secret ; 5 tentatives seulement sans réponse 2xx
CinetPayAPI de paiement, SDK officiels en PHP, JavaScript et Python, adresse de notificationIdentifiants du compte marchand ; jeton notify_tokenRéponse HTTP 200 attendue en moins de 10 secondes ; statut à relire par l'API
StripeAPI REST, bibliothèques officielles, webhooksClés secrètes ; signature Stripe-Signature sur les webhooksÉvénements livrés sans ordre garanti, relancés jusqu'à trois jours en production
WhatsApp Business Cloud (Meta)API Graph pour l'envoi, webhooks pour les messages entrants et les statutsJeton d'accès de la plateforme Meta80 messages par seconde par numéro par défaut ; signature X-Hub-Signature-256
OdooAPI externe JSON-2, apparue en version 19.0 : requête POST sur /json/2/, suivie du modèle et de la méthodeClé d'API transmise en jeton bearer ; trois mois de validité au plusSur Odoo Online, accès externe réservé aux plans Personnalisé ; XML-RPC et JSON-RPC dépréciées
DolibarrModule API REST, adresses en /api/index.php/, explorateur Swagger intégréEn-tête DOLAPIKEY, clé d'un utilisateur dédiéUn utilisateur par intégration, avec les seuls droits nécessaires
Comptabilité et CRMAPI REST de l'éditeur, ou import de fichiers quand l'API manqueClé d'API ou OAuth 2.0 selon l'éditeurDésigner, donnée par donnée, l'outil qui fait foi
SMS et e-mails transactionnelsAPI REST d'un fournisseur d'envoi, webhooks de remiseClé d'APISuivre les rejets, les numéros invalides et les désinscriptions

Paiement, WhatsApp, Odoo, Dolibarr : que faut-il savoir avant de brancher chaque outil ?

Côté paiement, les trois agrégateurs ouest-africains se ressemblent dans le principe : une page ou un widget de paiement, une validation par le client sur son téléphone, puis une notification à votre serveur. Selon la documentation des webhooks de FedaPay, consultée le 4 octobre 2026, une notification sans réponse est retentée jusqu'à 9 fois à intervalles exponentiels, et le webhook est désactivé après 10 échecs. La documentation de KkiaPay annonce 5 tentatives à intervalle croissant. Frais, pays et délais de versement sont comparés dans le comparatif FedaPay, KkiaPay et CinetPay.

FedaPay sépare aussi ses environnements : selon sa page d'authentification, les objets créés en mode test sont totalement distincts de ceux du mode live, et la clé secrète, qui donne accès à toutes les fonctions de l'API, ne doit jamais figurer dans un système de gestion de versions. Concrètement, la clé vit dans une variable d'environnement du serveur, chaque environnement a la sienne, et une clé exposée par erreur se régénère immédiatement. Stripe, utile pour les clients européens ou canadiens qui paient par carte, suit la même logique de clés séparées.

Pour WhatsApp, la vue d'ensemble de l'API Cloud de Meta, consultée le 4 octobre 2026, fixe le débit par défaut à 80 messages par seconde par numéro, et limite les envois répétés vers un même destinataire. Le code d'intégration doit donc réguler ses envois au lieu de tout lancer d'un coup après une campagne. Côté réception, la documentation des webhooks de Meta exige un HTTPS avec un certificat valide, refuse les certificats autosignés, et supprime les notifications non acquittées au bout de 36 heures.

Pour les ERP, deux points comptent. La documentation de l'API externe d'Odoo 20.0 indique qu'une clé d'API ne peut pas durer plus de trois mois : une intégration qui tourne seule doit donc prévoir la rotation de sa clé, sinon elle s'arrête au bout d'un trimestre. Elle annonce aussi le retrait des services XML-RPC et JSON-RPC avec Odoo 22, à l'automne 2028. Le wiki de Dolibarr décrit un module API REST authentifié par l'en-tête DOLAPIKEY, avec un explorateur Swagger intégré ; le paramétrage de chaque ERP relève de l'intégration Odoo ou de l'intégration Dolibarr.

Comment se déroule un projet d'API ou d'intégration, du cadrage au suivi ?

  1. Premier échange

    Réponse sous 24 heures

    Vous décrivez les outils à relier, les volumes, ce qui coince aujourd'hui. Un échange à Cotonou ou en visioconférence permet de dire si une API sur mesure se justifie, ou si un export régulier ou un scénario n8n suffit.

  2. Inventaire des systèmes

    Quelques jours

    Pour chaque outil : API disponible ou non, documentation, plan d'abonnement requis, quotas, environnement de test, compte marchand ouvert ou à ouvrir. Le vrai délai apparaît souvent ici : un compte d'agrégateur à faire valider, un plan Odoo à changer.

  3. Contrat d'interface

    1 à 2 semaines, ordre de grandeur

    Description OpenAPI des routes, des schémas, des codes d'erreur et de l'authentification ; pour une intégration, table de correspondance des champs et outil qui fait foi pour chaque donnée. Le document est validé par écrit avant tout développement.

  4. Développement par lots

    1 à 6 semaines selon le périmètre, à confirmer

    Une ressource ou un connecteur à la fois, sur un serveur de recette, avec les clés de test des partenaires. Chaque lot arrive avec ses tests automatisés et sa documentation mise à jour.

  5. Tests de panne

    Quelques jours

    On provoque volontairement les incidents : réseau coupé, partenaire qui répond 503, webhook reçu deux fois, paiement abandonné, jeton expiré. Chaque scénario doit finir dans un état connu, jamais sur une commande à moitié créée.

  6. Revue de sécurité

    1 à 3 jours

    Relecture au regard des dix risques de l'OWASP, configuration de production, rotation des clés, journaux sans donnée sensible, règles CORS et quotas. Les secrets quittent le code pour des variables d'environnement ou un coffre dédié.

  7. Mise en production

    Un jour, à une heure creuse

    Clés de production, adresses de webhooks déclarées chez chaque partenaire, premiers échanges suivis en direct, et procédure de retour arrière prête si un indicateur dérape.

  8. Suivi et évolutions

    En continu

    Alertes sur les taux d'échec, file des échecs relue, veille sur les versions et dépréciations annoncées par les partenaires, dans le cadre de la maintenance et du support.

Que vous remet-on à la fin d'un projet d'API ou d'intégration ?

Les cinq livrables de la fiche de service, détaillés, et deux compléments ; leur liste exacte figure dans le devis.
LivrableContenuUtilité pour vous
API REST sur mesureCode source dans un dépôt Git à votre nom, routes versionnées, tests automatisés, environnement de recetteFaire évoluer l'API, ou confier la suite à un autre développeur
Intégration du paiementPaiement mobile money ou carte, webhooks vérifiés, rapprochement de chaque paiement avec sa commande ou sa facturePlus aucune validation manuelle sur capture d'écran
Connexion CRM et ERPConnecteurs vers Odoo, Dolibarr, un CRM ou un logiciel comptable, table de correspondance des champsUne saisie unique, reprise partout où elle sert
Webhooks et synchronisationRéception signée, file d'attente, reprises, file des échecs rejouable, synchronisation incrémentaleAucun échange perdu en silence
Documentation claireDescription OpenAPI, page de test, exemples, guide d'exploitation : rotation des clés, lecture des journaux, rejeu d'un échecComprendre et administrer sans dépendre du prestataire
Accès et secretsComptes chez les partenaires ouverts au nom de votre entreprise, clé dédiée par intégration, inventaire des secretsRévoquer ou renouveler un accès en quelques minutes
Tableau de suiviVolume d'échanges, taux d'échec, alertes par e-mail ou par WhatsAppVoir un incident avant vos clients

Quelles technologies sont retenues, et pour quelles raisons ?

Technologies pratiquées par Richard SALANON ; le choix final dépend de votre existant et de l'équipe qui maintiendra le code.
BriqueChoixPourquoiQuand en changer
ServeurPHP avec LaravelRoutage, validation, files de tâches, jetons d'accès et limitation de débit fournis par le cadre ; hébergement PHP disponible partoutRarement : c'est le choix par défaut pour une API métier
Alternative JavaScriptNode.js, avec NestJS ou ExpressQuand votre équipe travaille déjà en JavaScript, ou quand l'API garde beaucoup de connexions ouvertesSi personne ne pourra maintenir du JavaScript côté serveur
PythonFlaskPetite API autour d'un traitement de données ou d'un modèle d'IADès que l'API dépasse quelques routes
Base de donnéesMySQL ou MariaDB, PostgreSQLBases libres, connues de tous les hébergeurs ; PostgreSQL pour les requêtes plus richesSelon l'existant
Files et cacheFiles de tâches Laravel sur la base ou sur RedisRéponses rapides, reprises, absorption des picsRedis dès que le volume monte
ContratOpenAPI, page de test généréeDocumentation, serveur simulé et tests tirés du même fichierJamais : c'est la référence
Orchestration légèren8n ou Make, branchés sur l'APILaisser l'équipe modifier un enchaînement simple sans développeurQuand le scénario porte une règle métier critique
Clients de l'APIVue ou React pour le web, Flutter pour le mobileLe site, l'application et les partenaires partagent une seule logique métierSelon les compétences de l'équipe
HébergementServeur privé virtuel ou hébergement géré, HTTPS obligatoireCertificat valide exigé par Meta et par FedaPay pour leurs webhooksSelon le lieu de stockage exigé pour les données

À quoi ressemble une intégration selon votre secteur, en Afrique francophone et en Europe ?

Commerce en ligne, Bénin

Les paiements MTN et Moov arrivent chez l'agrégateur, mais les commandes restent « en attente » jusqu'à ce que quelqu'un vérifie.

Webhook signé déposé dans une file d'attente, statut relu par l'API de l'agrégateur, commande validée, facture créée dans Dolibarr et confirmation envoyée par WhatsApp, chaque étape journalisée avec la référence de commande.

Distribution, Côte d'Ivoire

Les commerciaux de terrain prennent les commandes sur papier, ressaisies le soir dans Odoo, sur des stocks déjà faux.

API intermédiaire entre une application Flutter et Odoo : catalogue et stock lus par l'API JSON-2, commandes envoyées avec une clé d'idempotence, et mode hors ligne qui transmet les commandes au retour du réseau.

Microfinance ou assurance, Sénégal

Un partenaire veut suivre l'état des dossiers et reçoit un fichier Excel chaque semaine.

API en lecture seule documentée en OpenAPI, OAuth 2.0 par identifiants du client, chaque dossier filtré selon le partenaire, quotas, et journal des consultations conservé pour l'audit.

ONG présente dans plusieurs pays

Les indicateurs remontent des terrains par e-mail et par tableur, et le rapport au bailleur prend une semaine.

API de collecte avec schéma validé, synchronisation incrémentale depuis les formulaires mobiles, envoi automatique vers la comptabilité analytique et vers le tableau de bord du bailleur.

PME de services, France ou Belgique

Le CRM, l'outil de devis et le logiciel comptable ne se parlent pas, et chaque facture est ressaisie.

Connecteur entre le CRM et la comptabilité par leurs API, devis signé transformé en facture, paiement Stripe rapproché par webhook, et contrat de sous-traitance conforme à l'article 28 du RGPD.

Éditeur de logiciel, Canada ou Afrique

Le produit doit ouvrir une API à ses clients, sans documentation ni quotas.

API publique versionnée, clé par client, limitation de débit avec réponse 429, documentation OpenAPI avec page de test, et inventaire des routes pour ne laisser aucune ancienne version ouverte.

Combien coûte une API ou une intégration, et qu'est-ce qui fait varier le devis ?

Aucun forfait n'est publié pour ce service : les seuls tarifs de départ affichés sur ce site concernent la landing page, le site vitrine et le référencement naturel. Une API ou une intégration se chiffre donc sur devis, après l'inventaire des systèmes, lot par lot. Les frais des partenaires (commission de l'agrégateur, messages facturés par Meta, abonnement à un plan d'ERP) restent à votre charge et se paient à eux directement. La prestation se règle par Mobile Money (MTN, Moov), carte bancaire, PayPal, virement ou espèces.

Diagnostic et contrat d'interface

Sur devis

  • Inventaire des outils, de leurs API et de leurs limites
  • Description OpenAPI ou table de correspondance des champs
  • Choix argumenté de l'authentification
  • Plan par lots et calendrier

Connecteur entre deux outils

Sur devis

  • Paiement, WhatsApp, ERP, CRM, SMS ou e-mail
  • Webhooks vérifiés, reprises et file des échecs
  • Tests de panne avant la mise en production
  • Guide d'exploitation

API métier sur mesure

Sur devis

  • Ressources, versions et documentation OpenAPI
  • Authentification par clé, par jeton ou OAuth 2.0
  • Limitation de débit et journalisation
  • Revue de sécurité selon l'OWASP

Suivi et évolutions

Sur devis

  • Surveillance des taux d'échec et alertes
  • Rotation planifiée des clés
  • Adaptation aux nouvelles versions des partenaires
  • Nouvelles routes et nouveaux connecteurs

Ce qui fait varier le prix

  • Le nombre de systèmes à relier, et la qualité de leur documentation.
  • Le sens des échanges : lecture seule, écriture, ou synchronisation dans les deux sens.
  • Le volume et la fréquence : quelques échanges par jour, ou des milliers par heure.
  • L'authentification exigée : simple clé, jetons d'utilisateurs, ou OAuth 2.0 avec consentement.
  • Le niveau de preuve attendu : journal d'audit, conservation, rapprochement comptable.
  • La reprise des données existantes et leur nettoyage avant la première synchronisation.
  • Les délais de validation chez les partenaires : compte marchand, plan d'ERP, numéro WhatsApp.
  • Le suivi après la mise en production : ponctuel, ou contrat de maintenance.

Quelles erreurs font échouer une API ou une intégration ?

Les incidents graves viennent rarement d'un bogue isolé. Ils naissent de décisions prises trop vite au départ, que l'on découvre le jour où un partenaire change ou où le volume grimpe.

  • Faire confiance au statut reçu

    Valider une commande sur la seule foi d'un webhook ou d'une adresse de retour. Une notification peut être falsifiée, rejouée ou arriver avant la fin du paiement : le statut se relit toujours par l'API.

  • Rejouer un POST sans clé d'idempotence

    Après un délai dépassé, le code renvoie la requête de création, et le client se retrouve avec deux commandes ou deux débits. Toute création susceptible d'être relancée porte une clé unique.

  • Mettre une clé secrète dans le code

    Clé poussée dans un dépôt Git, glissée dans une application mobile ou dans le JavaScript d'une page : elle sera trouvée. Les secrets vivent sur le serveur, un par intégration, avec une rotation prévue.

  • Contrôler la connexion mais pas l'objet

    L'utilisateur est bien authentifié, mais personne ne vérifie que la facture demandée lui appartient. C'est le premier risque du classement de l'OWASP, et le plus fréquent dans les API métier.

  • Laisser deux outils faire foi sur la même donnée

    Le prix modifié dans le CRM et dans l'ERP, le stock corrigé des deux côtés : la synchronisation écrase l'un ou l'autre au hasard. Chaque donnée a un seul outil de référence.

  • Renommer un champ en production

    Un nom de champ plus joli casse l'application mobile et le partenaire le lendemain. On ajoute, on annonce, on maintient l'ancienne version, puis on la retire à une date publiée.

  • Ignorer les échecs silencieux

    Sans journal ni alerte, une intégration peut ne rien transmettre pendant des semaines. Un taux d'échec suivi chaque jour et une file des échecs relue valent mieux que n'importe quelle promesse de fiabilité.

  • Oublier les dates d'expiration

    Clé Odoo limitée à trois mois, certificat HTTPS arrivé à échéance, ancienne interface retirée par l'éditeur : chaque échéance connue s'inscrit au calendrier de maintenance dès la livraison.

Quels repères officiels garder en tête avant de lancer le projet ?

Mobile money, connexion, données personnelles et langue : que change le contexte local ?

Le mobile money impose un temps d'attente que la carte ne connaît pas : le client valide le paiement sur son téléphone, parfois une ou deux minutes plus tard, parfois jamais. L'API doit donc gérer un état « en attente » durable, expirer proprement les paiements abandonnés et ne jamais bloquer la page du client pendant ce temps. Les montants en francs CFA se transmettent en entiers, sans décimales, et chaque paiement garde la référence de la commande, le numéro de l'opérateur et l'identifiant de l'agrégateur, pour que la comptabilité retrouve chaque encaissement.

La connexion ensuite. Une application de terrain au Bénin, au Togo ou au Burkina Faso doit supposer que le réseau tombera au mauvais moment. D'où des réponses légères et paginées, une compression des échanges, un enregistrement local des opérations sur le téléphone et un envoi différé avec clé d'idempotence, pour qu'une commande saisie hors réseau ne soit ni perdue ni doublée. Côté serveur, les webhooks exigent un HTTPS avec certificat valide : un serveur au bureau, derrière une connexion grand public sans adresse fixe, convient mal pour les recevoir.

Les données personnelles enfin. L'article 426 de la loi n° 2017-20 du 20 avril 2018 portant code du numérique oblige le responsable du traitement et son sous-traitant à protéger les données, notamment lorsque le traitement comporte des transmissions dans un réseau, et cite le chiffrement, la pseudonymisation et des tests réguliers des mesures. L'article 391 subordonne tout transfert vers un État tiers à un niveau de protection équivalent constaté par l'Autorité. Une intégration qui envoie des fichiers clients vers un service hébergé hors du Bénin doit donc être examinée sous cet angle avant d'être branchée.

En Europe, le RGPD, présenté par la CNIL, impose un contrat de sous-traitance à l'article 28, des mesures de sécurité adaptées à l'article 32, dont le chiffrement, et à l'article 33 la notification d'une violation à l'autorité si possible dans les 72 heures. Une API qui journalise sans filtre, ou qui renvoie plus de champs que nécessaire, complique chacune de ces obligations. Pour la langue, les messages d'erreur destinés aux utilisateurs se rédigent en français, tandis que les noms de champs suivent une convention unique, souvent en anglais, fixée dès le contrat.

Pourquoi confier votre API ou vos intégrations à Richard SALANON ?

Richard SALANON est consultant en digitalisation et développeur logiciel, basé à Cotonou, au Bénin. Il crée des sites, des applications web et mobiles, des automatisations et des intégrations d'intelligence artificielle, déploie Odoo et Dolibarr, et forme les équipes à ces outils, pour des entreprises d'Afrique francophone, d'Europe et du Canada.

Il compte plus de 6 ans d'expérience dans le numérique, une formation à EPITECH (2022) et plus de 50 projets livrés, pour des organisations au Bénin, en Côte d'Ivoire, au Togo, au Sénégal, au Burkina Faso, au Mali, au Niger, au Tchad, au Gabon, en RD Congo, en France, en Belgique, en Suisse et au Canada. Il développe ses propres produits : Wapy, un assistant WhatsApp à intelligence artificielle pour les entreprises d'Afrique francophone, et il est co-fondateur d'Audyxa. Relier une messagerie, un paiement et un logiciel de gestion fait donc partie de son quotidien de développeur.

Son travail sur les API se vérifie en public. Son compte GitHub contient le dépôt bj-decoupage, une API REST du découpage administratif du Bénin construite avec Laravel et publiée en mars 2024. Ses routes, toutes en lecture, suivent la hiérarchie réelle du pays : la liste des départements, les communes d'un département, les arrondissements d'une commune, puis les quartiers. N'importe quel développeur peut lire ce code avant de vous le confier, ce qui vaut mieux qu'une promesse ; son parcours complet figure sur la page Richard SALANON.

Sa méthode tient en engagements vérifiables : un contrat d'interface validé avant le code, des lots livrés avec leurs tests, des tests de panne avant la mise en production, des comptes, des clés et un dépôt Git à votre nom, une documentation remise à chaque lot, et une réponse sous 24 heures. Il a formé plus de 200 personnes au numérique ; si votre équipe veut reprendre la main sur le code, la formation au développement web couvre la consommation et la création d'API.

Que retenir avant de faire communiquer vos logiciels ?

Écrivez le contrat avant le code, désignez un seul outil de référence par donnée, relisez toujours le statut d'un paiement par l'API, donnez une clé d'idempotence à chaque création, gardez les secrets hors du code et à votre nom, et surveillez les échecs chaque jour plutôt que de les découvrir par vos clients.

Vous voulez que vos outils échangent enfin leurs données sans ressaisie ?

Listez les logiciels à relier, les paiements à encaisser, les volumes et vos contraintes (mobile money, WhatsApp, Odoo, Dolibarr, données personnelles) : vous recevez une réponse sous 24 heures et, après l'inventaire des systèmes, un plan par lots avec un devis détaillé.

Présenter mon projet d'intégration

Questions fréquentes

Quelle différence entre une API et une intégration ?

Une API est la porte qu'un logiciel ouvre aux autres pour lire ou modifier ses données. Une intégration est le code qui relie deux ou plusieurs logiciels par leurs API, traduit les formats et gère les pannes. Le service couvre les deux : construire votre propre API, ou relier vos outils existants entre eux.

Combien de temps faut-il pour développer une API ou un connecteur ?

En ordre de grandeur, à confirmer au cadrage : une à trois semaines pour un connecteur entre deux outils bien documentés, trois à huit semaines pour une API métier, selon le nombre de ressources et la complexité des règles. Le délai dépend souvent des partenaires : validation d'un compte marchand, d'un numéro WhatsApp ou d'un changement de plan d'ERP.

Combien coûte une API REST sur mesure ?

Le prix est fixé sur devis, après l'inventaire des systèmes. Il dépend du nombre d'outils à relier, du sens des échanges, du volume, de l'authentification exigée et du suivi souhaité. Les frais des partenaires, commissions de paiement ou messages WhatsApp facturés par Meta, se paient à part, directement à eux.

Pouvez-vous connecter des logiciels que nous utilisons déjà ?

Oui, dès que chacun propose une API ou, à défaut, un export de fichiers exploitable. L'inventaire vérifie ce point outil par outil, avec le plan d'abonnement requis : sur Odoo Online, par exemple, l'accès externe est réservé aux plans Personnalisé. Si un outil n'offre aucune porte d'entrée, mieux vaut le savoir avant de chiffrer.

Comment encaisser par mobile money sans perdre de paiements ?

En traitant chaque notification de l'agrégateur comme un signal : signature vérifiée, réponse immédiate, statut relu par l'API, événement noté comme traité, puis commande validée. Une file d'attente absorbe les pics et les coupures. Le choix entre FedaPay, KkiaPay et CinetPay se fait avec le comparatif publié sur ce site.

Intégration ou automatisation avec n8n et Make : que choisir ?

L'intégration fait communiquer les outils par du code qui vous appartient ; l'automatisation enchaîne des actions avec une plateforme visuelle. Pour un flux simple et un volume modeste, n8n ou Make suffit souvent. Le code s'impose quand l'échange touche de l'argent, des données personnelles en nombre ou une règle métier critique.

Comment sécurisez-vous une API ?

HTTPS partout, authentification adaptée à l'usage (clé, jeton ou OAuth 2.0), contrôle à chaque requête que l'objet demandé appartient à l'appelant, liste explicite des champs exposés, quotas avec réponse 429, journaux sans donnée sensible, et revue au regard des dix risques du Top 10 de l'OWASP de 2023 avant la mise en ligne.

Que se passe-t-il quand un service tiers est en panne ?

Les échanges sont mis en file d'attente au lieu d'être perdus, relancés à intervalles croissants en respectant l'en-tête Retry-After, et protégés par une clé d'idempotence pour éviter les doublons. Après un nombre fixé d'échecs, ils rejoignent une file des échecs, visible et rejouable, et une alerte prévient votre équipe.

Fournissez-vous une documentation de l'API ?

Oui. Chaque API est livrée avec une description OpenAPI tenue à jour, une page de test interactive, des exemples réels de requêtes et de réponses, et un guide d'exploitation : rotation des clés, lecture des journaux, rejeu d'un échec. Un autre développeur doit pouvoir reprendre le projet sans vous appeler.

À qui appartiennent le code et les accès ?

À votre entreprise. Le dépôt Git, les comptes chez les agrégateurs, chez Meta ou chez l'éditeur de l'ERP, les clés et l'hébergement sont ouverts à votre nom, avec une clé dédiée par intégration. Vous pouvez ainsi révoquer un accès, changer de prestataire ou internaliser la maintenance quand vous le souhaitez.

Intervenez-vous hors du Bénin ?

Oui. Richard SALANON a travaillé dans onze pays d'Afrique francophone ainsi qu'en France, en Belgique, en Suisse et au Canada. Le cadrage se fait sur place à Cotonou ou en visioconférence, le développement à distance. Les clients hors d'Afrique règlent par carte bancaire, PayPal ou virement.

Sources

  1. IETF, RFC 9110 « HTTP Semantics » (juin 2022) : méthodes sûres et idempotentes, codes de statut, Retry-After, consulté le
  2. IETF, RFC 6585 « Additional HTTP Status Codes » (avril 2012) : code 429, consulté le
  3. IETF, RFC 9457 « Problem Details for HTTP APIs » (juillet 2023), consulté le
  4. IETF, RFC 6749 « The OAuth 2.0 Authorization Framework » (octobre 2012), consulté le
  5. OpenAPI Initiative, OpenAPI Specification 3.2.1 (10 septembre 2026), consulté le
  6. OWASP, API Security Top 10, édition 2023, consulté le
  7. Stripe, documentation : requêtes idempotentes, consulté le
  8. Stripe, documentation : webhooks (signature, rejeu, nouvelles tentatives, ordre des événements), consulté le
  9. FedaPay, documentation : webhooks et événements, consulté le
  10. FedaPay, documentation : authentification et clés d'API, consulté le
  11. KkiaPay, documentation : webhook, consulté le
  12. CinetPay, SDK PHP officiel (notifications, vérification, dédoublonnage), consulté le
  13. Meta, vue d'ensemble de l'API WhatsApp Cloud (débit, limites, authentification), consulté le
  14. Meta, premiers pas avec les webhooks (vérification, X-Hub-Signature-256, nouvelles tentatives), consulté le
  15. Documentation Odoo 20.0, API externe JSON-2 (clés d'API, dépréciation de XML-RPC et JSON-RPC), consulté le
  16. Wiki Dolibarr, module Web Services API REST (développeur), consulté le
  17. Secrétariat général du Gouvernement du Bénin, loi n° 2017-20 portant code du numérique (articles 391 et 426), consulté le
  18. CNIL, RGPD chapitre IV (articles 28, 32 et 33), consulté le
  19. GitHub, dépôt de l'API REST du découpage administratif du Bénin (bj-decoupage), consulté le

Pour aller plus loin

Parlons de votre projet

Décrivez votre besoin : je reviens vers vous avec une première recommandation, sans engagement.

Demander un devis
Demander un devis WhatsApp