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
Microsoft

SaaS Fulfillment API Update

We've introduced a new version of the SaaS fulfillment API, which allows software providers to manage the subscription lifecycle with integration to Microsoft's cloud marketplace.

 

With this release, we are phasing out the prior version and want to help publishers who have developed against the API v1 to transition to v2. Please post any questions or feedback in this thread, and we will be happy to assist.

 

Learn more about the SaaS fulfillment API here:

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

13 REPLIES 13
Highlighted
Level 1 Contributor

Re: SaaS Fulfillment API Update

Hi Brain!

 

I've read through the documentation and compared it to the v1. v2 looks very similar to v1, but I did identify a few small differences. Is there any documentation on the differences between the two. This would help confirm we have made all the proper changes required, as well as save a lot of effort in determining the set of changes.

 

Also the documentation states:

The expectation from the ISV is that the customer’s data is retained for recovery on request for a minimum of X days and then deleted.

 

Does X here refer to 10 days, in roman numerals? If not, what is X?

 

Thanks!

Microsoft

Re: SaaS Fulfillment API Update

Great questions! Our engineering and content teams are following up to ensure this is clarified in the documentation. I will also try to follow up here once we have all the answers clearly defined.

Level 1 Contributor

Re: SaaS Fulfillment API Update

Great thanks, Brian.

 

Another question.

 

For the GET operations request is there any documentation on what the keys represent and possible values can be.

  1. Specifically `status`, what are all the possible values it can contain?
  2. And `timestamp` what does this timestamp represent?

 

A couple other clarifications.

 

The PATCH request has two sections called 'Request Headers', I assume the second one should read 'Response Headers' the one with 'Operation-Location' listed.

 

All of the requests show api-version=<ApiVersion> within the request URL and in the description list the parameter as 'ApiVersion'. These are contradictory and I assume the list of parameters is incorrect, the parameter has not changed from v1 and is still `api-version`. 

 

 

Microsoft

Re: SaaS Fulfillment API Update

Hello! Thanks to my colleague answers are inline.

For the GET operations request is there any documentation on what the keys represent and possible values can be.

  1. Specifically `status`, what are all the possible values it can contain?
    • NotStarted
    • InProgress
    • Succeeded
    • Failed
    • Conflict
  1. And `timestamp` what does this timestamp represent?

Last modified time for the operation example "timeStamp": "2019-04-15T20:17:31.7350641Z",
from https://docs.microsoft.com/en-us/azure/marketplace/partner-center-portal/pc-saas-fulfillment-api-v2

 

A couple other clarifications.

 

The PATCH request has two sections called 'Request Headers', I assume the second one should read 'Response Headers' the one with 'Operation-Location' listed.

Correct, that’s a typo

 

All of the requests show api-version=<ApiVersion> within the request URL and in the description list the parameter as 'ApiVersion'. These are contradictory and I assume the list of parameters is incorrect, the parameter has not changed from v1 and is still `api-version`. 

 

The value of the api-version parameter for version 2 APIs is 2018-08-31

Sample URI: https://marketplaceapi.microsoft.com/api/saas/subscriptions?api-version=2018-08-31

Level 1 Contributor

Re: SaaS Fulfillment API Update

Thanks for the quick reply and answers, very helpful.

 

Regarding the last clarification, sorry I wasn't clear. The conflict is with the reference to the parameter name. It is different between the URL and the list. The url refers to the parameter as `api-version`, the table refers to it as `ApiVersion`. But that reference in the table matches the placeholder value in the URL not the parameter. It should be listed in the table as `api-version` - which is exactly how it is in the API v1 documentation. Hope that helps.

Level 1 Contributor

Re: SaaS Fulfillment API Update

The POST resolve endpoint states that the JSON body includes a key that is `subscriptionId`.

The mock endpoint doesn't include this key. It includes a key `id`. This is the same as v1.

 

Is the mock endpoint correct here? Or is the documentation correct?

 

Screenshot of invoking the mock endpoint and the response body:
Screen Shot 2019-06-19 at 3.41.40 PM.png

Visitor 1

Re: SaaS Fulfillment API Update

Thanks for putting this together. After working on this for a while, we have all the pieces ready but we're still unsure about the best way to test the whole flow. The mock API is very useful, but there's no way to test the webhooks, etc. What's the recommended way, other than creating an actual offer, getting it approved, and spending money on test purchases?

Microsoft

Re: SaaS Fulfillment API Update

@prees- the mock endpoint is correct which should be "id" and the team was already working to correct the documentation.

 

@ihaveajob- my recommendation is to create the offering as you want it to be publicly with regards to the description, images, etc. however, only create one plan, set it to private, and make it $0. when configuring a private plan, you will need to enter a tenant ID and can use your own. that way, you can complete a real, production purchase for $0 without exposing it on any of the storefronts. once you're satisfied or address any issues that are uncovered, you can add other plans that are set for public.

Level 1 Contributor

Re: SaaS Fulfillment API Update

Hi Brian, can you confirm for us the date when API v1 will be disabled and non functional?

Thanks!

Microsoft

Re: SaaS Fulfillment API Update

@prees- plan of record is end of June, so only a few days from now. We've sent a few email notifications, but there's always the risk that they went to a service account or junk folder. If this timeline is problematic or you have specific questions, please shoot me an email at Brian.Levenson@microsoft.com. Thanks!

Visitor 1

Re: SaaS Fulfillment API Update - is there a version 3 ?

Hi Brian Per Andersen from Crossware here.
Just went through the latest webinar "How to sell through Microsoft's Commercial Marketplace"

in there there is a reference to the Marketplace API with a version 2019-8-31 ??

Is that a mistake as the current version 2 is 2018-8-31 ??
Capture.JPG

Microsoft

Re: SaaS Fulfillment API Update - is there a version 3 ?

Hey Per - thanks for reaching out and following up on this! I've been reviewing the documentation and see the same thing that you did. 

 

Here's the article with the version info:

https://docs.microsoft.com/en-us/azure/marketplace/partner-center-portal/pc-saas-fulfillment-api-v2#api-reference

 

And it shows this:

Annotation 2019-09-17 154644.jpgscreen shot of documentation

Microsoft

Re: SaaS Fulfillment API Update - is there a version 3 ?

Confirmed that the Docs are accurate and the slide had a typo. Great catch - I'm updating the slides now!