API приема продуктов для SaaS
API приема продуктов — это обновленный API, который объединяет все существующие API отправки во всех продуктах коммерческой платформы. Дополнительные сведения о начале работы см. в 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 можно нерекомендуть планы или весь продукт. При отмене планов необходимо изменить "жизненный цикл", а затем изменения должны быть опубликованы для предварительной версии, а затем в реальном времени для принятия в силу нерекомендуемого действия. Это отличается от нерекомендуемого уровня продукта, при котором этот параметр автоматически запускает нерекомендуацию в динамической среде. Чтобы позже восстановить устаревший ресурс, обратитесь к состоянию жизненного цикла "generallyAvailable".
Пример запроса на отмену плана:
В следующем примере план в продукте 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"
}
]
}
Общедоступная версия
Как правило,available — это состояние жизненного цикла по умолчанию для всех ресурсов. После того как ресурс не рекомендуется, его можно восстановить, изменив свойство lifecycleState обратно на общее значениеAvailable. Чтобы восстановить устаревший продукт, необходимо еще раз опубликовать продукт для предварительной версии, а затем жить.
Пример запроса на восстановление плана:
В следующем примере план предназначен для восстановления. Чтобы применить это изменение, позже необходимо опубликовать весь способ жизни с помощью ресурса отправки.
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"
}
]
}