API för produktinmatning för SaaS
API:et för produktinmatning är ett moderniserat API som förenar alla befintliga api:er för insändning i alla produkter på den kommersiella marknadsplatsen. Mer information om hur du kommer igång finns i API för produktinmatning.
Den här artikeln innehåller vägledning om hur du använder API:er specifikt för SaaS-erbjudandetyp.
Hämta befintliga resurskonfigurationer
Innan du uppdaterar befintliga resurser är det viktigt att först hämta dem för att se till att du har den senaste konfigurationen. Det finns flera sätt att hämta resurser via ett GET-anrop. Se följande avsnitt, Metod 1, för att hämta alla resurser inom en specifik produkt i ett enda API-anrop.
Metod 1: Resursträd
GET resource-tree/<product-durableID>?$version=<schema-version>
Du kan hämta alla resurskonfigurationer i en specifik produkt med resurstypen "resource-tree" tillsammans med produktens hållbara ID. Den schemaversion som du anger används som högsta möjliga version för var och en av de tillämpliga resurserna för den begärda produkten.
Kommentar
Om du inte känner till produktens varaktiga ID kan du hämta produktresursen först genom att använda produktens externa ID i stället och köra GET product?externalID=<product-externalID>&$version=<product-schema-version>
. Den här begäran använder en frågesträngsparameter som beskrivs i metod 3. Svaret innehåller produktens varaktiga ID, som du kan använda för framtida begäranden.
När du kör ett GET-anrop med hjälp av "resource-tree" får du som standard tillbaka utkastversionen av dina resurser. Men genom att skicka frågeparametern "targetType" kan du ange önskat mål för att hämta "förhandsversion" eller "live"-data. I följande exempel returnerar GET-anropet konfigurationen av förhandsgranskningsmiljön för alla resurser under produkten "12345678-abcd-efgh-1234-12345678901".
Exempel på GET-anrop:
GET https://graph.microsoft.com/rp/product-ingestion/resource-tree/product/12345678-abcd-efgh-1234-12345678901?targetType="preview"&$version=2022-03-01-preview5
Exempelsvar:
{
"$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.
{
...
}]
}
Tillstånd för resurslivscykel
Det finns olika åtgärder som du kan vidta för att mappa till en resurs livscykeltillstånd. Alla resurser har inte ett livscykeltillstånd och alla livscykeltillstånd stöds inte av alla resurser. Kontrollera resursschemat för förekomsten av egenskapen lifecycleState för att se om en resurs har ett livscykeltillstånd och vilka värden som stöds. Här följer några exempel för att ange resurslivscykeltillståndet för SaaS-erbjudandetypen.
Inaktuell
Utfasning tar bort resursen från den kommersiella marknadsplatsen. Om du vill bli inaktuell anger du egenskapen "lifecycleState" till "inaktuell" på de resurser som stöder den. Olika utfasningsnivåer stöds beroende på produkttyp. För SaaS-produkter kan du till exempel inaktuella planer eller hela produkten. Vid inaktuella planer måste "lifecycleState" ändras och ändringarna måste sedan publiceras till förhandsversionen och sedan live för att utfasningen ska börja gälla. Detta skiljer sig från en utfasning på produktnivå där inställningen automatiskt startar utfasningen i den aktiva miljön. Om du vill återställa en inaktuell resurs senare läser du livscykeltillståndet "allmänttillgängligt".
Planera utfasningsexempelbegäran:
I följande exempel är en plan i en SaaS-produkt inställd på att föråldras. Kom ihåg att om du vill tillämpa den här ändringen kan du publicera senare med hjälp av överföringsresursen.
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"
}
]
}
Exempelbegäran om produktutfasning:
I följande exempel är livesändningen av produkten inställd på att föråldras. När den här ändringen har tillämpats publiceras den automatiskt live för att börja gälla.
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"
}
]
}
Allmänt tillgängligt
allmäntTillgänglig är standardlivscykeltillståndet för alla resurser. När en resurs är inaktuell kan du återställa den genom att ändra tillbaka egenskapen lifecycleState till allmäntTillgänglig. Om du vill återställa en inaktuell produkt måste du publicera produkten en gång till för att förhandsgranska och sedan leva.
Planera begäran om återställningsexempel:
I följande exempel är en plan avsedd att återställas. Om du vill tillämpa den här ändringen måste du senare publicera hela vägen till live med hjälp av överföringsresursen.
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"
}
]
}