Project

gridhook

0.08
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
A Rails engine to provide an endpoint for SendGrid webhooks
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.2
>= 0

Runtime

>= 1.3.0
>= 3.1.0
 Project Readme

Build Status

Gridhook

Gridhook is a Rails engine providing an endpoint for handling incoming SendGrid webhook events.

This engine supports both batched and non-batched events from SendGrid.

Looking to handle incoming email from the SendGrid Parse API? Gridhook will eventually support that, until then, you should check out Griddler. It's awesome.

Build Status

Installation

Add Gridhook to your application's Gemfile and run bundle install:

gem 'gridhook'

You must also tell Gridhook how to process your event. Simply add an initializer in config/initializers/gridhook.rb:

Gridhook.configure do |config|
  # The path we want to receive events
  config.event_receive_path = '/sendgrid/event'

  config.event_processor = proc do |event|
    # event is a Gridhook::Event object
    EmailEvent.create! event.attributes
  end
end

The config.event_processor just needs to be any object that responds to call(). So, if you'd prefer to use a separate class, that's fine:

class EventProcessor
  def call(event)
    # do some stuff with my event!
  end
end

# config/initializers/gridhook.rb
Gridhook.configure do |config|
  config.event_processor = EventProcessor.new
end

Changelog

v0.2.1 Use built-in rails JSON parser.

v0.2.0 Supports version 3 of the Sendgrid webhook released on September 6th, 2013, which provides the proper headers and JSON post body without hacks or middleware. If upgrading to this version, please make sure to update the Webhooks settings in your SendGrid App to use V3 of their API.

TODO

More Information