I'm building this application that creates a webhook on dynamics CRM whenever a new contact is created. I've been following this guide Receiving WebHooks in your web application and ASP.NET WebHooks - receiving and processing. I'm using requestbin to check if the webhook is actually created, and it works. The webhook is created. Problem is, i dont understand how to receive the data in my windows form. I've added this into my App.config
<appSettings>
<add key="MS_WebHookReceiverSecret_dynamicscrm" value="12345678901234567890123456789012"/>
</appSettings>
I've also created two classes:
WebHookRegister: Registers the dynamics CRM webhook
public static class WebHookRegister { public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id= RouteParameter.Optional } ); config.InitializeReceiveDynamicsCrmWebHooks(); } }
DynamicsWebHookHandler: Gets the data from the webhook ( for now im doing nothing with it, later i will use it do to stuff ).
public class DynamicsWebHookHandler : WebHookHandler { public override Task ExecuteAsync(string receiver, WebHookHandlerContext context) { JObject data = context.GetDataOrDefault<JObject>(); return Task.FromResult(true); } }
Last thing i've done is register my webhook in the program ( right after my form is initialized, by calling this:
WebHookRegister.Register(new HttpConfiguration());
I know by reading the guide that the webhook receiver URI must be created as follows: https://<host>/api/webhooks/incoming/<receiver>/{id}
, but I'm not understanding where to create it in the code.
Thanks for any help