Я создаю это приложение, которое создает веб-крючок на динамическом CRM при каждом создании нового контакта.Я следовал этому руководству Получение WebHooks в вашем веб-приложении и ASP.NET WebHooks - получение и обработка .Я использую requestbin, чтобы проверить, действительно ли webhook создан, и он работает.Веб-крючок создан.Проблема в том, что я не понимаю, как получить данные в форме Windows.Я добавил это в свой App.config
<appSettings>
<add key="MS_WebHookReceiverSecret_dynamicscrm" value="12345678901234567890123456789012"/>
</appSettings>
Я также создал два класса:
WebHookRegister: регистрирует динамический 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: получает данные из webhook (сейчас я ничего с ним не делаю, позже я буду использовать его для заполнения).
public class DynamicsWebHookHandler : WebHookHandler
{
public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
{
JObject data = context.GetDataOrDefault<JObject>();
return Task.FromResult(true);
}
}
Последнее, что я сделал, это зарегистрировал мой webhook в программе (сразу после инициализации моей формы, позвонив по этому номеру:
WebHookRegister.Register(new HttpConfiguration());
Я узнал из руководства, что URI приемника webhook должен бытьсоздан следующим образом: https://<host>/api/webhooks/incoming/<receiver>/{id}
, но я не понимаю, где его создать в коде.
Спасибо за любую помощь