Create a subscription for commercial marketplace products
You can create a subscription for commercial marketplace products by using Partner Center APIs. You must get a list of offers for a market, create and submit an order for a commercial marketplace subscription, and then retrieve an activation link.
You can also perform life-cycle management and manage invoices for these subscriptions.
Prerequisites
- Partner Center authentication credentials. This scenario supports authentication with both standalone App and App+User credentials.
- The customer identifier. If you don't have a customer's identifier, follow the steps in Get a list of customers. Alternatively, sign in to Partner Center, choose the customer from the list of customers, select Account, and then save the customer's Microsoft ID value.
Get a list of offers for a market
You can check the available offers for a market by using the following Partner Center API models:
- Product: A grouping construct for purchasable goods or services. A product itself isn't a purchasable item.
- SKU: A purchasable stock-keeping unit (SKU) under a product. SKUs represent the varieties of the product.
- Availability: A configuration in which a SKU is available for purchase (such as country/region, currency, or industry segment).
Before you purchase an Azure reservation, complete the following steps:
Identify and retrieve the product and SKU that you want to purchase. If you already know the product ID and SKU ID, select them.
- Get a list of products (by country/region)
- Get a product by ID
- Get a list of SKUs for a product (by country/region)
- Get a SKU by ID
Note
You can identify commercial marketplace products by their
ProductType
property of"Azure"
and theirSubType
property of"SaaS"
.If the SKUs are tagged with an
InventoryCheck
prerequisite, check the inventory for a SKU.Note
At this time, there are no commercial marketplace products that support inventory check or are tagged with an
InventoryCheck
prerequisite.Retrieve the availability for the SKU. You need the
CatalogItemId
value of the availability when placing the order. You can retrieve it through the following APIs:
Create and submit an order
- Create a cart to hold the collection of catalog items that you intend to buy. When you create a cart, the cart line items are automatically grouped based on what can be purchased together in the same order. (You can also update a cart.)
- Check out the cart, which results in the creation of an order.
Get order details
You can retrieve the details of an individual order by using the order ID. You can also retrieve a list of all orders for a specific customer.
After an order is submitted, there's a delay of up to 15 minutes before the order appears in that customer's order list.
Get an activation link
The partner or customer must activate subscriptions to Azure Marketplace products. You can get an activation link by order line item. You can also get a subscription by ID, and then enumerate its Links
property to create an activation link.
Manage the subscription life cycle
You can manage the life cycle of your subscriptions to commercial marketplace products by using the following methods:
- Cancel a commercial marketplace subscription
- Enable or disable autorenew for a commercial marketplace subscription
Manage subscription quantity
The quantity of a commercial marketplace subscription must be within the limits that its associated SKU defines. (See the minimumQuantity
and maximumQuantity
attributes.) To update the quantity of a commercial marketplace subscription, use the following method:
Manage invoices and reconciliation
You can manage customer invoices (including charges for subscriptions to commercial marketplace products) by using the following methods:
- Get invoice billed commercial marketplace consumption line items
- Get invoice estimate links
- Get invoice unbilled commercial marketplace consumption line items
- Get invoice unbilled reconciliation line items
Use a sandbox environment
For Azure Marketplace sandbox guidance, see Test and debug with your Partner Center integration sandbox.