How can we improve Azure API Management?

Integrate WebHooks

managing webhooks under api management will get us more control around who is allowed to do what: http://blogs.msdn.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx

575 votes
Vote
Sign in
(thinking…)
Password icon
Signed in as (Sign out)
You have left! (?) (thinking…)
Jeff Sojol shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

Hi all – we could really use more information on the use cases you would like us to deliver with this feature. To quote Darrel’s post below:

Are you looking for some kind of UI in the portal to enable developers to subscribe to webhooks exposed by APIs?
Or are you looking for the additional security provided API Management to limit what events a user can subscribe to?
Do you want to correlate the API Management subscription ID with registered webhooks?
Any information you can give about the scenarios you would like help with would be great.

Many thanks

11 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Mike Wolford commented  ·   ·  Flag as inappropriate

    I am utilizing EventGrid for Event management which is awesome. The issue is I need to give developers access to my Azure Subscription to subscribe to the events with their webhook endpoint.

    It would be nice to have APIM be the same portal the developers use to manage Command and Query API's to also let them manage the Event based WebHooks from EventGrid.

  • Kai Walter commented  ·   ·  Flag as inappropriate

    With our integration platform we use API Management and Azure PaaS in 2 directions.

    Inbound into our core systems: this is easy - API Management - Queue - Azure Functions - back-end

    Outbound from our core system: back-end - APIM - Queue - Azure Functions with configured target - consumer

    It would help us that our consumers could register WebHooks on API operations (e.g. PUT customer, PUT sales-order) marked as "outbound". So in our flow we would just call the API operations and APIM would spawn / forward to the WebHooks.
    Meet me on Ignite BRK2200 to see what I mean.

  • Jacob Møhl commented  ·   ·  Flag as inappropriate

    When talking about webhooks in relation to API Mangement i would like the APIM solution to support management of webhooks, that I as a API developer expose.

    So my consumers (3. party who interact with my API) can setup endpoint for my webhook enables APIs would call. This should be done in the API portal by the consumer.

    A solution could be that the APIs which use webhooks, could call some endpoint in the APIM and then APIM would delegate this call to who ever has set up a webhook/subscribes.

    There for I as a API developer shoould not be concerned about delivery of all webhook calls, only 1 to the APIM solution.

    I think much of the comments is about the possibility to get notified (by webhooks) of events happening inside the APIM solution for internal use by the API developer it self.

  • Phil0007 commented  ·   ·  Flag as inappropriate

    We are using Azure API Management to expose parts of our backend API’s to external parties.

    When an external developer registers with our APIM we would like to be notified via a lightweight Web Hook so we can do a few things programmatically at our end.

    We have seen and evaluated the ‘Delegation’ feature (https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-setup-delegation), however this seems like a rather heavy and onerous integration mechanism in which we would need to ship a website and effectively take over the user registration and sign-up processes entirely.

    Being notified of the new registration (or other Azure APIM lifecycle events) via HTTP and being able to respond with some additional data of our own to display to the user would be really useful.

  • Wally Shirey commented  ·   ·  Flag as inappropriate

    I am interested as an API provider to know when APIM events occur. The ability to integrate to other products or create a custom webhook (that I provide), to receive events like

    - Issue created
    - Subscription request

  • Paul Kirkpatrick commented  ·   ·  Flag as inappropriate

    1) UI for a Portal Admin to Manage WebHooks exposed by the APIM Portal
    a) Create Name for WebHook Event
    b) Create Description for WebHook Event
    c) Enter URL for a Registration API (Actual API is something Portal Admin will need to make)
    i) When a Portal Developer registers/unregisters the APIM Portal will make this API call
    ii) API call payload will include data on the WebHook registered, Portal Developer,
    APIM Key, and Filter
    iii) This allows my custom application(s) to know who is registered
    iv) Bonus if I can just give APIM Portal a Queue and credentials and have it let me know that way instead
    d) Portal will auto-generate an API that the Portal Admin can invoke when the WebHook actually occurs
    i) Portal Admin will have code outside of APIM to invoke this when an Event occurs that matches
    the filter, and for the specific Portal Developer registered.
    ii) Above API will use the POST body as the event Payload
    iii) Bonus if I can instead have the Portal listen to a Service Bus/Storage Queue instead of this API
    iv) When this API is invoked, the APIM Portal will deliver the WebHook to the subscriber, built in re-try
    2) UI for a Portal Admin to associate WebHooks with Products
    i) Can Publish/Unpublish like API's
    3) UI for a Portal Developer to see WebHooks in Products they have access to
    4) UI for a Portal Developer to Manage WebHooks they subscribe to
    i) Can see what they have registered for
    ii) Maybe a way to test it? Not sure we need this
    5) API for a Portal Developer to register WebHooks (WebHook Publisher API)

  • Paul Kirkpatrick commented  ·   ·  Flag as inappropriate

    Currently if I want to allow my information to be available through WebHooks I would have to stand up a new .Net Web Project, have a list of the events I support and so on.
    It would be amazing if API Management could be my WebHook handler. I could then manage access to the webhooks using subscription keys like I do API's. I could easily tie data for webhooks to my existing api's, add a policy on an API to publish out a webhook, etc.

  • Jeff commented  ·   ·  Flag as inappropriate

    Darrel, currently I would have to take different webhook nuget packages and host them in my api layer (ala web apps, web api or whatever else). I would like all those packages to simply be available in the api management and easily add new ones as they come in. So api management is now the single resource responsible for throttling my api and allowing a single point to integrate with other tools like wordpress, slack, tumblr, medium, whatever else. There is no reason for me to spin up api layers of my own just to host webhooks.

  • Darrel Miller commented  ·   ·  Flag as inappropriate

    I'm not completely clear as to what kind of integration you are looking for with API Management.

    Are you looking for some kind of UI in the portal to enable developers to subscribe to webhooks exposed by APIs?
    Or are you looking for the additional security provided API Management to limit what events a user can subscribe to?
    Do you want to correlate the API Management subscription ID with registered webhooks?

    Any information you can give about the scenarios you would like help with would be great.

  • Vasily commented  ·   ·  Flag as inappropriate

    This would be great to integration with a slew of different products like slack, wordpress, etc and at the same time manage the api

Feedback and Knowledge Base