sendgrid-webhook
v0.0.4
Published
SendGrid Webhook Server for events api
Downloads
9
Readme
SendGrid Webhook Server
A 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.
Install
npm install sendgrid-webhook
Options
port
The port the server listens to. Defaults to 3000
Events Emitted
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.
Example Usage
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");
});
Tests
There is a test suite in the test directory. It uses Mocha.
npm test
To-Do
- Secret key
- Batch events
- SSL
Contributions welcome.
License
MIT