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


API приема продуктов для SaaS

API приема продукта — это современный API, который объединяет все существующие API отправки для всех продуктов торговой площадки. Для получения детальной информации о том, как начать работу, обратитесь к Product Ingestion API.

В этой статье содержатся рекомендации по использованию API специально для типа предложения SaaS.

Получение существующих конфигураций ресурсов

Прежде чем обновлять существующие ресурсы, необходимо сначала извлечь их, чтобы убедиться, что у вас есть последняя конфигурация. Существует несколько способов извлечения ресурсов с помощью вызова GET. См. следующий раздел, метод 1, чтобы получить все ресурсы в определенном продукте в одном вызове API.

Метод 1. Дерево ресурсов

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

Вы можете получить все конфигурации ресурсов в определённом продукте, используя тип ресурса «resource-tree» и устойчивый идентификатор продукта. Указанная версия схемы будет использоваться в качестве максимально поддерживаемой версии для каждого из применимых ресурсов запрошенного продукта.

Заметка

Если вы не знаете постоянный идентификатор продукта, вы можете сначала получить ресурс продукта, используя его внешний идентификатор, и запустить GET product?externalID=<product-externalID>&$version=<product-schema-version>. Этот запрос использует параметр строки запроса, который подробно описан в методе 3. Ответ будет содержать устойчивый идентификатор продукта, который можно использовать для будущих запросов.

По умолчанию при запуске вызова GET с помощью "resource-tree" вы вернетесь к черновику ресурсов. Однако, передав параметр запроса TargetType, можно указать нужный целевой объект для получения данных предварительной версии или live. В следующем примере вызов GET возвращает конфигурацию среды предварительной версии для всех ресурсов в продукте "12345678-abcd-efgh-1234-1235678901".

пример вызова GET:

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

пример ответа:

    {
        "$schema": "https://schema.mp.microsoft.com/schema/resource-tree/2022-03-01-preview2",
        "root": "product/12345678-abcd-efgh-1234-12345678901",
        "target": {
        "targetType": "preview"
        },
        "resources": [
        { 
        "$schema": "https://schema.mp.microsoft.com/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://schema.mp.microsoft.com/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://schema.mp.microsoft.com/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.
        {
            ...
        }]
    }

Состояния жизненного цикла ресурсов

Существуют различные действия, которые можно сопоставить с состоянием жизненного цикла ресурса. Не все ресурсы имеют состояние жизненного цикла, а не все состояния жизненного цикла поддерживаются всеми ресурсами. Проверьте схему ресурсов для существования свойства жизненного цикла, чтобы узнать, имеет ли ресурс состояние жизненного цикла и какие значения поддерживаются. Ниже приведены некоторые примеры настройки состояния жизненного цикла ресурсов для типа предложения SaaS.

Устаревший

Устаревание удаляет ресурс из коммерческой платформы. Чтобы обозначить устаревание, задайте для свойства "lifecycleState" значение "устаревший" для ресурсов, поддерживающих его. В зависимости от типа продукта поддерживаются различные уровни нерекомендуемого использования. Например, для продуктов SaaS, можно отказаться от использования планов или всего продукта. При устаревании планов необходимо изменить "состояние жизненного цикла", а затем изменения должны быть опубликованы в режиме предварительного просмотра, и затем на живом сервере для вступления в силу устаревания. Это отличается от устаревания на уровне продукта, при котором установка этого параметра автоматически запускает процесс устаревания в рабочей среде. Чтобы позже восстановить устаревший ресурс, обратитесь к состоянию жизненного цикла "общедоступный".

пример запроса на устаревание плана:

В следующем примере план в продукте на основе SaaS подлежит устареванию. Помните, что позже можно опубликовать изменения с помощью ресурса отправки.

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

    {
        "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://schema.mp.microsoft.com/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"
        }
        ]
    }

пример запроса на отмену продукта:

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

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

    {
        "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://schema.mp.microsoft.com/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"
        }
        ]
    }

Общедоступная версия

, как правило, общедоступность — это состояние жизненного цикла по умолчанию для всех ресурсов. При устаревании ресурса его можно восстановить, изменив свойство жизненного цикла обратно в состояние GenerallyAvailable. Чтобы восстановить устаревший продукт, необходимо повторно опубликовать его сначала в предварительной версии, а затем сделать его доступным для всех.

пример запроса на восстановление:

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

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

    {
        "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-03-01-preview2"
        "resources": [
        {
        "$schema": "https://schema.mp.microsoft.com/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"
        }
        ]
    }