Udostępnij za pośrednictwem


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:

  1. Wykonaj kroki opisane w temacie Uzyskiwanie jednostki SKU według identyfikatora , aby uzyskać interfejs dla określonych operacji jednostki SKU.

  2. W interfejsie jednostki SKU wybierz właściwość Dostępność , aby uzyskać interfejs z operacjami umożliwiającymi dostępność.

  3. (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.

  4. 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": []
            }
        }
    }
}