Compartir vía


Obtención de la disponibilidad por identificador

Obtiene la disponibilidad del producto y la SKU especificados mediante un identificador de disponibilidad. Los identificadores de disponibilidad son mutables y dinámicos, se vuelven a emitir periódicamente. Los asociados siempre deben asegurarse de obtener la disponibilidad actual al enviar elementos de línea del carro o ejecutar otras actividades que requieran el identificador de disponibilidad.

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.

  • Un identificador de producto.

  • Identificador de SKU.

  • Un identificador de disponibilidad.

C#

Para obtener detalles de una disponibilidad específica, empiece por los pasos descritos en Obtención de una SKU por identificador para obtener la interfaz de las operaciones de una SKU específica. En la interfaz resultante, seleccione la propiedad Availabilities para obtener una interfaz con las operaciones disponibles para Availabilities. Después, pase el identificador de disponibilidad al método ById() para obtener las operaciones de esa disponibilidad específica y, a continuación, llame a Get() o GetAsync() para recuperar los detalles de disponibilidad.

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

El SDK de Java del Centro de partners se puede usar para administrar los recursos del Centro de partners. Es un proyecto de código abierto mantenido por la comunidad de partners y no es compatible oficialmente con Microsoft. Puedes obtener ayuda de la comunidad o abrir una incidencia en GitHub si se produce un problema.

Para obtener detalles de una disponibilidad específica, empiece por los pasos descritos en Obtención de una SKU por identificador para obtener la interfaz de las operaciones de una SKU específica. En la interfaz resultante, seleccione la función getAvailabilities para obtener una interfaz con las operaciones disponibles para Availabilities. Después, pase el identificador de disponibilidad a la función byId() para obtener las operaciones de esa disponibilidad específica y, a continuación, llame a la función get() para recuperar los detalles de disponibilidad.

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

El módulo de PowerShell del Centro de partners se puede usar para administrar los recursos del Centro de partners. Es un proyecto de código abierto mantenido por la comunidad de partners y no es compatible oficialmente con Microsoft. Puedes obtener ayuda de la comunidad o abrir una incidencia en GitHub si se produce un problema.

Para obtener detalles de una disponibilidad específica, ejecute Get-PartnerProductAvailability y especifique los parámetros AvailabilityId, CountryCode, ProductId y SkuId para recuperar los detalles de disponibilidad.

Get-PartnerProductAvailability -Product $productId -SkuId $skuId -AvailabilityId $availabilityId

Solicitud REST

Sintaxis de la solicitud

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

Parámetro de URI

Use la siguiente ruta de acceso y parámetros de consulta para obtener una disponibilidad específica mediante un identificador de disponibilidad.

Nombre Type Obligatorio Descripción
product-id string Cadena con formato GUID que identifica el producto.
sku-id string Cadena con formato GUID que identifica la SKU.
availability-id string Cadena con formato GUID que identifica la disponibilidad.
código de país string Un identificador de país o región.
IncludeLifeCycleState string No Marca de cadena que se puede establecer en true para devolver los valores de estado del ciclo de vida de las ofertas basadas en licencias de New Commerce. Estos valores no se devolverán si no se incluye la marca.

Encabezados de solicitud

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

Cuerpo de la solicitud

Ninguno.

Ejemplo de solicitud

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

Importante

A partir de junio de 2023, la versión 3.4.0 más reciente del SDK de .NET del Centro de partners ahora está archivada. Puede descargar esta versión del SDK de GitHub, junto con un archivo Léame que contiene información útil.

Se recomienda a los partners seguir usando las API REST del Centro de partners.

Respuesta REST

Si se ejecuta correctamente, el cuerpo de la respuesta contiene un recurso de disponibilidad .

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica el éxito o error y la información adicional de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y otros parámetros. Para obtener la 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
404 400013 No se encontró el producto.
404 400018 No se encontró la SKU.
404 400019 No se encontró la disponibilidad. Este error puede producirse al desproteer un carro. Los asociados que obtienen este error deben emitir un nuevo GET para asegurarse de que tienen el identificador de disponibilidad actual y reintentar el registro del carro.

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

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