Uzyskiwanie listy dostępności dla jednostki SKU (według kraju/regionu)
W tym artykule opisano sposób uzyskiwania kolekcji dostępności w określonym kraju/regionie dla określonego produktu i jednostki SKU.
Wymagania wstępne
Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.
Identyfikator produktu.
Identyfikator jednostki SKU.
Kraj/region.
C#
Aby uzyskać listę dostępności dla jednostki SKU:
Wykonaj kroki opisane w temacie Uzyskiwanie jednostki SKU według identyfikatora , aby uzyskać interfejs dla określonych operacji jednostki SKU.
W interfejsie jednostki SKU wybierz właściwość Dostępność , aby uzyskać interfejs z operacjami umożliwiającymi dostępność.
(Opcjonalnie) Użyj metody ByTargetSegment(), aby filtrować dostępność według segmentu docelowego. Wszystkie segmenty z wyjątkiem organizacji non-profit zostaną zwrócone, jeśli nie zostaną uwzględnione. Organizacje non-profit muszą zostać przekazane specjalnie w celu uzyskania dostępności organizacji non-profit.
Wywołaj metodę Get() lub GetAsync(), aby pobrać kolekcję dostępności dla tej jednostki SKU.
IAggregatePartner partnerOperations;
string countryCode;
string productId;
string skuId;
string targetSegment;
string productIdForAzureReservation;
string skuIdForAzureReservation;
// Get the availabilities.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ById(skuId).Availabilities.Get();
// Get the availabilities, filtered by target segment.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ById(skuId).Availabilities.BySegment(targetSegment).Get();
// Get the availabilities for an Azure reservation product and sku which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions only.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ById(skuIdForAzureReservation).Availabilities.ByReservationScope("AzurePlan").Get();
// Get the availabilities for an Azure reservation product and sku which are applicable to Azure plans only.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ById(skuIdForAzureReservation).Availabilities.Get();
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
GET | {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment} HTTP/1.1 |
Parametry identyfikatora URI
Użyj następującej ścieżki i parametrów zapytania, aby uzyskać listę dostępności dla jednostki SKU.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
product-id | string | Tak | Ciąg identyfikujący produkt. |
sku-id | string | Tak | Ciąg identyfikujący jednostkę SKU. |
kod kraju | string | Tak | Identyfikator kraju/regionu. |
segment docelowy | string | Nie | Ciąg identyfikujący segment docelowy używany do filtrowania. Wszystkie segmenty z wyjątkiem organizacji non-profit zostaną zwrócone, jeśli nie zostaną uwzględnione. Organizacje non-profit muszą zostać przekazane specjalnie w celu uzyskania dostępności organizacji non-profit. |
reservationScope | string | Nie | Podczas wykonywania zapytań dotyczących listy dostępności dla jednostki SKU rezerwacji platformy Azure określ reservationScope=AzurePlan , aby uzyskać listę dostępności, które mają zastosowanie do usługi AzurePlan. Wyklucz ten parametr, aby uzyskać listę dostępności, które mają zastosowanie do subskrypcji platformy Microsoft Azure (MS-AZR-0145P). |
IncludeLifeCycleState | string | Nie | Flaga ciągu, która może być ustawiona na wartość true, aby zwracać wartości stanu cyklu życia dla ofert opartych na licencjach new commerce. Te wartości nie zostaną zwrócone, jeśli flaga nie zostanie dołączona. |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
Brak.
Przykłady żądań
Dostępność jednostek SKU według kraju
Postępuj zgodnie z tym przykładem, aby uzyskać listę dostępności dla danej jednostki SKU według kraju:
GET http:// api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 70324727-62d8-4195-8f99-70ea25058d02
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Dostępność rezerwacji maszyn wirtualnych (plan platformy Azure)
Postępuj zgodnie z tym przykładem, aby uzyskać listę dostępności według kraju dla jednostek SKU rezerwacji maszyn wirtualnych platformy Azure. Ten przykład dotyczy jednostek SKU, które mają zastosowanie do planów platformy Azure:
GET https://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetView=AzureReservationsVM&reservationScope=AzurePlan HTTP/1.1
Authorization: Bearer
Accept: application/json
MS-RequestId: 031160b2-b0b0-4d40-b2b1-aaa9bb84211d
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Dostępność rezerwacji maszyn wirtualnych dla subskrypcji platformy Microsoft Azure (MS-AZR-0145P)
Postępuj zgodnie z tym przykładem, aby uzyskać listę dostępności według kraju dla rezerwacji maszyn wirtualnych platformy Azure, które mają zastosowanie do subskrypcji platformy Microsoft Azure (MS-AZR-0145P).
GET https://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetView=AzureAzureReservationsVM HTTP/1.1
Authorization: Bearer
Accept: application/json
MS-RequestId: 031160b2-b0b0-4d40-b2b1-aaa9bb84211d
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Odpowiedź REST
W przypadku powodzenia treść odpowiedzi zawiera kolekcję zasobów dostępności.
Kody powodzenia i błędów odpowiedzi
Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i więcej informacji o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i inne parametry. Aby uzyskać pełną listę, zobacz Kody błędów Centrum partnerskiego.
Ta metoda zwraca następujące kody błędów:
Kod stanu HTTP | Kod błędu | opis |
---|---|---|
403 | 400030 | Dostęp do żądanego elementu docelowegoSegment jest niedozwolony. |
Przykład odpowiedzi dla rezerwacji maszyn wirtualnych platformy Azure (plan platformy 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: 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
{
"totalCount": 1,
"items": [
{
"id": "DZH318XZXVNF",
"productId": "DZH318Z0BQ3Q",
"skuId": "0001",
"catalogItemId": "DZH318Z0BQ3Q:0001:DZH318XZXVNF",
"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/DZH318Z0HMKQ?country=US",
"method": "GET",
"headers": []
}
}
}
],
"links": {
"self": {
"uri": "/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetSegment=commercial",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Przykład odpowiedzi dla nowych usług opartych na licencjach handlowych
Uwaga
Nowe środowiska handlowe dla usług opartych na licencjach obejmują wiele nowych funkcji i są dostępne dla wszystkich Dostawca rozwiązań w chmurze (CSP). Aby uzyskać więcej informacji, zobacz omówienie nowych środowisk handlowych.
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"
}
]
}
]
},
…
],
"links": {
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
}
},
"links": {
"availabilities": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
}
}
}
}