API de ingestão de produtos para recipientes
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 contêineres.
Recuperar configurações de recursos existentes
Recupere todos os recursos de um produto específico em uma única chamada de API.
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 é 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. Para saber mais, consulte API do produto: método 1: árvore de recursos.
Exemplo de chamada GET:
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": "azureContainer",
"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
},
{
"$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.
{
...
}]
}
Sincronizar audiências privadas
Para um produto ao vivo, as atualizações para audiências privadas no rascunho, visualização e ambientes ao vivo podem ser realizadas ao mesmo tempo sem a necessidade de uma publicação. Você pode sincronizar o público privado usando o recurso "preço-e-disponibilidade-atualização-audiências-privadas" especificando quais públicos você deseja adicionar ou remover de um plano específico. Isso sincronizará os ambientes de rascunho, visualização e ao vivo para ter os mesmos valores de audiência privada. Você não precisa fornecer o recurso de envio ao sincronizar a audiência privada.
Para editar as audiências de rascunho, use o recurso "plano de preço e disponibilidade" e a propriedade "privateAudiences". Isso precisará passar pelo fluxo de publicação regular para que os valores sejam definidos na visualização e ao vivo.
Importante
Se o seu produto suportar mais de um tipo de identificador para configurar a audiência privada (por exemplo, IDs de locatário e IDs de assinatura), você deverá executar uma publicação completa se fornecer um novo tipo de identificador pela primeira vez. Neste caso, não é possível sincronizar a audiência privada.
Exemplo de solicitação para sincronizar a configuração de audiência privada:
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/price-and-availability-update-private-audiences/2022-03-01-preview3",
"product": "product/12345678-abcd-efgh-1234-12345678901", // product durable ID
"plan": "plan/12345678-abcd-efgh-1234-12345678901/7e70b11f-809e-4c45-ae2f-1fb3ceaca33b", //plan durable ID
"privateAudiences":
{
"add ":
[
{
"type": "tenant",
"id": " c0cab000-5c00-2ae9-acbe-f5f0bb264498 ",
"label": "test 1"
}
],
"remove ":
[
{
"type": "tenant",
"id": " d1cab000-6c06-4ae9-acbe-b5f0bb264498 ",
"label": "test 2"
}
]
}
}
]
}
Configurar Propriedades
Defina as categorias e setores aplicáveis ao seu produto de contêiner, à versão do aplicativo e aos contratos legais. Certifique-se de fornecer detalhes completos e precisos sobre seu produto no recurso Propriedades, para que ele seja exibido adequadamente e oferecido ao conjunto certo de clientes. Para saber mais, consulte Categorias do Appsource.
Propriedades de configuração do corpo da solicitação de exemplo:
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/property/2022-03-01-preview5",
"id": "property/a8b48be1-a630-41b5-b5a5-c2a9f7789922/public/main",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"kind": "azureContainer",
"termsConditions": "standardMicrosoft",
"categories": {
"containers": [
"container-apps",
"container-images"
]
}
}
]
}
Configurar listagem
As informações fornecidas por meio de recursos de listagem são exibidas nas lojas online do mercado comercial da Microsoft. Isso inclui as descrições do seu produto, capturas de tela e seus ativos de marketing.
Corpo de solicitação de exemplo configurando listagem:
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/listing/2022-03-01-preview5",
"id": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azureContainer",
"title": "ContainerCM0815",
"description": "<div>This offer is in the early stages of development and not for general public consumption. Use is restricted to a limited audience, and has no commercial purpose beyond the testing for which it is intended.</div>",
"searchResultSummary": "Container product",
"shortDescription": "This offer is in the early stages of development and not for general public consumption",
"privacyPolicyLink": "https://www.company.com/privacy",
"generalLinks": [
{
"displayText": "Product link",
"link": "https://www.company.com/mkt",
}
],
"globalSupportWebsite": "https://testprivacyurl.com",
"governmentSupportWebsite": "https://testprivacyurl.com",
"supportContact": {
"name": "Support",
"email": "support@company.com",
"phone": "4255555555"
},
"engineeringContact": {
"name": "Engineering",
"email": "john@company.com",
"phone": "4255555555"
},
"cloudSolutionProviderContact": {
"name": "CSP",
"email": "csp@company.com",
"phone": "4255555555"
},
"languageID": "en-us"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"type": "azureLogoScreenshot",
"languageID": "en-us",
"description": "Image caption",
"displayOrder": 0,
"fileName": "test.png",
"friendlyName": "test.png",
"url": "https://company.com/12345/test.png"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-asset/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"type": "azureLogoLarge",
"languageID": "en-us",
"description": "",
"displayOrder": 0,
"fileName": "216x216.png",
"friendlyName": "216x216.png",
"url": "https://company.com/12345/216x216.png"
},
{
"$schema": "https://schema.mp.microsoft.com/schema/listing-trailer/2022-03-01-preview5",
"product": "product/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b",
"kind": "azure",
"listing": "listing/6d50c7bd-eb19-4d4c-b2f0-beb14aee084b/public/main/default/en-us",
"streamingUrl": "https://www.youtube.com/watch?v=123",
"assets": {
"en-us": {
"title": "Video",
"imageList": [
{
"url": "https://company.com/12345/trailer.png"
}
]
}
}
}
]
}
Configurar audiência de visualização
Se o seu produto de contêiner for vendido por meio do Microsoft Marketplace, você precisará definir um público de visualização, por meio de IDs de assinatura, que poderá revisar sua listagem de produtos antes que ela seja ativada.
Corpo de solicitação de exemplo configurando o público de visualização:
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/price-and-availability-offer/2022-03-01-preview3",
"id": "price-and-availability-offer/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"previewAudiences": [
{
"type": "subscription",
"id": "c2d12fa0-c012-33b0-b0a0-c0a0a0011222",
"label": "Test Subscription"
}
]
}
]
}
Configurar um plano - configuração técnica
Forneça um nome de tipo de extensão de cluster no formato 'PublisherName.ApplicationName'. O nome deve ser único em todas as suas ofertas e planos. Não é possível modificar esse valor depois que o plano for publicado na Visualização. Para saber mais, consulte Definir configuração técnica de plano para uma oferta de contêiner baseada em aplicativo Kubernetes. Para saber mais, consulte Ativos técnicos de contêiner do Azure.
Corpo de solicitação de amostra configurando a configuração técnica transacionável:
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/container-plan-technical-configuration/2022-03-01-preview3",
"id": "container-plan-technical-configuration/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/4db792e6-8e10-439d-9db2-a0e98fa7e174",
"payloadType": " cnab",
"clusterExtensionType": " unique.extension.type",
"cnabReferences": [
{
"tenantID": "421c00000-ac12-451e-b3ff-c5b469a13e2d",
"subscriptionID": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "TestResources",
"registryName": "testregistry",
"repositoryName": "containerrepo",
"tag": "1.0.4",
"digest": "sha256:000193bfefde1e9"
},
]
},
]
}
Configurar um plano - preço e disponibilidade
Corpo de solicitação de exemplo configurando um plano oculto:
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/price-and-availability-plan/2022-03-01-preview4",
"product": "product/a8b48be1-a630-41b5-b5a5-c2a9f7789922",
"plan": "plan/a8b48be1-a630-41b5-b5a5-c2a9f7789922/0abbe45b-c405-4c08-bb14-ec485002084e",
"visibility": "hidden",
"audience": "public"
}
]
}
O Container oferece suporte a várias opções de faturamento. Para saber mais sobre os modelos de faturação suportados, consulte Opções de licenciamento.
Versões e atualizações da API
Atualização | O que mudou? |
---|---|
1-2024 | Todos os pontos de extremidade do esquema foram atualizados de product-ingestion.azureedge.net para schema.mp.microsoft.com |