Encoders & Utilities

Testeur Webhook

Génère une URL unique, reçoit toute requête HTTP et affiche méthode, en-têtes, query et corps en direct.

Generates a new bin with a unique receiver URL. Solve the captcha to continue.

How it works

  • All HTTP methods are accepted (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS).
  • Text bodies are stored up to 10 KB; larger bodies are truncated. Binary bodies (images, files, octet-stream) are replaced with a 1 KB stub plus SHA-256 of the original.
  • A bin keeps the 10 most recent requests; older entries are dropped automatically (FIFO).
  • Bins live for 24 hours after their last activity. View opens, receive hits, all reset the timer.
  • Recognized signature headers (GitHub, Stripe, Slack, Shopify, Twilio) are highlighted, but never verified — we do not know your secret.

À propos de cet outil

Webhook Tester vous donne une URL publique en un clic qui capture toute requête HTTP qui lui est envoyée — méthode, en-têtes, paramètres de requête, corps (texte ou binaire), timestamps et IP source. L'URL reste active pendant 24 heures ; les requêtes arrivent en streaming dans votre navigateur en temps réel via Server-Sent Events, donc vous voyez les hits entrants au moment où ils atterrissent sans polling. Chaque URL unique est privée (un jeton aléatoire de 128 bits dans le chemin), donc seules les personnes avec qui vous la partagez peuvent y poster.

Tout ce qui est capturé est affiché côte à côte : ligne de requête brute, en-têtes, requête analysée, corps avec détection automatique de JSON / XML / form-encoded / texte brut. Les en-têtes comme X-Hub-Signature, Stripe-Signature, ou toute vérification de style HMAC peuvent être inspectés pour déboguer les schémas de signature. Vous pouvez également configurer la réponse — changer le code de statut, ajouter des en-têtes de réponse, ou envoyer un corps JSON — pour simuler l'endpoint de production et confirmer que votre producteur gère correctement les réponses non-2xx.

Quand utiliser cet outil

  • Intégrer avec des API tierces. Stripe, GitHub, Twilio, Slack — chacun d'eux a besoin d'une URL de callback publique pour développer ; cet outil vous en donne une sans configurer de tunnels.
  • Déboguer les charges utiles webhook. Voyez les octets exacts que l'expéditeur produit, en-têtes et tout, avant d'écrire votre propre consommateur.
  • Tester le comportement de réessai. Réglez la réponse à 500 et confirmez que le producteur réessaie ; basculez à 200 et confirmez qu'il s'arrête.
  • Reproduire un problème. Capturez une charge utile webhook défaillante, puis rejouez-la depuis un équivalent curl vers votre serveur dev local.

À propos de la persistance et confidentialité

Les requêtes capturées sont stockées pendant 24 heures puis supprimées. L'URL elle-même reste active pendant cette fenêtre — partagez avec soin, car quiconque la possède peut y poster n'importe quoi. Pour les intégrations sensibles (webhooks de paiement de production), utilisez un outil tunnel-vers-localhost (ngrok, cloudflared tunnel) à la place — cela garde les charges utiles entièrement sur votre machine locale. Cet outil est pour le développement et les tests, pas pour le vrai trafic de production.

Questions fréquentes

Combien de temps mon URL webhook reste-t-elle active ?

24 heures à partir de la création. Les requêtes capturées sont gardées pour la même fenêtre puis auto-supprimées. Si vous avez besoin d'une URL à plus longue durée de vie, recréez-la depuis la même page (elle vous donne un jeton frais) et mettez à jour l'expéditeur. Pour les intégrations permanentes, hébergez vous-même un petit endpoint ou utilisez un outil de tunneling qui cible votre serveur dev local.

Puis-je voir les requêtes entrantes en temps réel ?

Oui — la page s'abonne aux Server-Sent Events (SSE) depuis notre backend, donc chaque nouvelle requête apparaît dans le tableau à mesure qu'elle arrive, typiquement en millisecondes. Rafraîchissez la page si besoin ; l'historique est aussi persisté côté serveur pour la fenêtre de 24h donc un rechargement obtient la liste complète.

Est-ce sûr pour les secrets webhook de production ?

Non — les charges utiles capturées restent sur nos serveurs pendant 24 heures et pourraient être lues par nous en principe. Pour les webhooks de production contenant des secrets (événements de paiement Stripe, jetons de dépôt GitHub), utilisez un outil tunnel-vers-localhost (ngrok, cloudflared tunnel) afin que la charge utile ne quitte jamais votre laptop. Cet outil est pour dev / staging / débogage ponctuel d'événements de test.

Puis-je personnaliser la réponse ?

Oui — réglez le code de statut (200, 201, 204, 4xx, 5xx), ajoutez des en-têtes de réponse (par exemple Content-Type: application/json), et écrivez un corps de réponse. Utile pour confirmer que votre producteur gère correctement les réponses d'erreur. Beaucoup d'expéditeurs webhook réessaient sur 5xx ; configurer un 500 ici est la façon la plus simple de vérifier le comportement de réessai sans toucher au code de production.