Ce que Boble applique
HTTPS uniquement
Les URLs enhttp:// sont refusées au moment de l’enregistrement et à nouveau au moment de la livraison. Seuls les endpoints en https:// sont acceptés.
Les réseaux privés sont bloqués
Quand vous configurez l’URL, Boble refuse les hôtes qui ressemblent à des adresses locales ou de réseau privé (localhost, 127.0.0.0/8, 10.0.0.0/8, 172.16-31, 192.168.0.0/16, 169.254.0.0/16, et les adresses IPv6 link-local / ULA). Ça évite de pointer un webhook par accident sur un service interne.
Timeout de 10 secondes
Si votre endpoint met plus de 10 secondes à répondre, Boble abandonne. La livraison est marquée comme échouée avec une erreur de timeout dans votre log d’événements, et vous pouvez la rejouer plus tard. C’est aussi pour ça que votre handler doit être rapide — répondez200 d’abord, puis faites le travail lourd en tâche de fond.
Livraison en best-effort
Boble ne réessaie pas automatiquement une livraison échouée. L’événement en échec reste dans votre log jusqu’à ce que vous le renvoyiez manuellement.Capture de la réponse
Boble stocke les 4 premiers Ko de ce que votre endpoint répond. C’est utile pour déboguer une livraison échouée depuis le dashboard — vous voyez le message d’erreur exact que votre service a renvoyé. Les réponses plus longues sont simplement tronquées.Ce que vous devriez faire
Toujours vérifier la signature
Même pour les événements de test. Voir Vérification de signature.Répondre vite
Répondez200 aussi vite que possible — idéalement bien en dessous d’une seconde. Si votre handler doit appeler un autre service (envoyer un message Discord, créer un contact Mailchimp), enfilez le travail dans une file d’attente et acquittez d’abord. Sinon vous risquez de taper le timeout de 10 secondes et de voir votre événement marqué en échec.
Gérer les renvois proprement
Quand vous renvoyez un événement manuellement, Boble envoie une livraison flambant neuve avec les mêmes données mais un nouvelid d’enveloppe. Si votre handler n’y prend pas garde, ça peut appliquer deux fois certains effets de bord (envoyer deux fois le même email de bienvenue, créer deux contacts).
Le pattern sûr est de dédupliquer sur une valeur dérivée de data.object — typiquement data.object.id combiné au type de l’événement. Voir Structure du payload.