SendGrid Webhook Server for events api
npm install sendgrid-webhookA simple server module to capture SendGrids webhooks and emit the relevant events.
The Event API is well documented on SendGrids documentation pages located here
This module does not (yet) support SendGrids batched events.
```
npm install sendgrid-webhook
* `port` The port the server listens to. Defaults to 3000
The module emits the following events depending on the payload sent by SendGrid - processed, dropped, delivered, deferred, bounce, open, click, spamreport, unsubscribe.
If a non-post event is detected the module emits a 'request_error' event.
If an event not defined from the list above is in the request parameters, a 'event_error' event is emitted.
The server has a /ping GET method to check it is up. It returns a ‘pong’ response if it is up.
`
var SendGridWebhook = require('sendgrid-webhook');
// create new server listening on port 3001
var sgevents = new SendGridWebhook({port: 3001});
sgevents.on('processed', function(email, payload) {
// email is the email address that generated the event
// payload is a json object containing the parameters sent by SendGrid
console.log("Email has been processed");
});
`
There is a test suite in the test directory. It uses Mocha.
```
npm test
* Secret key
* Batch events
* SSL
Contributions welcome.
MIT