按 ID 获取可用性
使用可用性 ID 获取指定产品和 SKU 的可用性。 可用性 ID 是可变的和动态的,它们定期重新发布。 在提交购物车行项目或执行需要可用性 ID 的其他活动时,合作伙伴应始终确保获取当前可用性。
先决条件
合作伙伴中心身份验证中所述的凭据。 此方案支持使用独立应用和 App+User 凭据进行身份验证。
产品 ID。
SKU ID。
可用性 ID。
C#
若要获取特定可用性的详细信息,请先按照 ID 获取 SKU 中的步骤获取特定 SKU 操作的接口。 从生成的接口中,选择 Availabilities 属性以获取具有可用性可用操作的接口。 之后,将可用性 ID 传递给 ById() 方法以获取该特定可用性的操作,然后调用 Get() 或 GetAsync() 来检索可用性详细信息。
IAggregatePartner partnerOperations;
string countryCode;
string productId;
string skuId;
string availabilityId;
// Get the availability details.
var availability = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ById(skuId).Availabilities.ById(availabilityId).Get();
Java
合作伙伴中心 Java SDK 可用于管理合作伙伴中心资源。 它是由合作伙伴社区维护的开源项目,不受Microsoft正式支持。 如果遇到问题,可以从社区获取帮助或在 GitHub 上创建问题。
若要获取特定可用性的详细信息,请先按照 ID 获取 SKU 中的步骤获取特定 SKU 操作的接口。 从生成的接口中,选择 getAvailabilities 函数以获取具有可用性可用操作的接口。 之后,将可用性 ID 传递给 byId() 函数以获取该特定可用性的操作,然后调用 get() 函数来检索可用性详细信息。
IAggregatePartner partnerOperations;
String countryCode;
String productId;
String skuId;
String availabilityId;
// Get the availability details.
Availability availability = partnerOperations.getProducts().byCountry(countryCode).byId(productId).getSkus().byId(skuId).getAvailabilities().byId(availabilityId).get();
PowerShell
合作伙伴中心 PowerShell 模块可用于管理合作伙伴中心资源。 它是由合作伙伴社区维护的开源项目,不受Microsoft正式支持。 如果遇到问题,可以从社区获取帮助或在 GitHub 上创建问题。
若要获取特定可用性的详细信息,请执行 Get-PartnerProductAvailability 并指定 AvailabilityId、CountryCode、ProductId 和 SkuId 参数以检索可用性详细信息。
Get-PartnerProductAvailability -Product $productId -SkuId $skuId -AvailabilityId $availabilityId
REST 请求
请求语法
方法 | 请求 URI |
---|---|
GET | {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilityabilities/{availability-id}?country={country-code} HTTP/1.1 |
URI 参数
使用以下路径和查询参数通过可用性 ID 获取特定可用性。
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
product-id | string | 是 | 标识产品的 GUID 格式字符串。 |
sku-id | string | 是 | 标识 SKU 的 GUID 格式字符串。 |
availability-id | string | 是 | 标识可用性的 GUID 格式字符串。 |
country-code | string | 是 | 国家/地区 ID。 |
IncludeLifeCycleState | string | 否 | 一个字符串标志,可以设置为 true 以返回基于新商务许可证的产品/服务的生命周期状态值。 如果未包含标志,则不会返回这些值。 |
请求标头
有关详细信息,请参阅合作伙伴中心 REST 标头。
请求正文
无。
请求示例
GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities/DZH318XZXPHL?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 2e12a576-ded5-437e-a5ec-dbfbcbd1624c
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Host: api.partnercenter.microsoft.com
重要
截至 2023 年 6 月,最新的合作伙伴中心 .NET SDK 版本 3.4.0 现已存档。 可以从 GitHub 下载 SDK 版本,以及包含有用信息的自述文件。
建议合作伙伴继续使用合作伙伴中心 REST API。
REST 响应
如果成功,响应正文将 包含可用性 资源。
响应的成功和错误代码
每个响应都有一个 HTTP 状态代码,指示成功或失败以及额外的调试信息。 使用网络跟踪工具读取此代码、错误类型和其他参数。 有关完整列表,请参阅 合作伙伴中心错误代码。
此方法返回以下错误代码:
HTTP 状态代码 | 错误代码 | 说明 |
---|---|---|
404 | 400013 | 找不到产品。 |
404 | 400018 | 找不到 SKU。 |
404 | 400019 | 找不到可用性。 签出购物车时,可能会出现此错误。 收到此错误的合作伙伴应发出新的 GET,以确保其具有当前可用性 ID 并重试购物车签出。 |
Azure VM 预留的响应示例(Azure 计划)
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 2e12a576-ded5-437e-a5ec-dbfbcbd1624c,2e12a576-ded5-437e-a5ec-dbfbcbd1624c
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTNRXHNrdXNcMDAwMVxhdmFpbGFiaWxpdGllc1xEWkgzMThaMEhNS1E=?=
X-Powered-By: ASP.NET
Date: Wed, 14 Mar 2018 22:19:43 GMT
Content-Length: 440
{
"id": "DZH318XZXPHL",
"productId": "DZH318Z0BQ3Q",
"skuId": "0001",
"catalogItemId": "DZH318Z0BQ3Q:0001:DZH318XZXPHL",
"defaultCurrency": {
"code": "USD",
"symbol": "$"
},
"segment": "commercial",
"country": "US",
"isPurchasable": true,
"isRenewable": false,
"terms": [{
"duration": "P1Y",
"description": "1 Year Prepaid"
}],
"product": { ... },
"sku": { ... },
"links": {
"self": {
"uri": "/products/DZH318Z0BQ3Q/skus/0001/availabilities/DZH318XZXPHL?country=US",
"method": "GET",
"headers": []
}
}
}
基于许可证的新服务的响应示例
注意
基于许可证的服务的新商业体验涵盖许多新功能,可供所有云解决方案提供商 (CSP) 使用。 有关详细信息,请参阅新商业体验概述。
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 70324727-62d8-4195-8f99-70ea25058d02,70324727-62d8-4195-8f99-70ea25058d02
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTNRXHNrdXNcMDAwMVxhdmFpbGFiaWxpdGllcw==?=
X-Powered-By: ASP.NET
Date: Wed, 14 Mar 2018 22:19:37 GMT
Content-Length: 808
{
"id": "CFQ7TTC0K971",
"productId": "CFQ7TTC0LH18",
"skuId": "0001",
"catalogItemId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"defaultCurrency": {
"code": "USD",
"symbol": "$"
},
"segment": "commercial",
"country": "US",
"isPurchasable": true,
"isRenewable": true,
"renewalInstructions": [
{
"applicableTermIds": [
"5aeco6mffyxo"
],
"renewalOptions": [
{
"renewToId": "CFQ7TTC0LH18:0001",
"isAutoRenewable": true
}
]
},
…
],
"terms": [
{
"id": "5aeco6mffyxo",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Annual",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
…
],
"product": { ... },
"sku": { ... },
"links": {
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
}
}
}