Получите и управляйте динамикой 365 webhook - PullRequest
0 голосов
/ 21 ноября 2018

Я создаю это приложение, которое создает веб-крючок на динамическом 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}, но я не понимаю, где его создать в коде.

Спасибо за любую помощь

...