Partager via


API d’ingestion de produit pour SaaS

L’API d’ingestion de produit est une API modernisée qui unifie toutes les API de soumission existantes sur tous les produits de la Place de marché commerciale. Pour plus d’informations sur la prise en main, reportez-vous à l’API d’ingestion de produit.

Cet article fournit des conseils sur l’utilisation des API spécifiquement pour le type d’offre SaaS.

Récupérer les configurations de ressources existantes

Avant de mettre à jour les ressources existantes, il est important de les récupérer pour vous assurer que vous disposez de leur dernière configuration. Il existe plusieurs façons de récupérer des ressources via un appel GET. Consultez la section suivante, méthode 1, pour récupérer toutes les ressources au sein d’un produit spécifique dans un seul appel d’API.

Méthode 1 : arborescence des ressources

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

Vous pouvez récupérer toutes les configurations de ressources au sein d’un produit spécifique en utilisant le type de ressource « resource-tree », ainsi que l’ID durable du produit. La version de schéma que vous fournissez sera utilisée comme version maximale prise en charge pour chacune des ressources applicables du produit demandé.

Remarque

Si vous ne connaissez pas l’ID durable du produit, vous pouvez d’abord récupérer la ressource de produit à l’aide de l’ID externe du produit et en cours d’exécution GET product?externalID=<product-externalID>&$version=<product-schema-version>. Cette requête tire parti d’un paramètre de chaîne de requête, qui est détaillé dans la méthode 3. La réponse inclut l’ID durable du produit, que vous pouvez utiliser pour les demandes futures.

Par défaut, lorsque vous exécutez un appel GET à l’aide de l'« arborescence des ressources », vous récupérez la version brouillon de vos ressources. Toutefois, en passant le paramètre de requête « targetType », vous pouvez spécifier la cible souhaitée pour récupérer les données « preview » ou « live ». Dans l’exemple suivant, l’appel GET retourne la configuration de l’environnement d’aperçu pour toutes les ressources sous le produit « 12345678-abcd-efgh-1234-12345678901 ».

Exemple d’appel GET :

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

Exemple de réponse :

    {
        "$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.
        {
            ...
        }]
    }

États du cycle de vie des ressources

Vous pouvez effectuer différentes actions qui correspondent à l’état de cycle de vie d’une ressource. Toutes les ressources n’ont pas d’état de cycle de vie et tous les états de cycle de vie ne sont pas pris en charge par toutes les ressources. Vérifiez l’existence du lifecycleState de propriété pour vérifier si une ressource a un état de cycle de vie et quelles valeurs sont prises en charge. Voici quelques exemples pour définir l’état du cycle de vie des ressources pour le type d’offre SaaS.

Déprécié

La dépréciation supprime la ressource de la place de marché commerciale. Pour déprécier, définissez la propriété « lifecycleState » sur « déconseillée » sur les ressources qui le prennent en charge. Différents niveaux de dépréciation sont pris en charge en fonction du type de produit. Par exemple, pour les produits SaaS, vous pouvez déprécier des plans ou l’ensemble du produit. Lors de la dépréciation des plans, l’état du cycle de vie doit être modifié et les modifications doivent ensuite être publiées en préversion, puis en direct pour que la dépréciation prenne effet. Cela est différent d’une dépréciation au niveau du produit dans laquelle la définition de ce paramètre lance automatiquement la dépréciation dans l’environnement actif. Pour restaurer ultérieurement une ressource déconseillée, reportez-vous à l’état de cycle de vie « généralementavailable ».

Exemple de demande de dépréciation de plan :

Dans l’exemple suivant, un plan au sein d’un produit SaaS est défini pour déprécier. N’oubliez pas que pour appliquer cette modification, vous pouvez publier ultérieurement à l’aide de la ressource de soumission.

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"
        }
        ]
    }

Exemple de demande de dépréciation du produit :

Dans l’exemple suivant, la soumission dynamique du produit est définie pour déprécier. Une fois cette modification appliquée, elle est automatiquement publiée pour prendre effet.

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"
        }
        ]
    }

Disponibilité générale

généralementAvailable est l’état de cycle de vie par défaut pour toutes les ressources. Une fois qu’une ressource est déconseillée, vous pouvez la restaurer en modifiant la propriété lifecycleState en généralAvailable. Pour restaurer un produit déconseillé, vous devez publier le produit une fois de plus en préversion, puis en direct.

Exemple de demande de restauration de plan :

Dans l’exemple suivant, un plan est destiné à être restauré. Pour appliquer cette modification, vous devez publier ultérieurement tout le moyen de vivre à l’aide de la ressource de soumission.

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"
        }
        ]
    }