SaaS için Ürün Alımı API'si

Ürün Alımı API'si, tüm ticari market ürünlerinde mevcut tüm gönderim API'lerini birleştiren modernleştirilmiş bir API'dir. Kullanmaya başlama hakkında ayrıntılı bilgi için Ürün Alımı API'sine bakın.

Bu makalede, API'lerin özellikle SaaS teklif türü için nasıl kullanılacağına ilişkin yönergeler sağlanır.

Mevcut kaynak yapılandırmalarını alma

Mevcut kaynakları güncelleştirmeden önce en son yapılandırmaya sahip olduğunuzdan emin olmak için bunları almak önemlidir. Get çağrısı aracılığıyla kaynakları almanın çeşitli yolları vardır. Tek bir API çağrısında belirli bir üründeki tüm kaynakları almak için aşağıda ayrıntılı olarak yer alan Yöntem 1'e bakın.

Yöntem 1: Kaynak ağacı

GET resource-tree/<product-durableID>?$version=<schema-version>

Ürünün dayanıklı kimliğiyle birlikte "resource-tree" kaynak türünü kullanarak belirli bir üründeki tüm kaynak yapılandırmalarını alabilirsiniz. Sağladığınız şema sürümü, istenen ürünün geçerli kaynaklarının her biri için desteklenen en yüksek sürüm olarak kullanılır.

Not

Ürünün dayanıklı kimliğini bilmiyorsanız, bunun yerine ürünün dış kimliğini kullanarak ve komutunu çalıştırarak GET product?externalID=<product-externalID>&$version=<product-schema-version>önce ürün kaynağını alabilirsiniz. Bu istek, Yöntem 3'te ayrıntıları verilen bir sorgu dizesi parametresinden yararlanıyor. Yanıt, ürünün gelecekteki istekler için kullanabileceğiniz dayanıklı kimliğini içerir.

Varsayılan olarak, "resource-tree" kullanarak bir GET çağrısı çalıştırdığınızda kaynaklarınızın taslak sürümünü geri alırsınız. Ancak, "targetType" sorgu parametresini geçirerek, "önizleme" veya "canlı" verileri almak için istenen hedefi belirtebilirsiniz. Aşağıdaki örnekte GET çağrısı, "12345678-abcd-efgh-1234-12345678901" ürünü altındaki tüm kaynaklar için önizleme ortamının yapılandırmasını döndürür.

Örnek GET çağrısı:

GET https://graph.microsoft.com/rp/product-ingestion/resource-tree/product/12345678-abcd-efgh-1234-12345678901?targetType="preview"&$version=2022-03-01-preview5

Örnek yanıt:

    {
        "$schema": "https://product-ingestion.azureedge.net/schema/resource-tree/2022-03-01-preview2",
        "root": "product/12345678-abcd-efgh-1234-12345678901",
        "target": {
        "targetType": "preview"
        },
        "resources": [
        { 
        "$schema": "https://product-ingestion.azureedge.net/schema/product/2022-03-01-preview3",
        "id": "product/12345678-abcd-efgh-1234-12345678901",
        "identity": {
            "externalID": "product_external_id_example"
        },
        "type": "softwareAsAService",
        "alias": "product_example"
        },
        { 
        "$schema": "https://product-ingestion.azureedge.net/schema/commercial-marketplace-setup/2022-03-01-preview2",
        "id": "commercial-marketplace-setup/12345678-abcd-efgh-1234-12345678901",
        "product": "product/12345678-abcd-efgh-1234-12345678901",
        "sellThroughMicrosoft": true,
        "useMicrosoftLicenseManagementService": false
        },
        {
        "$schema": "https://product-ingestion.azureedge.net/schema/plan/2022-03-01-preview2",
        "id": "plan/12345678-abcd-efgh-1234-12345678901/98756328-04e9-55ae-9403-52b6c971a956
        ...
        }, 
            // The response would include all existing resources within this product.
        {
            ...
        }]
    }

Kaynak yaşam döngüsü durumları

Bu eşlemeyi bir kaynağın yaşam döngüsü durumuna göre gerçekleştirebileceğiniz farklı eylemler vardır. Tüm kaynakların yaşam döngüsü durumu yoktur ve tüm yaşam döngüsü durumları tüm kaynaklar tarafından desteklenmez. Bir kaynağın yaşam döngüsü durumuna sahip olup olmadığını ve hangi değerlerin desteklendiğini bulmak için kaynak şemasında "lifecycleState" özelliğinin mevcut olup olmadığını kontrol edebilirsiniz. Aşağıda SaaS teklif türü için Kaynak yaşam döngüsü durumunu ayarlamaya yönelik bazı örnekler verilmiştir.

Kullanım Dışı

Kullanımdan kaldırma işlemi, kaynağı ticari marketten kaldırır. Kullanımdan kaldırılacak şekilde, "lifecycleState" özelliğini destekleyen kaynaklarda "kullanım dışı" olarak ayarlayın. Ürün türüne bağlı olarak çeşitli kullanımdan kaldırma düzeyleri desteklenir. Örneğin, SaaS ürünleri söz konusu olduğunda planları veya ürünün tamamını kullanımdan kaldırabilirsiniz. Planlar kullanım dışı bırakıldığında "lifecycleState" değiştirilmeli ve değişikliklerin önizlemede yayımlanması ve kullanımdan kaldırmanın etkili olması için canlı olarak yayımlanması gerekir. Bu, bu ayarın canlı ortamda kullanımdan kaldırılmasını otomatik olarak başlatan ürün düzeyinden farklıdır. Kullanım dışı bırakılmış bir kaynağı daha sonra geri yüklemek için "generallyAvailable" yaşam döngüsü durumuna bakın.

Plan kullanımdan kaldırma örnek isteği:

Aşağıdaki örnekte, bir SaaS ürünü içindeki bir plan kullanımdan kaldıracak şekilde ayarlanmıştır. Bu değişikliği uygulamak için daha sonra gönderim kaynağını kullanarak yayımlayabileceğinizi unutmayın.

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

    {
        "$schema": "https://product-ingestion.azureedge.net/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://product-ingestion.azureedge.net/schema/plan/2022-03-01-preview2",
        "id": "plan/9f8af57f-ab07-461b-8404-50e10e5e80fb/7e70b11f-809e-4c45-ae2f-1fb3ceaca33b",
        "product": "product/9f8af57f-ab07-461b-8404-50e10e5e80fb",
        "identity": { "externalID": "basic" },
        "alias": "basic plan"
        "lifecycleState": "deprecated"
        }
        ]
    }

Ürün kullanımdan kaldırma örneği isteği:

Aşağıdaki örnekte, ürünün canlı gönderimi kullanımdan kaldıracak şekilde ayarlanmıştır. Bu değişiklik uygulandıktan sonra, geçerli olması için canlı yayına otomatik olarak yayımlanır.

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

    {
        "$schema": "https://product-ingestion.azureedge.net/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://product-ingestion.azureedge.net/schema/submission/2022-03-01-preview2 ",
        "id": "submission/9f8af57f-ab07-461b-8404-50e10e5e80fb/1152921515689848683",
        "product": "product/9f8af57f-ab07-461b-8404-50e10e5e80fb",
        "target": {
            "targetType": "live"
            },
        "lifecycleState": "deprecated"
        }
        ]
    }

Genel kullanıma sunuldu

"generallyAvailable", tüm kaynaklar için varsayılan yaşam döngüsü durumudur. Bir kaynak kullanım dışı bırakıldıktan sonra , "lifecycleState" özelliğini "generallyAvailable" olarak değiştirerek geri yükleyebilirsiniz. Kullanım dışı bırakılmış bir ürünü geri yüklemek için ürünü bir kez daha yayımlayarak önizlemesini görüntülemeniz ve sonra da yaşamanız gerekir.

Geri yükleme örnek isteğini planlama:

Aşağıdaki örnekte, bir planın geri yüklenmesi amaçlanmıştır. Bu değişikliği uygulamak için daha sonra gönderim kaynağını kullanarak tüm yaşam yolunu yayımlamanız gerekir.

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-03-01-preview2

    {
        "$schema": "https://product-ingestion.azureedge.net/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://product-ingestion.azureedge.net/schema/plan/2022-03-01-preview2",
        "id": "plan/9f8af57f-ab07-461b-8404-50e10e5e80fb/7e70b11f-809e-4c45-ae2f-1fb3ceaca33b",
        "product": "product/9f8af57f-ab07-461b-8404-50e10e5e80fb",
        "identity": { "externalID": "basic" },
        "alias": "basic plan"
        "lifecycleState": "generallyAvailable"
        }
        ]
    }

Sonraki adımlar