View Source Webhoox

Webhoox makes it easy to deal with inbound webhooks by using an adapter-based approach, saving you time.

This library started off as a fork of Maarten's awesome receivex email-focused library.

adapters

Adapters

You can implement your own adapter by following the existing adapters as an example. Pull requests for new adapters welcome!

installation

Installation

Available in Hex, the package can be installed by adding webhoox to your list of dependencies in mix.exs:

def deps do
  [
    {:webhoox, "~> 0.1.3"}
  ]
end

configuration

Configuration

Example configuration for Mandrill with the Plug router:

# Your router.ex file
forward("_incoming", to: Webhoox, init_opts: [
  adapter: Webhoox.Adapter.Mandrill,
  adapter_opts: [
    secret: "i8PTcm8glMgsfaWf75bS1FQ",
    url: "http://example.com"
  ],
  handler: Example.Processor]
)

Example Processor:

  defmodule Example.Processor do
    @behaviour Webhoox.Handler

    def process(%Webhoox.Data.Email{} = mail) do
      # Do stuff with the webhook event data here
      IO.inspect(mail)
    end
  end

Documentation can be found at https://hex.pm/packages/webhoox.