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 | Sí | Cadena con formato GUID que identifica el producto. |
sku-id | string | Sí | Cadena con formato GUID que identifica la SKU. |
availability-id | string | Sí | Cadena con formato GUID que identifica la disponibilidad. |
código de país | string | Sí | 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": []
}
}
}