When an event happens in a service, a notification is sent in the form of an HTTP POST request to registered subscribers.
The POST request contains information about the event which makes it possible for the receiver to act accordingly.
Type a message in Slack
POST data to Endpoint
Handle that data in your application
Send response
1: public static class WebApiConfig
2: {
3: public static void Register(HttpConfiguration config)
4: {
5: // Web API configuration and services
6:
7: // Web API routes
8: config.MapHttpAttributeRoutes();
9:
10: config.Routes.MapHttpRoute(
11: name: "DefaultApi",
12: routeTemplate: "api/{controller}/{id}",
13: defaults: new { id = RouteParameter.Optional }
14: );
15:
16: // Load Slack receiver
17: config.InitializeReceiveSlackWebHooks();
18: }
19: }
1: public class SlackWebHookHandler : WebHookHandler
2: {
3: public override Task ExecuteAsync(string generator, WebHookHandlerContext context)
4: {
5: NameValueCollection nvc;
6: if (context.TryGetData<NameValueCollection>(out nvc))
7: {
8: string question = nvc["subtext"];
9: string msg = "Sample response";
10: SlackResponse reply = new SlackResponse(msg);
11: context.Response = context.Request.CreateResponse(reply);
12: }
13: return Task.FromResult(true);
14: }
15: }