I'm currently using this Contentful-webhook-server to listen for webhooks when content is unpublished.
console.log('Contentful webhook server running on port ' + 30000)
console.log('An entry was published!', req);
console.log('An entry was unpublished!');
console.log('Deleted SOLR ID: ', req);
contentful-webhook-server library uses the plain node
http module for the server. Thus, the
req object is a readable stream that you need to buffer and parse to get the body.
Take a look at https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/#request-body for an example.