Les webhooks sont un moyen d’être notifié lorsqu’un événement se produit sur votre blog.
post.variant.unpublished{ post: Post,
variant: PostVariant,
}cache.single{ path: string }cache.templatescache.allLorsqu’un événement se produit, une requête POST est envoyée à l’URL du webhook. Le corps de la
requête est un objet JSON contenant les propriétés suivantes. La propriété data correspond aux
données de l’événement. Consultez le tableau ci-dessus pour connaître la structure des données de chaque événement.
{
"subdomain": "my-subdomain",
"timestamp": 1645208678,
"event": "cache.single",
"data": {}
}Chaque requĂŞte de webhook inclut un en-tĂŞte X-Signature contenant une signature HMAC-SHA256
du corps de la requête, signée avec la clé secrète de votre webhook. Vous trouverez ce secret dans la Console,
dans les paramètres de votre webhook.
Pour vérifier la signature :
X-Signature.const signature = request.headers['x-signature'];
const expected = crypto
.createHmac('sha256', env.HB_WEBHOOK_SECRET)
.update(JSON.stringify(request.body))
.digest('hex');
if (signature !== expected) {
return 'Unauthorized';
}Nous attendons un code de réponse HTTP 200 de votre serveur pour marquer le webhook comme réussi. Si nous recevons un autre code de réponse ou si nous ne parvenons pas à joindre vos serveurs, nous réessaierons d’envoyer le webhook 3 fois de plus après
Si toutes les tentatives échouent, nous marquerons ce webhook comme échoué et ne l’enverrons plus automatiquement.