Поделиться через


Получение доступности по идентификатору

Возвращает доступность указанного продукта и номера SKU с помощью идентификатора доступности. Идентификаторы доступности являются изменяемыми и динамическими, они регулярно перезаписываются. Партнеры всегда должны получать текущую доступность при отправке элементов строки корзины или выполнении других действий, требующих идентификатора доступности.

Необходимые компоненты

  • Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.

  • Идентификатор продукта.

  • Идентификатор SKU.

  • Идентификатор доступности.

C#

Чтобы получить сведения о конкретной доступности, начните с действий, описанных в разделе "Получение номера SKU по идентификатору ", чтобы получить интерфейс для определенных операций SKU . В результирующем интерфейсе выберите свойство Availabilities , чтобы получить интерфейс с доступными операциями для доступности. После этого передайте идентификатор доступности методу ById(), чтобы получить операции для этой конкретной доступности, а затем вызовите Get() или GetAsync(), чтобы получить сведения о доступности.

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

Пакет SDK для Java центра партнеров можно использовать для управления ресурсами Центра партнеров. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. При необходимости вы можете получить помощь от сообщества или опубликовать проблему в GitHub.

Чтобы получить сведения о конкретной доступности, начните с действий, описанных в разделе "Получение номера SKU по идентификатору ", чтобы получить интерфейс для определенных операций SKU . В результирующем интерфейсе выберите функцию getAvailabilities , чтобы получить интерфейс с доступными операциями для доступности. После этого передайте идентификатор доступности функции byId(), чтобы получить операции для этой конкретной доступности, а затем вызовите функцию get(), чтобы получить сведения о доступности.

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

Модуль PowerShell Центра партнеров можно использовать для управления ресурсами Центра партнеров. Это проект с открытым исходным кодом, поддерживаемый сообществом партнеров и официально не поддерживаемый корпорацией Майкрософт. При необходимости вы можете получить помощь от сообщества или опубликовать проблему в GitHub.

Чтобы получить сведения о конкретной доступности, выполните get-PartnerProductAvailabilityи укажите параметры AvailabilityId, CountryCode, ProductId и SkuId, чтобы получить сведения о доступности.

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

Запрос REST

Синтаксис запроса

Способ URI запроса
GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities/{availability-id}?country={country-code} HTTP/1.1

Параметр универсального кода ресурса

Используйте следующий путь и параметры запроса, чтобы получить определенную доступность с помощью идентификатора доступности.

Имя. Type Обязательно Описание
product-id строка Да Строка с форматированием GUID, определяющая продукт.
sku-id строка Да Строка с форматированием GUID, определяющая номер SKU.
идентификатор доступности строка Да Строка с форматированием GUID, которая определяет доступность.
код страны строка Да Идентификатор страны или региона.

Заголовки запросов

Дополнительные сведения см. в статье о заголовках REST Центра партнеров.

Текст запроса

Нет.

Пример запроса

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: 83b644b5-e54a-4bdc-b354-f96c525b3c58
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Host: api.partnercenter.microsoft.com

Внимание

По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать выпуск пакета SDK из GitHub вместе с файлом чтения, содержащим полезные сведения.

Партнерам рекомендуется продолжать использовать REST API Центра партнеров.

Ответ REST

В случае успешного выполнения текст ответа содержит ресурс доступности .

Коды успешного выполнения и ошибок в ответе

Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. Полный список см. в разделе "Коды ошибок Центра партнеров".

Этот метод возвращает следующие коды ошибок:

Код состояния HTTP Код ошибки Description
404 400013 Продукт не найден.
404 400018 Номер SKU не найден.
404 400019 Доступность не найдена. Эта ошибка может возникать при извлечении корзины. Партнеры, которые получают эту ошибку, должны выдавать новый GET, чтобы убедиться, что у них есть текущий идентификатор доступности и повторить извлечение корзины.

Пример ответа для резервирования виртуальных машин Azure (план 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: 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": []
        }
    }
}

Пример ответа для новых коммерческих служб на основе лицензий

Примечание.

Новые возможности коммерческой торговли для служб на основе лицензий включают множество новых возможностей и доступны для всех поставщик облачных решений (ПОСТАВЩИКОВ УСЛУГ). Дополнительные сведения см . в обзоре новых коммерческих возможностей.

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"
                        }
                    ]
                }
            ]
        },
       …
    ],
    "product": { ... },
    "sku": { ... },
    "links": {
        "self": {
            "uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
            "method": "GET",
            "headers": []
        }
    }
}