Aller au contenu
Tous les guides
Technique6 min de lecture

Comment connecter mon site à des services externes via une API ? Clés, webhooks et sécurité

Les bases pour relier votre site à des services de paiement, de messagerie ou de cartes : où ranger les clés, comment recevoir un webhook.

La plupart des sites utiles s'appuient sur des services extérieurs : l'un encaisse le paiement par carte, un autre envoie les SMS, un autre dessine la carte ou achemine l'e-mail. Vous vous y connectez par une API.

Se connecter est facile à décrire dans le chat ; se connecter sans danger demande quelques réflexes. Les voici.

Une API permet à votre site de parler à un autre service : paiement, SMS, cartes. Gardez les clés comme secrets du projet, appelez le service uniquement côté serveur et vérifiez chaque webhook avant de lui faire confiance.

Ce qu'est une clé d'API, et où elle ne doit jamais aller

Une clé d'API est le mot de passe de votre compte chez ce service. Qui la détient peut dépenser votre argent ou lire vos données ; elle ne doit donc jamais apparaître dans le chat, dans le code de la partie visible du site ni dans un dépôt GitHub public.

Rangez les clés comme secrets du projet et laissez le serveur les lire. Si une clé fuite, révoquez-la tout de suite chez le fournisseur et créez-en une nouvelle.

Appelez les services externes depuis le serveur

Tout ce qui s'exécute dans le navigateur du visiteur peut être inspecté. L'appel qui utilise une clé secrète doit donc partir de votre serveur : le navigateur interroge votre serveur, et votre serveur interroge le service.

Certaines clés sont faites pour être publiques, souvent appelées clés publiables, et sont sans risque dans le navigateur. Lisez la documentation du fournisseur pour savoir de quel type est la vôtre.

  • Commencez par le mode test du fournisseur et ses clés de test.
  • Gérez les pannes : affichez un message aimable si le service est indisponible.
  • Respectez les limites de requêtes pour ne pas être bloqué.

Webhooks : c'est le service qui vous appelle

Un webhook va dans l'autre sens : après un paiement réussi, le fournisseur envoie un message à une adresse de votre site. C'est ainsi que votre site apprend qu'une commande a réellement été payée.

Comme n'importe qui peut envoyer un faux message à cette adresse, vérifiez la signature jointe par le fournisseur à l'aide d'un secret conservé en lieu sûr. Gérez aussi le cas d'un même message reçu deux fois sans créer une seconde commande.

Coûts, limites et règles locales

Beaucoup d'intégrations sont payantes ou offrent une formule gratuite limitée. Paiement, SMS et certains services de cartes ou d'IA facturent à l'usage ; ce sont les tarifs du fournisseur, distincts de la création de votre site. Vérifiez-les avant le lancement.

Si le service reçoit les données personnelles de vos clients, sachez où elles sont traitées, mentionnez-le dans votre politique de confidentialité et vérifiez les exigences du RGPD, notamment un contrat de sous-traitance avec le fournisseur. Ce sont des informations générales, pas un conseil juridique.

Une consigne à copier

« Connecte mon site de réservation à un prestataire de SMS pour envoyer les confirmations. Lis la clé du prestataire dans un secret du projet, appelle-le uniquement depuis le serveur, ajoute un interrupteur de mode test et affiche une erreur aimable si l'envoi échoue. J'ajouterai moi-même la clé comme secret. »

Questions fréquentes

Non. Ajoutez-la comme secret du projet et demandez à Uttra de la lire par son nom. Tout ce qui est collé dans le chat peut finir dans des journaux ou dans le code.

Révoquez-la dans le tableau de bord du fournisseur, créez-en une nouvelle, mettez à jour le secret du projet et vérifiez votre consommation pour repérer des frais inconnus.

Pas pour commencer. Décrivez le service et le résultat voulu, et Uttra écrit la connexion. Il vous faut tout de même un compte chez le fournisseur et sa clé.

Essayez sur votre propre projet

Décrivez ce que vous voulez avec vos mots et regardez votre site ou système se construire — puis modifiez-le en discutant.

Commencer gratuitement