使用合作伙伴中心 API 从集成沙盒取消订单

适用于:合作伙伴中心 | 由世纪互联运营的合作伙伴中心 | Microsoft Cloud for US Government 合作伙伴中心

本文介绍如何使用合作伙伴中心 API 从集成沙盒帐户取消不同类型的订阅订单。 此类订单可以包括预留实例、软件和商业市场软件即服务(SaaS)订阅订单。

下表显示了沙盒和生产中的取消顺序。

产品类型 沙盒更新顺序 沙盒更新订阅 生产更新订单 生产更新订阅
Azure 预留实例 Y N N N
永久性软件 Y N Y N
软件订阅 Y Y Y Y
新商务 N Y N Y
商业市场 N Y N Y
Azure 计划 N Y N Y

注意

仅可从集成沙盒帐户取消预留实例或商业市场 SaaS 订阅订单。 任何超过 60 天的沙盒订单都无法从合作伙伴中心取消。

若要通过 API 取消软件的生产订单,请使用 取消软件购买。 还可以使用取消购买通过仪表板取消软件的生产订单。

先决条件

  • 合作伙伴中心身份验证中所述的凭据。 此方案支持使用独立应用和 App+User 凭据进行身份验证。

  • 集成沙盒合作伙伴帐户,客户拥有活动的预留实例/软件/第三方 SaaS 订阅订单。

C#

若要从集成沙盒取消订单,请将帐户凭据传递给 CreatePartnerOperations 方法以获取用于获取合作伙伴操作的 IPartner 接口。

若要选择特定 订单,请使用合作伙伴操作和调用 Customers.ById() 方法以及客户标识符来指定客户,后跟 Orders.ById() 订单标识符来指定订单,最后 GetGetAsync 方法检索它。

Order.Status 属性 cancelled 设置为并使用 Patch() 方法更新顺序。

// IPartnerCredentials tipAccountCredentials;
// Customer tenant Id to be deleted.
// string customerTenantId;

IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);

// Cancel order
var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);

REST 请求

请求语法

方法 请求 URI
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

URI 参数

使用以下查询参数删除客户。

名称 类型​​ 必需 说明
customer-tenant-id guid Y 该值是 GUID 格式 的客户租户 ID ,允许经销商筛选属于经销商的给定客户的结果。
order-id 字符串 Y 该值是一个字符串,表示需要取消的顺序 ID。

请求标头

有关详细信息,请参阅合作伙伴中心 REST 标头

请求正文

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

请求示例

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/orders/<order-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

REST 响应

如果成功,此方法将返回已取消的订单。

响应的成功和错误代码

每个响应都有一个 HTTP 状态代码,指示成功或失败以及更多的调试信息。 使用网络跟踪工具读取此代码、错误类型和其他参数。 如需完整列表,请参阅合作伙伴中心 REST 错误代码

响应示例

HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "alternateId": "11fc4bdfd47a",
    "referenceCustomerId": "bd59b416-37f9-4d8f-8df3-5750111fc615",
    "billingCycle": "one_time",
    "currencyCode": "USD",
    "currencySymbol": "$",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0DWT0:0001:DG7GMGF0DSQR",
            "termDuration": "",
            "transactionType": "New",
            "friendlyName": "Microsoft Identity Manager 2016 - 1 User CAL",
            "quantity": 1,
            "links": {
                "product": {
                    "uri": "/products/DG7GMGF0DWT0?country=US",
                    "method": "GET",
                    "headers": []
                },
                "sku": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001?country=US",
                    "method": "GET",
                    "headers": []
                },
                "availability": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001/availabilities/DG7GMGF0DSQR?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2019-02-21T17:56:21.1335741Z",
    "status": "cancelled",
    "transactionType": "UserPurchase",
    "attributes": {
        "objectType": "Order"
    }
}