Obtención de la disponibilidad por identificador

Obtiene la disponibilidad del producto y la SKU especificados mediante un identificador de disponibilidad. Un identificador de disponibilidad es mutable y dinámico y se vuelve 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 como se describe en Autenticación de Partner Center. 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, comience siguiendo los pasos de Obtener una SKU por identificador para obtener la interfaz de 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 de Partner Center se puede usar para administrar los recursos de Partner Center. 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 siguiendo los pasos de Obtener una SKU por identificador para obtener la interfaz para 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 de Partner Center se puede usar para administrar los recursos de Partner Center. 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 Tipo Obligatorio Descripción
product-id cadena Cadena con formato GUID que identifica el producto.
sku-id string Cadena con formato GUID que identifica la SKU.
availability-id cadena 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.

Cabeceras de solicitud

Para obtener más información, consulta Encabezados REST de Partner Center.

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

En junio de 2023, la versión más reciente del SDK de .NET de Partner Center, la 3.4.0, está archivada. Puede descargar la versión de lanzamiento del SDK desde GitHub, junto con un archivo README que contiene información útil.

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

Respuesta REST

Si la operación se realiza correctamente, el cuerpo de la respuesta contiene un recurso Availability.

Códigos de éxito y error de respuesta

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 finalizar la compra de un carrito. Los socios que obtienen este error deben emitir un nuevo GET para asegurarse de que tienen el identificador de disponibilidad actual y vuelvan a intentar finalizar la compra del carrito.

Ejemplo de respuesta para las 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",
            "termLifeCycleState": "GA",
            "cancellationPolicies": [
                {
                    "refundOptions": [
                        {
                            "sequenceId": 0,
                            "type": "Full",
                            "expiresAfter": "P1D"
                        }
                    ]
                }
            ]
        },
       …
    ],
    "product": { ... },
    "sku": { ... },
    "links": {
        "self": {
            "uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
            "method": "GET",
            "headers": []
        }
    }
}

Instrucciones de conversión de tres años para la disponibilidad

Algunas referencias de almacén (SKU) de tres años con equipos para asociados europeos permiten realizar la transición en fechas de aniversario. La disponibilidad actual de la SKU de la suscripción incluye instrucciones para la transferencia de conversión.

"conversionTransferInstructions": [
        {
          "transferToBigId": "CFQ7TTC0ZSW3:003G",
          "transferTiming": "Immediate",
          "constraintsData": {
            "timingConstraint": {
              "recurrenceInterval": "P1Y",
              "startDateReference": "SubscriptionTermStartDate"
            }
          }
        }
]