ASP.NET WebHooks is a framework for sending and receiving WebHooks between Web Applications and services. It is based on Microsoft .NET Framework and an ideal choice for integrating disparate services and applications.
WebHooks provide a simple mechanism for sending event notifications across web applications and external services. For example, you can subscribe to receive a WebHook when someone sends money to your PayPal account, or when a message is posted to Slack, or a picture is posted to Instagram – the opportunities are endless!
When subscribing, you provide a callback URI where you want to be notified. When an event occurs in the service you subscribe to, a WebHook is sent to your callback URI with information about what happened so that your Web Application can process it accordingly. WebHooks happen without polling and with no need to hold open a network connection while waiting for event notifications.
ASP.NET WebHooks provides support for receiving WebHooks from other parties as well as sending WebHooks so that you can notify other parties about changes in your service:
- On the receiving side, it provides a common model for receiving and processing WebHooks from any number of WebHook providers. It comes out of the box with support for Azure Alerts and Kudu, BitBucket, Microsoft Dynamics CRM, Dropbox, GitHub, Instagram, MailChimp, PayPal, Pusher, Salesforce, Slack, Stripe, Trello, WordPress as well as IFTTT and Zapier, but it is easy to add more. It also supports queued processing of WebHooks so that they can be processed elsewhere.
- On the sending side it provides support for managing and storing subscriptions as well as for sending event notifications to the right set of subscribers. This allows you to define your own set of events that subscribers can subscribe to and notify them when things happens. ASP.NET WebHooks provides a lot of flexibility for sending and persisting WebHooks, scaling up and out your solution, as well as sending WebHooks from WebJobs and other places in addition to your Web Application. Out of the box, WebHooks subscriptions can be stored in Azure Table Storage or SQL, but they can be stored anywhere.
Resources