API de Ingestão de Produtos para SaaS
A API de ingestão de produtos é uma API modernizada que unifica todas as APIs de envio existentes em todos os produtos de mercado comercial. Consulte a API de ingestão de produtos para obter detalhes sobre como começar.
Este artigo fornece orientação sobre como usar as APIs especificamente para o tipo de oferta SaaS.
Recuperar configurações de recursos existentes
Antes de atualizar os recursos existentes, é importante primeiro recuperá-los para garantir que você tenha a configuração mais recente. Há várias maneiras de recuperar recursos por meio de uma chamada GET. Consulte a seção a seguir, Método 1, para recuperar todos os recursos dentro de um produto específico em uma única chamada de API.
Método 1: Árvore de recursos
GET resource-tree/<product-durableID>?$version=<schema-version>
Você pode recuperar todas as configurações de recursos dentro de um produto específico usando o tipo de recurso "árvore de recursos" junto com a ID durável do produto. A versão do esquema fornecida será usada como a versão máxima suportada para cada um dos recursos aplicáveis do produto solicitado.
Nota
Se você não souber a ID durável do produto, poderá recuperar o recurso do produto primeiro usando a ID externa do produto e executando GET product?externalID=<product-externalID>&$version=<product-schema-version>
. Essa solicitação aproveita um parâmetro de cadeia de caracteres de consulta, que é detalhado no Método 3. A resposta incluirá o ID durável do produto, que você pode usar para solicitações futuras.
Por padrão, quando você executa uma chamada GET usando a "árvore de recursos", você recebe de volta a versão de rascunho de seus recursos. No entanto, passando o parâmetro de consulta "targetType", você pode especificar o destino desejado para recuperar os dados "preview" ou "live". No exemplo a seguir, a chamada GET retorna a configuração do ambiente de visualização para todos os recursos sob o produto "12345678-abcd-efgh-1234-12345678901".
Exemplo de chamada GET:
GET https://graph.microsoft.com/rp/product-ingestion/resource-tree/product/12345678-abcd-efgh-1234-12345678901?targetType="preview"&$version=2022-03-01-preview5
Exemplo de resposta:
{
"$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.
{
...
}]
}
Estados do ciclo de vida dos recursos
Há diferentes ações que você pode executar esse mapa para o estado do ciclo de vida de um recurso. Nem todos os recursos têm um estado de ciclo de vida e nem todos os estados de ciclo de vida são suportados por todos os recursos. Verifique o esquema de recursos para a existência da propriedade lifecycleState para ver se um recurso tem um estado de ciclo de vida e quais valores são suportados. A seguir estão alguns exemplos para definir o estado do ciclo de vida do recurso para o tipo de oferta SaaS.
Preterido
A preterição remove o recurso do mercado comercial. Para depreciar, defina a propriedade "lifecycleState" como "preterida" nos recursos que a suportam. Vários níveis de depreciação são suportados, dependendo do tipo de produto. Por exemplo, para produtos SaaS, você pode depreciar planos ou o produto inteiro. Ao substituir planos, o "lifecycleState" deve ser alterado e as alterações devem ser publicadas para visualização e, em seguida, ao vivo para que a substituição entre em vigor. Isso é diferente de uma descontinuação no nível do produto, na qual essa configuração inicia automaticamente a descontinuação no ambiente ao vivo. Para restaurar posteriormente um recurso preterido, consulte o estado do ciclo de vida "geralmenteDisponível".
Planejar solicitação de amostra de descontinuação:
No exemplo a seguir, um plano dentro de um produto SaaS é definido como depreciado. Lembre-se de que, para aplicar essa alteração, você pode publicar posteriormente usando o recurso de envio.
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"
}
]
}
Solicitação de amostra de substituição do produto:
No exemplo a seguir, o envio ao vivo do produto é definido como depreciado. Uma vez que essa alteração é aplicada, ela é automaticamente publicada ao vivo para entrar em vigor.
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"
}
]
}
Disponibilidade geral
geralmenteDisponível é o estado padrão do ciclo de vida para todos os recursos. Depois que um recurso for preterido, você poderá restaurá-lo alterando a propriedade lifecycleState de volta para generallyAvailable. Para restaurar um produto preterido, você deve publicar o produto mais uma vez para visualizar e, em seguida, para viver.
Planejar solicitação de amostra de restauração:
No exemplo a seguir, um plano deve ser restaurado. Para aplicar essa alteração, você precisará publicar todo o caminho ao vivo usando o recurso de envio.
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"
}
]
}