Place and Provision Orders via API
This article explains how partners can place and provision orders programmatically. This will unlock the possibility to place orders outside the platform, e.g. via Partner's own marketplace and/or CRM/ERP.
Combined with the Get Catalog and Prices APIs, Partners can incorporate their Platform catalog of offers and enable customers to make purchases through the Partner's own marketplace.
Audience: integration developers, business analysts, and software architects.
Placing and Executing an Order:
APIs in scope:
No.1 Create an order
Creates an order based on the defined offer properties (see. Retrieve a pricing plan for the offer) and the price configured (see. Configure an order payload). Please note order will be visible on the UI only after an order is executed according to step No.3.
No.2. Get Terms and Conditions of offers in order (OPTIONAL)
Retrieves the terms and conditions associated with the selected offer.
For Microsoft offers, you will need to follow additional steps to verify that Microsoft systems have records of a signed Microsoft Customer Agreement ("MCA").
This API returns the information on the Microsoft Customer Agreement status based on the selected customer's internal tenant ID. Please use Retrieve a tenant for the customer to get the InternalId.
Note: In the event that a Microsoft tenant is missing or the customer requires a new tenant, you can use "Microsoft Tenant" APIs to process tenant creation.
Accepts Microsoft Customer Agreement for the selected tenant based on the provided customer signatory details.
No.3. Execute an order
Executes an order by changing the order status to "Pending Approval" (in the event that Approval is required) or "Provision Started".
No.3.1. Approve an order
If an order requires approval, "Approve an order" will change its status from "Pending Approval" to "Provision Started". Approval functionality can be used for credit risk purposes.
For example, a Partner configured order value limits for a specific customer in its ERP. Hence, if a customer places an order exceeding the set limit, such an order will be automatically rejected (see. Reject an order).