カートを更新する
カート内の顧客の注文を更新する方法。
カートの有効期限は、最初の作成から 7 日間です。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロン アプリとアプリ + ユーザーの両方の資格情報を使った認証がサポートされています。
顧客 ID です (
customer-tenant-id
)。 顧客の ID がわからない場合は、パートナー センターで [顧客] ワークスペースを選び、顧客一覧から顧客を選び、[アカウント] を選んで調べることができます。 お客様のアカウント ページで、[顧客のアカウント情報] セクションの Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id
) と同じです。既存のカートのカート ID。
C#
顧客の注文を更新するには、ById() 関数を使用して顧客 ID とカート ID を渡して、Get() メソッドを使用してカートを取得します。 カートに必要な変更を加えます。 次に、ById() メソッドを使用して顧客 ID とカート ID を使用して Put メソッドを呼び出します。
最後に、Put() または PutAsync() メソッドを呼び出して注文を作成します。
IAggregatePartner partnerOperations;
string customerId;
string cartId;
var cart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Get();
cart.LineItems.ToArray()[0].Quantity++;
var updatedCart = partnerOperations.Customers.ById(customerId).Cart.ById(cartId).Put(cart);
構成証明を完了し、他のリセラーを含めるには、次のサンプルを参照してください。
API サンプル - カートをチェックアウトする
{
"orders": [
{
"id": "f76c6b7f449d",
"alternateId": "f76c6b7f449d",
"referenceCustomerId": "f81d98dd-c2f4-499e-a194-5619e260344e",
"billingCycle": "monthly",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"termDuration": "P1M",
"transactionType": "New",
"friendlyName": "AI Builder Capacity add-on",
"quantity": 1,
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH0Z?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH0Z/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH0Z/skus/0001/availabilities/CFQ7TTC0K18P?country=US",
"method": "GET",
"headers": []
}
}
},
{
"lineItemNumber": 1,
"offerId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
"subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
"termDuration": "P1Y",
"transactionType": "New",
"friendlyName": "Azure Active Directory Premium P1",
"quantity": 2,
"partnerIdOnRecord": "517285",
"additionalPartnerIdsOnRecord":
"5357564",
"5357563"
],
"links": {
"product": {
"uri": "/products/CFQ7TTC0LFLS?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LFLS/skus/0002?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LFLS/skus/0002/availabilities/CFQ7TTC0KDLJ?country=US",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2021-08-18T07:52:23.1921872Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/f76c6b7f449d",
"method": "PATCH",
"headers": []
}
},
"client": {},
"attributes": {
"objectType": "Order"
}
}
],
"attributes": {
"objectType": "CartCheckoutResult"
}
}
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
PUT | {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1 |
URI パラメーター
次のパス パラメーターを使用して顧客を識別し、更新するカートを指定します。
名前 | タイプ | Required | 説明 |
---|---|---|---|
customer-id | string | はい | 顧客を識別する GUID 形式の顧客 ID。 |
cart-id | string | はい | カートを識別する GUID 形式のカート ID。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
次の表では、要求本文の Cart プロパティについて説明します。
プロパティ | タイプ | Required | 内容 |
---|---|---|---|
id | string | いいえ | カートの作成が成功したときに提供されるカート識別子。 |
creationTimeStamp | DateTime | いいえ | 日付と時刻の形式で、カートが作成された日付。 カートの作成が成功した場合に適用されます。 |
lastModifiedTimeStamp | DateTime | いいえ | カートが最後に更新された日付を日時形式で指定します。 カートの作成が成功した場合に適用されます。 |
expirationTimeStamp | DateTime | いいえ | 日付と時刻の形式で、カートの有効期限が切れる日付。 カートの正常な作成時に適用されます。 |
lastModifiedUser | string | いいえ | カートを最後に更新したユーザー。 カートの正常な作成時に適用されます。 |
lineItems | オブジェクトの配列 | はい | CartLineItem リソースの配列。 |
次の表では、要求本文の CartLineItem プロパティについて説明します。
プロパティ | タイプ | Required | 内容 |
---|---|---|---|
id | string | いいえ | カートの品目の一意識別子。 カートの正常な作成時に適用されます。 |
catalogId | string | はい | カタログ アイテム識別子。 |
friendlyName | string | いいえ | 省略可能。 あいまいさを解消するためにパートナーによって定義された項目のフレンドリ名。 |
promotionId | string | いいえ | 省略可能。 ほとんどの NCE プロモーションは自動適用されますが、オプションのプロモーション (Bridge to the Cloud 2 など) をカートの品目に適用するには、パートナーはカートへの追加要求にプロモーション ID を含める必要があります。 |
数量 | int | はい | ライセンスまたはインスタンスの数。 |
currencyCode | string | いいえ | 通貨コード。 |
billingCycle | オブジェクト | はい | 現在の期間に設定支払いサイクルの種類。 |
participants | オブジェクト文字列ペアの一覧 | いいえ | 購入に関する参加者のコレクション。 |
provisioningContext | ディクショナリ<文字列、文字列> | いいえ | オファーのプロビジョニングに使用されるコンテキスト。 |
orderGroup | string | いいえ | 一緒に配置できる項目を示すグループ。 |
エラー | オブジェクト | いいえ | カートがエラーで作成された後に適用されます。 |
AdditionalPartnerIdsOnRecord | String | いいえ | 間接プロバイダーが間接リセラーに代わって注文を行う場合は、このフィールドに追加間接リセラーのみの PartnerID を設定します (間接プロバイダーの ID は設定しません)。 インセンティブは、これらの他のリセラーには適用されません。 最大 5 つの間接リセラーのみを入力できます。 これは、EU/EFTA の国/地域内で取引する適用可能なパートナーのみです。 |
要求の例
PUT /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/65faf57b-0205-47ee-92b3-08dcf233ea73/ HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 496
Expect: 100-continue
{
{
"Id":"b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
"CreationTimestamp":"2018-03-15T17:15:02.3840528Z",
"LastModifiedTimestamp":"2018-03-15T17:15:02.3840528Z",
"ExpirationTimestamp":"0001-01-01T00:00:00",
"LastModifiedUser":"2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
"LineItems":[
{
"Id":0,
"CatalogItemId":"DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
"FriendlyName":"A_sample_Azure_RI",
"Quantity":2,
"BillingCycle":"one_time",
"ProvisioningContext": {
"SubscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"Scope": "shared",
"Duration": "1Year"
}
}
],
}
}
重要
2023 年 6 月の時点で、最新のパートナー センター .NET SDK リリース 3.4.0 がアーカイブされるようになりました。 SDK リリースは、有用な情報が記載された readme ファイルと一緒に GitHub からダウンロードできます。
パートナーの皆様には、パートナー センター REST API を引き続き使用することをお勧めします。
REST 応答
成功した場合、このメソッドは応答本文で設定された Cart リソースを返します。
応答の成功とエラーのコード
各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。 ネットワーク トレース ツールを使用して、このコード、エラーの種類、その他のパラメーターを読み取ります。 完全な一覧については、エラー コードに関するページを参照してください。
応答の例
HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
{
"id": "b4c8fdea-cbe4-4d17-9576-13fcacbf9605",
"creationTimestamp": "2018-03-15T17:15:02.3840528Z",
"lastModifiedTimestamp": "2018-03-15T17:15:02.3840528Z",
"lastModifiedUser": "2713ccd7-ea3b-470a-9cfb-451d5d0482cc",
"lineItems": [
{
"id": 0,
"catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSJB",
"friendlyName": "A_sample_Azure_RI",
"quantity": 2,
"currencyCode": "USD",
"billingCycle": "one_time",
"ProvisioningContext": {
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"scope": "shared",
"duration": "1Year"
}
"orderGroup": "0"
}
],
"links": {
"self": {
"uri": "/v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts/b4c8fdea-cbe4-4d17-9576-13fcacbf9605/",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}