Notifications par webhook
Prévenez une autre application d’un événement et assurez-vous qu’elle l’entend, même face à une erreur 500 ou à un délai dépassé de cinq secondes : chaque envoi est signé, relancé avec des pauses croissantes et mis de côté avec les détails si tout échoue. Paiement à l’usage, sans abonnement.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Cette capacité déclenche cet appel : à l’événement, le KIT contacte l’adresse que vous indiquez et lui remet les données. Elle sert à relier deux outils pour qu’ils réagissent l’un à l’autre.
Pourquoi une livraison mérite plusieurs tentatives
Tout produit qui dialogue avec d’autres systèmes finit par devoir appeler l’adresse d’une autre application et compter sur l’arrivée de cet appel. Lancer l’appel tient en une ligne de code ; le faire survivre à un destinataire qui redémarre, à une erreur 500 ou à un délai dépassé de cinq secondes, c’est là que les équipes perdent une semaine sans s’en rendre compte. La version simple, une seule tentative sans relance, échoue en silence au premier incident réseau. Cet outil est la couche de livraison que les équipes reconstruisent sans cesse : vous indiquez l’adresse de destination, le contenu et les informations d’accompagnement utiles, et il signe le message, le livre et insiste si l’autre côté répond mal.
Comment chaque livraison est protégée
Chaque livraison porte une signature calculée avec un secret partagé, afin que le destinataire confirme que le contenu vient bien de vous et n’a pas été modifié en route. Si la destination répond par une erreur ou ne répond pas à temps, la tentative est relancée après des pauses de plus en plus longues, ce qui laisse à un système qui redémarre le temps de revenir. Quand toutes les tentatives sont épuisées, l’appel n’est pas jeté : il est mis de côté et vous revient avec les détails de la dernière réponse. Une erreur courante consiste à ne pas vérifier la signature côté destinataire, ce qui laisse passer des appels falsifiés.
Prévenir une machine, pas une personne
Vous indiquez l’adresse d’un service — le vôtre ou celui d’un outil tiers — et, chaque fois que l’événement se produit, le KIT y envoie un appel contenant les détails. Le service destinataire reçoit l’information à l’instant et fait ce qu’il a à faire : enregistrer, déclencher une action, mettre à jour un tableau. C’est le fil invisible qui permet à deux applications de se parler sans que personne recopie l’information de l’une à l’autre.
Ce que reçoit le destinataire
L’appel transporte les données de l’événement sous une forme structurée, prête à être lue par un programme. Vous choisissez l’adresse de destination et, selon les besoins du service visé, le format et les en-têtes attendus. Le KIT effectue l’appel et note le résultat : accepté, refusé, injoignable.
Cette trace vous dit si l’autre bout a bien reçu la notification, information précieuse quand un maillon reste silencieux et qu’il faut savoir de quel côté chercher.
Cas d’usage
Alimenter un tableau de suivi
Studio Lumen SAS fait notifier son outil de gestion de projet dès qu’un livrable est validé, pour que le suivi se mette à jour tout seul.
Questions fréquentes
Comment savoir si l’autre application a bien reçu l’appel ?
Chaque appel renvoie un résultat : le service destinataire a répondu qu’il acceptait, il a refusé, ou il était injoignable. Cette trace permet de repérer un maillon défaillant et de savoir de quel côté de la chaîne se situe le problème.
Que faire si le service destinataire est momentanément indisponible ?
Un appel peut échouer si l’autre bout ne répond pas.
Les données envoyées transitent-elles par vos serveurs ?
Oui : l’appel part de nos serveurs vers l’adresse que vous indiquez, il ne peut pas venir du navigateur. Les données servent à composer et à émettre la notification, sans autre exploitation. Ne transmettez que le nécessaire, conformément au RGPD.
Puis-je sécuriser l’appel pour que le destinataire vérifie l’origine ?
Oui, c’est recommandé. Le service qui reçoit doit pouvoir s’assurer que l’appel vient bien de vous ; une signature jointe à l’appel, vérifiable de l’autre côté, remplit ce rôle et écarte les appels frauduleux.
Que se passe-t-il si toutes les tentatives échouent ?
L’appel n’est pas perdu. Une fois les tentatives épuisées, il est mis de côté et vous est signalé avec les détails de la dernière réponse, pour que vous corrigiez la cause et le renvoyiez au lieu de découvrir le trou des semaines plus tard.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/notify/webhook \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/hook"}'const res = await fetch("https://api.kit.forhosting.com/notify/webhook", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com/hook"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/notify/webhook",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com/hook"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/notify/webhook", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com/hook"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com/hook"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/notify/webhook", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"url": "https://example.com/hook"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "notify.webhook",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Un webhook est un appel qu’un système envoie à un autre pour le prévenir qu’il vient de se passer quelque chose.
Prévenir une machine, pas une personne
Là où l’e-mail avertit un humain, le webhook avertit un logiciel.
Configurer et intégrer
Les applications iOS et Android, l’e-mail et Telegram comptent parmi les canaux du KIT en cours d’ouverture, pour toucher aussi bien les machines que les personnes. Le webhook se met en place depuis cette page, où vous renseignez l’adresse cible et testez l’appel, ou via l’API pour l’inscrire dans un circuit plus large. Il se marie naturellement avec les autres capacités : un traitement se termine, un webhook prévient l’application suivante.
Cas d'intégration
Relier une commande à un outil interne
À chaque commande sur la boutique d’Atelier Garnier SARL, un webhook prévient le logiciel de préparation, qui ouvre aussitôt le bon de préparation sans ressaisie.
Déclencher une action tierce
Menuiserie Rousseau & Fils relie la réception d’un devis signé à un service qui archive le document, l’un prévenant l’autre par webhook au moment exact.
Questions techniques
En quoi un webhook diffère-t-il d’un e-mail de notification ?
L’e-mail s’adresse à une personne qui le lit ; le webhook s’adresse à un programme qui l’exploite. Le premier informe, le second déclenche une action automatique chez le destinataire. On choisit selon que la suite est humaine ou logicielle.
Combien coûte l’envoi d’un webhook ?
$0.002 par appel émis, en dollars US, sans coût par unité supplémentaire. Vous payez à la notification effectivement envoyée, sans abonnement, et une facture reste disponible pour votre comptabilité.