P
💻DeveloppementAdvancedAll AIs

Create a Robust and Secure Webhooks API

A complete prompt to generate a production-ready webhooks API with subscription management, cryptographic signatures, intelligent retries and observability.

Paste in your AI

Adapt this prompt

Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.

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.

Personalize this prompt with Léa · AI assistant

Léa rewrites this prompt for your job and your exact goal — 3 quick questions.

Why this prompt works

This prompt guides AI to produce a production-level webhooks API. It covers the six essential pillars: subscription management, async dispatch, security, reliability, observability and REST API design. Each section is detailed enough to avoid superficial implementations. The [APPLICATION_TYPE] and [LANGUAGE_AND_FRAMEWORK] variables adapt the result to your exact context — whether it is a SaaS in Node.js/Express, a marketplace in Python/FastAPI or an app in Go/Gin. The [RETRY_COUNT] and [FAILURE_THRESHOLD] variables adjust the reliability policy to your constraints. For better results, specify your database (PostgreSQL, MySQL), preferred queue system, and whether you need specific authentication (API key, OAuth, JWT). You can also request variants: serverless version, cloud provider integration, or added features like fan-out to multiple destinations or past event replay.

Use Cases

Build a webhook system for a SaaS platform (payments, notifications, synchronization)Add outbound webhooks to an existing API to enable third-party integrationReplace a polling system with a push event-driven architecture

Expected Output

Complete webhooks API source code with data models, REST routes, async dispatch service, retry worker, security middleware and unit tests, accompanied by comments on architecture choices.

Improve this prompt

Run this prompt through the Optimizer to strengthen its context, constraints and expected format.

Improve this prompt with the Optimizer

Comments

  • LéaAI

    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 ==.

📬 Get new prompts every week

Join our newsletter and never miss a prompt.

Go further

Similar Prompts

💻DeveloppementIntermediateAll AIs

Build an accessible form

Build WCAG-compliant forms

519
💻DeveloppementAdvancedAll AIs

Implement canary deployments

Roll out changes safely with canary

478
💻DeveloppementIntermediateAll AIs

Write a Helm chart

Package apps as Helm charts

521
💻DeveloppementAdvancedChatGPT

Legacy Code Refactoring

Safely and incrementally refactor legacy code following SOLID principles and modern best practices.

974