Hero Banner

Microsoft AppSource and Azure Marketplace

Learn how to grow your business by publishing your cloud solution on Microsoft AppSource and Azure Marketplace

Reply
Level 2 Contributor

SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi Everyone

I'm at the stage of publishing my SaaS app to the marketplace, however i'm having trouble wrapping my head around the provisioning process and it's interactions.

The article here -> https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal-orig/cloud-partner-portal-saas-subscription-apis is the primary confusion for me. Is this an API that I'm expected to develop? Or is this the Azure Market Place API?

My asumption (and I am positive I had read it before) was that I would simply need to expose an endpoint that permitted the marketplace only to authenticate too (which I thought was certificate based auth) that would be a simple POST with the customers Subscription/Tenant/Offer/Plan details etc... for me to provision.

Are there any good walkthrough videos that show how this should all hook together? I'm feeling like i've missed a critical document / concept somewhere, but just can't seem to find it.

Thanks
Russell

 

1 ACCEPTED SOLUTION

Accepted Solutions
Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Is this the documentation you're referencing? If so, I think it's fair game to share Smiley Happy

 

https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/saas-app/cpp-saas-fulfillment-api-v2

13 REPLIES 13
Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hello Russell,

Thank you for your query. 

There are loosely 2 kinds of SaaS Apps that we support today - Listing and Sell Through Microsoft. Listing is when all you want to do is to list your SaaS offer on Microsoft marketplaces and all the customer interaction, provisioning, commerce etc is handled by you and your SaaS experiences. Sell Through Microsoft is what allows you to enable your SaaS offer trasanctable via Microsoft marketplaces. Some of this is explained here.

You do need to implement the APIs that you refer to in your question in case you are trying to publish a transactable SaaS. Implementing these APIs allows Microsoft and your SaaS service to interact with each other for the different SaaS actions/states. 

Let me know if this helps.

Thanks,

-Anurag.

Level 2 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi @anuragdalmia

As I mentioned that article is completely confusing from my perspective. I was hoping that someone had done a walkthrough demo at Build/Ignite or something similar that might explain how it works?

All of the API's listed on that page are hosted at something like the following "https://marketplaceapi.microsoft.com/api/saas/subscriptions/resolve?api-version=2017-04-15" which is an MS hosted API, not my product. 

The article does discuss a landing page that I am responsible for, but that is not an API. My product has an AAD multi-tenant enabled API for onboarding/offboarding but I just can't get my head around how to enable the MarketPlace to talk to it?

Edit: This is a commerce enabled SaaS solution.

Any clarification before I create a support ticket for help would be greatly appreciated!

Russell

Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi Russell, 

Thanks for your feeback. Please submit a support ticket here: 

https://go.microsoft.com/fwlink/?linkid=844975 

Select -> Problem Type: Marketplace Onboarding  -> Category: -> Technical Marketplace Query 

In the email ask for a meeting with the Onboarding team, add link to this thread,  include your offer Name, and pubilsher Name. 

Thanks, 

Patrick 

 

Level 2 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi @PatrickBM

Ticket has been logged as requested

Russell

Visitor 1

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi Anurag, 

I beileve I understand the flow for the SaaS API's, however I'm not sure how to retrieve the x-ms-marketplace-token which is required for the Resolve request without having a published SaaS offer in the azure marketplace. I want to setup and test the workflow of subscribing to my application before submitting any offer to be published.

Thanks,

Tom

 

Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

SaaS Billing API Docs Link

Hi Tom, 

Great questions. These are the responses:

1. You can test your service before you go live, by testing the service while on Preview mode, before clicking the Go Live Button on the Status Page.  Make sure you add both a Preview Subscription ID and a preview Azure AD  of the account that will be performing the testing of the Service.  From a Marketplace perspective the experience is going to be same as if you were live, thus you will be able to test billing for that preview account.SaaS Preview Subscripption.png

 

 

2. The Token/AuthCode is in the URL, and you will have to capture it once you get a request to the URI you defined as the landing page.  For example: 

For landing Page: https://admin.healthbot.microsoft.com/saas/

URI with Token would look like this: 

https://admin.healthbot.microsoft.com/saas/?token=ccbLgRTkDt7LzxZeVxUMbb7WIXjqRi78%2BudAvgXtapsi6SwjMmdhlaaThHkyWhFAjUpC9AzmceWFHV1%2BxnFvfX8I1REc2wYa2YBmWQOzvF0JTeX5LLo0XxpKFHiTuhEmNYjNnlX7uCVALOUbA7XorVh1%2BUjBDLzU1JtO6HPqpGafWa45JWfRKTJR%2F13f%2Fa%2BUeGU998n1Fw%2BB8eSArj%2Bg%3D%3D

The Process looks like this: SaaS Offer Provisioning.png

 

Once you caputure the Token/AuthCode, you will call the RESOLVE method on the Microsoft SaaS Service (Billing/Registration gateway) to register the service request. For more details, review the call requirements https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal-orig/cloud-partner-portal-saas-subscription-apis#api-methods-and-endpoints 

Thanks, 

Patrick 

 

 

 

Level 2 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

For those who come across this thread, the Marketplace team have some updated documentation on the marketplace APIs which much clearly outlines the process of onboarding. I will leave it to @PatrickBM to advise when this updated documentation will become for everyone to consume.

Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Is this the documentation you're referencing? If so, I think it's fair game to share Smiley Happy

 

https://docs.microsoft.com/en-us/azure/marketplace/cloud-partner-portal/saas-app/cpp-saas-fulfillment-api-v2

Level 2 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

@brian_levensonWonderful! I wasn't aware that it had gone live. Yes, definitely fair game Smiley Happy

Level 1 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

So far so good. I'm also in the middle of testing/implementing the landing page.

The diagram show I should (yes, I have to) sign-up the customer, before I call the activate API. We require to have the AD tenant/user to build up and store the relation of that AD tenant/user to the subscription (related to our marketplace offer). So we force a Azure AD login after receiving the SAAS token for resolving, and gather that required AD tenant/user. Now we have all we need, but one importasnt related question I have is:

how do we ensure that user is really the user who signed up to our offer (mean: the received token -> resolved subscription id really belongs to that signed in MS Azure AD user/tenant? If he login with another but valid Azure AD user account, he might not be the correct person that clicked our marketplace offer. Is there an Azure AD API call I can use to retrive the user's subscriptions (and compare them to our marketplace offer subscription id from the "resolve" call?

Level 1 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Think I found (by try and error calling SAAS APIs) the missing part: the docs are not complete about the returned JSON (see https://docs.microsoft.com/en-us/azure/marketplace/partner-center-portal/pc-saas-fulfillment-api-v2#get-subscription) - the beneficiary/purchaser also contains the user objectId and emailId, that we need. Please update the docs to reflect the public SAAS API state! And: please provide a API v2 mock API... 

Highlighted
Microsoft

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Hi Torsten - I've reached out to the Eng team on this and will help drive updates to the documentation.

 

On the mock API topic, does this work or are you seeing v1?

 

 

Host endpoint: https://marketplaceapi.microsoft.com/api (no authentication required)
API version: 2018-09-15
Sample URI: https://marketplaceapi.microsoft.com/api/saas/subscriptions?api-version=2018-09-15

The API endpoint paths are the same across both mock and real APIs, but the API versions are different. The version is 2018-09-15 for the mock version and 2018-08-31 for the production version.

In general, expect to get mock data back as a response. Calls to the update subscription methods on the mock API always return 500.

Level 1 Contributor

Re: SaaS Onboarding - Walkthrough or End-to-End Document for Onboarding API

Yes, we know about this. The problem with the data returned is that if we use "application/json" the result does NOT contain all possible fields/properties compared to the result the browser returns on a common get operation. Especially "beneficiary" and "purchaser" miss properties we have to rely on - so you should extend your demo data returned to fill all possible properies with random data to show up in json results - or extend your documentation to list the missing properties with a description.