P
💻DeveloppementAvanceAll AIs

Créer une API de webhooks robuste et sécurisée

Un prompt complet pour générer une API de webhooks production-ready avec gestion des abonnements, signatures cryptographiques, retries intelligents et observabilité.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un développeur backend senior spécialisé en architecture événementielle. Conçois une API de webhooks complète pour [TYPE_APPLICATION] en utilisant [LANGAGE_ET_FRAMEWORK].

L'API doit inclure :

  1. Gestion des abonnements :

    • Endpoint CRUD pour enregistrer/modifier/supprimer des webhooks
    • Validation de l'URL de destination (DNS resolution, blocage des IPs privées)
    • Support de filtrage par type d'événement
    • Stockage des abonnements avec statut actif/inactif/suspendu
  2. Dispatch des événements :

    • File d'attente asynchrone pour l'envoi (Redis, RabbitMQ ou équivalent)
    • Payload JSON standardisé avec : id unique, timestamp, type d'événement, données, version du schema
    • Envoi concurrent avec limite de débit configurable par subscriber
  3. Sécurité :

    • Signature HMAC-SHA256 des payloads (header X-Webhook-Signature)
    • Secret unique par abonnement, généré côté serveur
    • Endpoint de vérification (challenge/response) à l'enregistrement
    • Rate limiting par IP et par subscriber
    • Blocage des destinations vers des réseaux internes (SSRF protection)
  4. Fiabilité et retries :

    • Stratégie de retry avec backoff exponentiel ([NOMBRE_RETRIES] tentatives max)
    • Timeouts configurables par requête (défaut : 10 secondes)
    • Circuit breaker : désactivation automatique après [SEUIL_ECHECS] échecs consécutifs
    • Notification à l'admin quand un webhook est suspendu
  5. Observabilité :

    • Logging structuré de chaque tentative (statut HTTP, latence, erreur)
    • Table d'historique des livraisons consultable via API
    • Dashboard endpoint avec métriques : taux de succès, latence P50/P95/P99, webhooks actifs
  6. API endpoints :

    • POST /webhooks — créer un abonnement
    • GET /webhooks — lister les abonnements
    • GET /webhooks/:id — détail d'un abonnement
    • PUT /webhooks/:id — modifier
    • DELETE /webhooks/:id — supprimer
    • GET /webhooks/:id/deliveries — historique des livraisons
    • POST /webhooks/:id/test — envoyer un événement de test
    • GET /webhooks/events — lister les types d'événements disponibles

Fournis le code complet avec : modèles de données (schéma SQL ou ORM), routes, middleware d'authentification, service de dispatch, worker de file d'attente, et tests unitaires pour les fonctions critiques (signature, retry logic, validation URL). Ajoute des commentaires expliquant les choix d'architecture.

Personnaliser ce prompt avec Léa

Léa réécrit ce prompt pour ton métier et ton objectif précis — 3 questions suffisent.

Pourquoi ce prompt fonctionne

<p>Ce prompt guide l'IA pour produire une <strong>API de webhooks de niveau production</strong>. Il couvre les six piliers essentiels : gestion des abonnements, dispatch asynchrone, sécurité, fiabilité, observabilité et design d'API REST. Chaque section est suffisamment détaillée pour éviter les implémentations superficielles.</p><p>Les variables <strong>[TYPE_APPLICATION]</strong> et <strong>[LANGAGE_ET_FRAMEWORK]</strong> permettent d'adapter le résultat à votre contexte exact — qu'il s'agisse d'un SaaS en Node.js/Express, d'une marketplace en Python/FastAPI ou d'une app en Go/Gin. Les variables <strong>[NOMBRE_RETRIES]</strong> et <strong>[SEUIL_ECHECS]</strong> ajustent la politique de fiabilité selon vos contraintes.</p><p>Pour de meilleurs résultats, précisez votre base de données (PostgreSQL, MySQL), votre système de file d'attente préféré, et si vous avez besoin d'une <strong>authentification spécifique</strong> (API key, OAuth, JWT). Vous pouvez aussi demander des variantes : version serverless, intégration avec un cloud provider, ou ajout de fonctionnalités comme le <strong>fan-out</strong> vers plusieurs destinations ou le <strong>replay</strong> d'événements passés.</p>

Cas d'usage

Construire un système de webhooks pour une plateforme SaaS (paiements, notifications, synchronisation)Ajouter des webhooks sortants à une API existante pour permettre l'intégration par des tiersRemplacer un système de polling par une architecture événementielle push

Résultat attendu

Code source complet d'une API de webhooks avec modèles de données, routes REST, service de dispatch asynchrone, worker de retry, middleware de sécurité et tests unitaires, accompagné de commentaires sur les choix d'architecture.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Ajoute un timestamp dans la chaîne signée (pas seulement le body) et documente la fenêtre de tolérance (5 min) côté consommateur : sinon une signature HMAC reste rejouable indéfiniment. Prévois aussi un delivery_id idempotent renvoyé en header, pour que le client déduplique les retries. Et compare les signatures avec timingSafeEqual, jamais avec ==.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementIntermediaireAll AIs

Améliorer la couverture de tests

Augmenter la couverture de tests de manière stratégique

0284
💻DeveloppementDebutantAll AIs

Rédiger une requête ORM

Rédiger des requêtes ORM efficaces

0284
💻DeveloppementIntermediaireAll AIs

Refactoriser du code legacy vers des patterns modernes

Moderniser du code legacy progressivement

0337
💻DeveloppementIntermediaireClaude

Prompt Claude pour générer des requêtes SQL

La génération de requêtes SQL est l'une des tâches où Claude excelle particulièrement. Que vous soyez développeur backend, data analyst ou administrateur de bases de données, formuler des requêtes complexes peut s'avérer chronophage et source d'erreurs. Claude comprend les subtilités des différents dialectes SQL (PostgreSQL, MySQL, SQLite, SQL Server, Oracle) et peut transformer une description en langage naturel en une requête optimisée et fonctionnelle. L'IA est capable de gérer des jointures multiples, des sous-requêtes imbriquées, des fonctions d'agrégation avancées, des CTE (Common Table Expressions) et même des fonctions de fenêtrage. En fournissant à Claude le schéma de votre base de données et une description claire de ce que vous souhaitez obtenir, vous recevez une requête prête à l'emploi, accompagnée d'explications sur la logique utilisée. Cela accélère considérablement le développement, réduit les bugs liés à la syntaxe SQL et permet même aux profils moins techniques de manipuler des données complexes avec confiance. Claude peut également optimiser des requêtes existantes, détecter des problèmes de performance et suggérer des index pertinents.

0394