ソフトウェア購入の取り消し
パートナー センター API を使用して、ソフトウェア サブスクリプションと永続的なソフトウェア購入を取り消すことができます (購入日からキャンセル期間内にこれらの購入が行われた場合)。 このようなキャンセルを行うためにサポート チケットを作成する必要はありません。代わりに、次のセルフサービスメソッドを使用できます。
また、ID によるサブスクリプションの更新 API を使用して、ソフトウェア サブスクリプション (永続的ソフトウェアを含まない) を取り消すこともできます。
前提条件
- パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロンの App と App+User の両方の資格情報を使用した認証がサポートされています。
C#
ソフトウェアの注文を取り消すには、
アカウントの資格情報を CreatePartnerOperations メソッドに渡して、パートナー操作を取得するための IPartner インターフェイスを取得します。
キャンセルする特定 の注文 を選択します。 顧客識別子を指定して Customers.ById() メソッドを呼び出し、その後に Orders.ById() を注文識別子と共に呼び出します。
Get メソッドまたは GetAsync メソッドを呼び出して注文を取得します。
Order.Status プロパティ
cancelled
を .(省略可能)取り消しの特定の品目を指定する場合は、Order.LineItems をキャンセルする品目の一覧に設定します。
Patch() メソッドを使用して順序を更新します。
// IPartnerCredentials accountCredentials;
// string customerTenantId;
IPartner accountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(accountCredentials);
// Cancel order
var order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order.LineItems = new List<OrderLineItem> {
order.LineItems.First()
};
order = accountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1 |
URI パラメーター
ソフトウェア注文を取り消すには、次のクエリ パラメーターを使用します。
名前 | タイプ | Required | 説明 |
---|---|---|---|
customer-tenant-id | guid | Y | この値は、リセラーがリセラーに属する特定の顧客の結果をフィルター処理できるようにする、GUID 形式の顧客テナント識別子です。 |
order-id | string | Y | この値は、キャンセルする注文の識別子を示す文字列です。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
{
"id": "c403d91b21d2",
"status": "cancelled",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
}
]
}
要求の例
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: aaaa0000-bb11-2222-33cc-444444dddddd
{
"id": "c403d91b21d2",
"status": "cancelled",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS"
}
]
}
REST 応答
成功した場合、このメソッドは取り消された品目を含む注文を返します。
注文の状態は、注文内のすべての明細が取り消された場合は取り消し済みとしてマークされるか、注文内のすべての明細が取り消されない場合は完了としてマークされます。
応答の成功とエラーのコード
各応答には、成功または失敗とその他のデバッグ情報を示す HTTP 状態コードが付属しています。 ネットワーク トレース ツールを使用して、このコード、エラーの種類、およびパラメーターを読み取ります。 完全な一覧については、パートナー センターの REST エラーコードに関する記事を参照してください。
応答の例
次の応答例では、品目の数量がゼロ (0) になっていることがわかります。 この変更は、取り消しのマークが付けられた明細が正常に取り消されたことを意味します。 この注文例には、取り消されなかった他の品目が含まれています。つまり、注文全体の状態は完了としてマークされ、取り消されません。
HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
{
"id": "c403d91b21d2",
"alternateId": "c403d91b21d2",
"referenceCustomerId": "45411344-b09d-47e7-9653-542006bf9766",
"billingCycle": "one_time",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "DG7GMGF0FKZV:0003:DG7GMGF0DWMS",
"termDuration": "P3Y",
"transactionType": "New",
"friendlyName": "SQL Server Enterprise - 2 Core License Pack - 3 year",
"quantity": 0,
"links": {
"product": {
"uri": "/products/DG7GMGF0FKZV?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0FKZV/skus/0003?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0FKZV/skus/0003/availabilities/DG7GMGF0DWMS?country=US",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "DG7GMGF0DVT7:000C:DG7GMGF0FVZM",
"termDuration": "P3Y",
"transactionType": "New",
"friendlyName": "Windows Server CAL - 1 Device CAL - 3 year",
"quantity": 1,
"links": {
"product": {
"uri": "/products/DG7GMGF0DVT7?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/DG7GMGF0DVT7/skus/000C?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/DG7GMGF0DVT7/skus/000C/availabilities/DG7GMGF0FVZM?country=US",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2019-12-12T17:33:56.1306495Z",
"status": "completed",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/45411344-b09d-47e7-9653-542006bf9766/orders/c403d91b21d2",
"method": "PATCH",
"headers": []
}
},
"client": {
"marketplaceCountry": "US",
"deviceFamily": "UniversalStore-PartnerCenter",
"name": "Partner Center API"
},
"attributes": {
"objectType": "Order"
}
}