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


Проверка инвентаризации элементов каталога с помощью API Центра партнеров

Как проверка инвентаризацию для определенного набора элементов каталога.

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

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

  • Один или несколько идентификаторов продуктов. При необходимости можно указать идентификаторы SKU.

  • Любой дополнительный контекст, необходимый для проверки инвентаризации номеров SKU, на которые ссылается предоставленный идентификатор продукта или номера SKU. Эти требования могут отличаться по типу продукта или номера SKU и могут быть определены из свойства InventoryVariables SKU.

C#

Чтобы проверка инвентаризации, создайте объект InventoryCheckRequest с помощью объекта InventoryItem для каждого элемента, проверка. Затем используйте метод доступа IAggregatePartner.Extensions, область его вниз до Product, а затем выберите страну или регион с помощью метода ByCountry(). Наконец, вызовите метод CheckInventory() с объектом InventoryCheckRequest .

IAggregatePartner partnerOperations;
string customerId;
string subscriptionId;
string countryCode;
string productId;

// Build the inventory check request details object.
var inventoryCheckRequest = new InventoryCheckRequest()
{
    TargetItems = new InventoryItem[]{ new InventoryItem { ProductId = productId } },
    InventoryContext = new Dictionary<string, string>()
    {
      { "customerId", customerId },
      { "azureSubscriptionId", subscriptionId }
      { "armRegionName", armRegionName }
    }
};

// Get the inventory results.
var inventoryResults = partnerOperations.Extensions.Product.ByCountry(countryCode).CheckInventory(inventoryCheckRequest);

Запрос REST

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

Способ URI запроса
POST {baseURL}/v1/extensions/product/проверка Inventory?country={country-code} HTTP/1.1

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

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

Имя. Type Обязательно Описание
код страны строка Да Идентификатор страны или региона.

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

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

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

Сведения о запросе на инвентаризацию, состоящий из ресурса InventoryCheckRequest , содержащего один или несколько ресурсов InventoryItem .

Убедитесь, что подписка Azure, указанная в тексте запроса, зарегистрирована и включена для приобретения RIS Azure. Дополнительные сведения о процессе регистрации см. в статье "Регистрация подписки ".

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

POST https://api.partnercenter.microsoft.com/v1/extensions/product/checkinventory?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
MS-CorrelationId: 4acb26a1-3536-4081-bc7d-092869a4961a
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json

{"TargetItems":[{"ProductId":"DZH318Z0BQ3P"}],"InventoryContext":{"customerId":"d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d","azureSubscriptionId":"3A231FBE-37FE-4410-93FD-730D3D5D4C75","armRegionName":"Europe"}}

Важно!

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

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

Ответ REST

В случае успешного выполнения текст ответа содержит коллекцию объектов InventoryItem, заполненных сведениями об ограничении, если они применяются.

Примечание.

Если входной InventoryItem представляет элемент, который не удалось найти в каталоге, он не будет включен в выходную коллекцию.

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

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

Пример ответа

HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 4acb26a1-3536-4081-bc7d-092869a4961a
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
X-Locale: en-US
[
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0039",
        "isRestricted": true,
        "restrictions": [
            {
                "reasonCode": "NotAvailableForSubscription",
                "description": "Restriction identified of type 'Location' with values 'japanwest'.",
                "properties": {
                    "type": "Location",
                    "values": "japanwest"
                }
            }
        ]
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0038",
        "isRestricted": true,
        "restrictions": [
            {
                "reasonCode": "NotAvailableForSubscription",
                "description": "Restriction identified of type 'Location' with values 'japanwest'.",
                "properties": {
                    "type": "Location",
                    "values": "japanwest"
                }
            }
        ]
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "000S",
        "isRestricted": false,
        "restrictions": []
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0011",
        "isRestricted": false,
        "restrictions": []
    }
]