İş Ortağı Merkezi API'lerini kullanarak katalog öğelerinin envanterini denetleme

Belirli bir katalog öğeleri kümesinin envanterini denetleme.

Önkoşullar

  • İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Bir veya daha fazla ürün kimlikleri. İsteğe bağlı olarak, SKU kimlikleri de belirtilebilir.

  • Sağlanan ürün/SKU kimliklerinin başvurduğu SKU'ların envanterini doğrulamak için gereken tüm ek bağlamlar. Bu gereksinimler ürün/SKU türüne göre farklılık gösterebilir ve SKU'nun InventoryVariables özelliğinden belirlenebilir.

C#

Envanteri denetlemek için, denetlenecek her öğe için bir InventoryItem nesnesi kullanarak bir InventoryCheckRequest nesnesi oluşturun. Ardından bir IAggregatePartner.Extensions erişimcisi kullanın, kapsamı Product olarak daraltın ve ardından ByCountry() yöntemini kullanarak ülkeyi/bölgeyi seçin. Son olarak InventoryCheckRequest nesnenizle CheckInventory() yöntemini çağırın.

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 isteği

İstek söz dizimi

Metot İstek URI'si
POST {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

URI parametresi

Envanteri denetlemek için aşağıdaki sorgu parametresini kullanın.

Adı Tür Zorunlu Açıklama
ülke kodu string Yes Ülke/bölge kimliği.

İstek üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

Bir veya daha fazla InventoryItem kaynağı içeren bir InventoryCheckRequest kaynağından oluşan stok isteği ayrıntıları.

İstek gövdesinde belirtilen Azure Aboneliğinin kayıtlı olduğundan ve Azure RI satın almak için etkinleştirildiğinden emin olun. Kayıt işlemiyle ilgili ayrıntılar için bkz . Abonelik Kaydetme.

İstek örneği

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"}}

Önemli

Haziran 2023 itibarıyla en son İş Ortağı Merkezi .NET SDK sürümü 3.4.0 arşivlenmiştir. SDK sürümünü, yararlı bilgiler içeren bir benioku dosyasıyla birlikte GitHub'dan indirebilirsiniz.

İş ortaklarının İş Ortağı Merkezi REST API'lerini kullanmaya devam etmesi teşvik edilir.

REST yanıtı

Başarılı olursa, yanıt gövdesi varsa kısıtlama ayrıntılarıyla doldurulmuş bir InventoryItem nesneleri koleksiyonu içerir.

Not

InventoryItem girdisi katalogda bulunamayan bir öğeyi temsil ederse, çıkış koleksiyonuna dahil edilmeyecektir.

Yanıt başarısı ve hata kodları

Her yanıt, başarılı veya başarısız olduğunu belirten bir HTTP durum kodu ve ek hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz . İş Ortağı Merkezi hata kodları.

Yanıt örneği

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": []
    }
]