Obtener una lista de disponibilidad para una SKU (según el país o región)

En este artículo se describe cómo obtener una colección de disponibilidad en un país o región concretos para un producto y SKU especificados.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • Identificador de producto.

  • Identificador de SKU.

  • País o región.

C#

Para obtener la lista de disponibilidad de una SKU:

  1. Siga los pasos descritos en Obtención de una SKU por identificador para obtener la interfaz de las operaciones de una SKU específica.

  2. En la interfaz de SKU, seleccione la propiedad Availabilities para obtener una interfaz con las operaciones de disponibilidad.

  3. (Opcional) Use el método ByTargetSegment() para filtrar las disponibilidades por segmento de destino. Todos los segmentos excepto las organizaciones sin ánimo de lucro se devolverán si no se incluyen. Las organizaciones sin ánimo de lucro deben pasarse específicamente para obtener disponibilidad para organizaciones sin ánimo de lucro.

  4. Llame a Get() o GetAsync() para recuperar una colección de las disponibilidades de esta 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();

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment} HTTP/1.1

Parámetros del identificador URI

Use la siguiente ruta de acceso y parámetros de consulta para obtener una lista de disponibilidad de una SKU.

Nombre Type Obligatorio Descripción
product-id string Cadena que identifica el producto.
sku-id string Cadena que identifica la SKU.
código de país string Un identificador de país o región.
segmento de destino string No Cadena que identifica el segmento de destino que se usa para el filtrado. Todos los segmentos excepto las organizaciones sin ánimo de lucro se devolverán si no se incluyen. Las organizaciones sin ánimo de lucro deben pasarse específicamente para obtener disponibilidad para organizaciones sin ánimo de lucro.
reservationScope string No Al consultar una lista de disponibilidad de una SKU de reserva de Azure, especifique reservationScope=AzurePlan para obtener una lista de disponibilidad que se aplican a AzurePlan. Excluya este parámetro para obtener una lista de disponibilidad aplicables a las suscripciones de Microsoft Azure (MS-AZR-0145P).

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

Ninguno.

Ejemplos de solicitud

Disponibilidad de SKU por país

Siga este ejemplo para obtener una lista de disponibilidad para una SKU determinada por país:

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: 83b644b5-e54a-4bdc-b354-f96c525b3c58

Disponibilidad para reservas de máquinas virtuales (plan de Azure)

Siga este ejemplo para obtener una lista de disponibilidad por país para las SKU de reserva de máquinas virtuales de Azure. Este ejemplo es para las SKU que se aplican a los planes de 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: 7c1f6619-c176-4040-a88f-2c71f3ba4533

Disponibilidad de reservas de máquinas virtuales para suscripciones de Microsoft Azure (MS-AZR-0145P)

Siga este ejemplo para obtener una lista de disponibilidad por país para las reservas de máquinas virtuales de Azure que se aplican a las suscripciones de 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: 7c1f6619-c176-4040-a88f-2c71f3ba4533

Respuesta REST

Si se ejecuta correctamente, el cuerpo de la respuesta contiene una colección de recursos de disponibilidad .

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener una lista completa, consulte Códigos de error del Centro de partners.

Este método devuelve los siguientes códigos de error:

Código de estado HTTP Código de error Descripción
403 400030 No se permite el acceso al targetSegment solicitado.

Ejemplo de respuesta para reservas de máquinas virtuales de Azure (plan de Azure)

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: 83b644b5-e54a-4bdc-b354-f96c525b3c58,83b644b5-e54a-4bdc-b354-f96c525b3c58
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"
    }
}

Ejemplo de respuesta para nuevos servicios basados en licencias comerciales

Nota:

Las nuevas experiencias comerciales para los servicios basados en licencias incluyen muchas funcionalidades nuevas y están disponibles para todos los Proveedores de soluciones en la nube (CSP). Para más información, consulte Introducción a las nuevas experiencias comerciales.

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: 83b644b5-e54a-4bdc-b354-f96c525b3c58,83b644b5-e54a-4bdc-b354-f96c525b3c58
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": []
            }
        }
    }
}