Проверка инвентаризации элементов каталога с помощью API Центра партнеров
Как проверить инвентаризацию определенного набора элементов каталога.
Необходимые условия
Учетные данные, как описано в аутентификации Центра партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономного приложения и учетных данных приложения и пользователя.
Один или несколько идентификаторов продуктов. При необходимости можно указать идентификаторы 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/checkInventory?country={country-code} HTTP/1.1 |
Параметр URI
Используйте следующий параметр запроса для проверки инвентаризации.
Имя | Тип | Обязательно | Описание |
---|---|---|---|
код страны | струна | Да | Идентификатор страны или региона. |
Заголовки запросов
Дополнительные сведения см. в заголовках Центра партнеров 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: aaaa0000-bb11-2222-33cc-444444dddddd
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вместе с файлом ReadMe, который содержит полезные сведения.
Партнерам рекомендуется продолжать использовать REST API партнёрского центра.
Ответ REST
В случае успешного выполнения текст ответа содержит коллекцию объектов InventoryItem, заполненных сведениями об ограничении, если они применяются.
Заметка
Если входной InventoryItem представляет элемент, который не удалось найти в каталоге, он не будет включен в выходную коллекцию.
Коды успешных ответов и ошибок
Каждый ответ содержит код состояния HTTP, указывающий на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и дополнительных параметров. Полный список см. в коды ошибок Центра партнеров.
Пример ответа
HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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": []
}
]