Qu’est-ce qu’un webhook ?

Un webhook est une requête HTTP envoyée par un système pour avertir un autre système qu’un événement s’est produit. Les implémentations fiables vérifient les signatures, tolèrent les nouvelles tentatives et traitent les livraisons en double de manière idempotente.

Fonctionnement des webhooks

Un émetteur de webhooks sérialise un événement et l’envoie à un point de terminaison HTTP contrôlé par le destinataire, ce qui dissocie les changements d’état asynchrones de l’interrogation périodique. La livraison se fait normalement au moins une fois plutôt qu’exactement une fois, car la perte d’une réponse empêche l’émetteur de savoir si le traitement a réussi. Le destinataire authentifie donc la requête d’origine, enregistre l’identité de l’événement, en accuse réception rapidement et transfère les traitements multimédias ou métier coûteux vers une file d’attente durable.

Points clés

  1. Les fournisseurs définissent précisément ce qui est signé : certains signent les octets bruts de la requête accompagnés d’un horodatage, tandis que Transloadit envoie une notification application/x-www-form-urlencoded dont le champ signature contient un HMAC-SHA1 en hexadécimal minuscule calculé sur la chaîne exacte du champ transloadit. Choisissez les secrets de vérification dans une configuration fiable côté serveur pour l’Assembly et le Workspace attendus, car un renvoi peut être signé avec une autre clé applicable ; le contrat de vérification des webhooks détaille toutes les règles. Vérifiez la charge utile définie par le fournisseur, jamais une version resérialisée de celle-ci.
  2. Ne renvoyer une réponse de succès qu’après de longs traitements en aval augmente les dépassements de délai et les nouvelles tentatives ; enregistrer durablement l’événement avant d’en accuser réception permet de poursuivre le traitement de manière asynchrone.
  3. Les nouvelles tentatives peuvent dupliquer les événements ou en modifier l’ordre. Pour éviter les effets de bord, il est donc plus sûr de s’appuyer sur l’identifiant de l’événement et la version actuelle de la ressource que de supposer que chaque appel au point de terminaison est unique.

Quand les webhooks sont utiles

Les webhooks peuvent permettre à la logique applicative de se poursuivre lorsqu’un traitement multimédia asynchrone se termine ou échoue. Les destinataires doivent authentifier les requêtes et éviter de répéter les effets de bord lorsque l’émetteur tente à nouveau de livrer un événement.

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement