Gérer les lots de produits API

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Regroupez un ou plusieurs produits d'API dans un seul conteneur monétisé, appelé groupe de produits d'API, comme décrit dans les sections suivantes.

Qu'est-ce qu'un groupe de produits d'API ?

Un groupe de produits d'API est un ensemble de produits d'API présenté aux développeurs sous forme de groupe et généralement associé à un ou plusieurs plans tarifaires pour la monétisation. Vous pouvez créer plusieurs groupes de produits d'API et inclure un ou plusieurs produits d'API dans chacun d'eux. Vous pouvez placer le même produit ou les mêmes produits d'API dans différents groupes et les associer à des plans tarifaires différents (ou identiques).

Les développeurs ne peuvent enregistrer leurs applications pour utiliser un groupe de produits d'API qu'en achetant l'un des plans tarifaires actuellement en vigueur. Un groupe de produits d'API n'est visible pour les développeurs que lorsque vous ajoutez et publiez (en tant que public) un plan tarifaire pour le groupe de produits (avec une date de début correspondant à la date actuelle ou à une date ultérieure), comme décrit dans la section Gérer les plans tarifaires. Une fois que vous avez ajouté et publié un plan tarifaire, les développeurs qui se connectent à votre portail de développement peuvent sélectionner le groupe de produits d'API et choisir le plan tarifaire. Vous pouvez également accepter un plan tarifaire pour un développeur à l'aide de l'API de gestion. Pour en savoir plus, consultez la section Acheter des plans tarifaires publiés à l'aide de l'API.

Une fois que vous avez ajouté un produit d'API à un groupe de produits d'API, vous devrez peut-être configurer des niveaux de prix pour le produit d'API. Vous ne devez le faire que si toutes les conditions suivantes sont remplies :

  • Vous configurez un plan tarifaire de partage des revenus pour le produit d'API.
  • Les développeurs facturent des tiers pour l'utilisation des ressources dans le produit d'API.
  • Il existe une restriction minimale ou maximale sur le montant que les développeurs peuvent facturer, et vous souhaitez les informer de cette restriction.

Les prix minimal et maximal s'affichent dans les détails du groupe de produits d'API.

Explorer la page "Groupes de produits"

Accédez à la page "Groupes de produits", comme décrit ci-dessous.

Edge

Pour accéder à la page des groupes de produits d'API à l'aide de l'interface utilisateur Edge, sélectionnez Publier > Monétisation > Groupes de produits dans la barre de navigation de gauche.

Comme le montre la figure précédente, la page "Groupes de produits" vous permet d'effectuer les opérations suivantes :

  • Afficher des informations récapitulatives pour tous les groupes de produits, y compris le nom du groupe et la liste des produits d'API qu'il contient
  • Ajouter un groupe de produits
  • Modifier un groupe de produits
  • Rechercher dans la liste des groupes de produits sur n'importe quel champ visible

Vous ne pouvez gérer les produits d'API dans un groupe de produits ou supprimer un groupe de produits (si aucun plan tarifaire n'est défini) qu'à l'aide de l'API.

Edge classique (Private Cloud)

Pour accéder à la page des packages d'API à l'aide de l'interface utilisateur classique d'Edge, sélectionnez Publier > Packages dans la barre de navigation supérieure.

La page "Packages d'API" vous permet d'effectuer les opérations suivantes :

  • Afficher des informations récapitulatives pour tous les packages d'API, y compris les produits d'API qu'ils contiennent et les plans tarifaires associés
  • Ajouter un package d'API
  • Modifier un package d'API
  • Ajouter et gérer des plans tarifaires
  • Activer/Désactiver le paramètre d'accès au plan tarifaire (public/privé)
  • Filtrer la liste des packages

Vous ne pouvez gérer les produits d'API dans un package d'API ou supprimer un package d'API (si aucun plan tarifaire n'est défini) qu'à l'aide de l'API.

Ajouter un groupe de produits

Pour ajouter un groupe de produits d'API :

  1. Cliquez sur + Groupe de produits d'API sur la page "Groupes de produits".
  2. Saisissez un nom pour le groupe de produits d'API.
  3. Saisissez le nom d'un produit d'API dans le champ "Ajouter un produit".

    Lorsque vous saisissez le nom d'un produit d'API, une liste de produits d'API contenant la chaîne s'affiche dans un menu déroulant. Cliquez sur le nom d'un produit d'API pour l'ajouter au groupe. Répétez l'opération pour ajouter d'autres produits d'API.

  4. Répétez l'étape 3 pour ajouter d'autres noms de produits d'API.
  5. Pour chaque produit d'API que vous ajoutez, configurez la règle d'enregistrement des transactions.
  6. Cliquez sur Enregistrer le groupe de produits.

Modifier un groupe de produits

Pour modifier un groupe de produits :

  1. Sur la page "Groupes de produits", cliquez dans la ligne du groupe de produits que vous souhaitez modifier.

    Le panneau du groupe de produits s'affiche.

  2. Modifiez les champs du groupe de produits selon vos besoins.

    Pour en savoir plus, consultez la section Configurer la règle d'enregistrement des transactions.

  3. Cliquez sur Mettre à jour le groupe de produits.

Gérer les groupes de produits d'API à l'aide de l'API

Les sections suivantes décrivent comment gérer les groupes de produits d'API à l'aide de l'API.

Créer un groupe de produits d'API à l'aide de l'API

Pour créer un groupe de produits d'API, envoyez une requête POST à /organizations/{org_name}/monetization-packages. Lorsque vous envoyez la requête, vous devez :

  • Identifier les produits d'API à inclure dans le groupe de produits d'API.
  • Spécifier un nom et une description pour le groupe de produits d'API.
  • Définir un indicateur d'état pour le groupe de produits d'API. L'indicateur d'état peut avoir l'une des valeurs suivantes : CREATED, ACTIVE, INACTIVE. Actuellement, la valeur de l'indicateur d'état que vous spécifiez est conservée dans le groupe de produits d'API, mais elle n'est utilisée à aucune fin.

Vous pouvez également spécifier l'organisation.

Pour obtenir la liste des options exposées à l'API, consultez la section Propriétés de configuration des groupes de produits d'API.

Exemple :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Voici un exemple de réponse :

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

Notez que la réponse inclut des informations supplémentaires sur les produits d'API et tous les attributs personnalisés spécifiés pour ces produits d'API. (Les attributs personnalisés sont spécifiés lorsque vous créez un produit d'API.) Les attributs personnalisés d'un produit d'API peuvent être pris en compte dans différents plans tarifaires. Par exemple, si vous configurez un plan tarifaire dans lequel vous facturez le développeur pour chaque transaction, vous pouvez définir le tarif du plan en fonction d'un attribut personnalisé tel que le nombre d'octets transmis dans une transaction.

Gérer les produits d'API dans un groupe de produits d'API à l'aide de l'API

Vous pouvez ajouter ou supprimer un produit d'API d'un groupe de produits d'API à l'aide de l'API, comme décrit dans les sections suivantes.

Ajouter un produit d'API à un groupe de produits d'API

Pour ajouter un produit d'API à un groupe de produits d'API, envoyez une requête POST à organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, où {org_name} spécifie le nom de votre organisation, {package_id} spécifie le nom du groupe de produits d'API et {product_id} spécifie l'ID du produit d'API.

Exemple :

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Ajouter un produit d'API à un groupe de produits d'API avec des plans tarifaires spécifiques au produit d'API

Pour ajouter un produit d'API à un groupe de produits d'API qui comporte un ou plusieurs plans tarifaires spécifiques au produit d'API définis (tarif ou partage des revenus), envoyez une requête POST à organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, où {org_name} spécifie le nom de votre organisation, {package_id} spécifie le nom du groupe de produits d'API et {product_id} spécifie l'ID du produit d'API.

Vous devez transmettre les détails du plan tarifaire pour le nouveau produit d'API dans le corps de la requête. À l'exception de le ratePlanRates tableau, les valeurs du plan tarifaire doivent correspondre à celles spécifiées pour tous les autres produits d'API. Pour en savoir plus sur les attributs de plan tarifaire qui peuvent être définis, consultez la section Propriétés de configuration des plans tarifaires.

Exemple :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Supprimer un produit d'API d'un groupe de produits d'API

Pour supprimer un produit d'API d'un groupe de produits d'API, envoyez une requête DELETE à organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, où {org_name} spécifie le nom de votre organisation, {package_id} spécifie le nom du groupe de produits d'API et {product_id} spécifie l'ID du produit d'API.

Exemple :

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Afficher les groupes de produits d'API à l'aide de l'API

Vous pouvez récupérer un groupe de produits d'API spécifique ou tous les groupes de produits d'API d'une organisation. Vous pouvez également récupérer les groupes de produits d'API qui comportent des transactions dans une plage de dates donnée, c'est-à-dire uniquement les packages pour lesquels les utilisateurs appellent des applications qui accèdent aux API de ces packages dans une date de début et de fin spécifiées.

Afficher un groupe de produits d'API spécifique : pour récupérer un groupe de produits d'API spécifique, envoyez une requête GET à /organizations/{org_name}/monetization-packages/{package_id}, où {package_id} est l'identification du groupe de produits d'API (l'ID est renvoyé dans la réponse lorsque vous créez le groupe de produits d'API). Exemple :

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

Afficher tous les groupes de produits d'API : pour récupérer tous les groupes de produits d'API d'une organisation, envoyez une requête GET à /organizations/{org_name}/monetization-packages. Exemple :

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Vous pouvez transmettre les paramètres de requête suivants pour filtrer les résultats :

Paramètre de requête Description
all Option indiquant s'il faut renvoyer tous les groupes de produits d'API. Si la valeur est false, le nombre de groupes de produits d'API renvoyés par page est défini par le paramètre de requête size. Valeur par défaut : false.
size Nombre de groupes de produits d'API renvoyés par page. Valeur par défaut : 20. Si le paramètre de requête all est défini sur true, ce paramètre est ignoré.
page Numéro de la page que vous souhaitez renvoyer (si le contenu est paginé). Si le all paramètre de requête est défini sur true, ce paramètre est ignoré.

La réponse pour afficher tous les groupes de produits d'API d'une organisation doit se présenter comme suit (seule une partie de la réponse est affichée) :

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

Afficher les groupes de produits d'API avec des transactions : pour récupérer les groupes de produits d'API avec des transactions dans une plage de dates donnée, envoyez une requête GET à /organizations/{org_name}/packages-with-transactions. Lorsque vous envoyez la requête, vous devez spécifier une date de début et une date de fin pour la plage de dates en tant que paramètres de requête. Par exemple, la requête suivante récupère les groupes de produits d'API avec des transactions au cours du mois d' août 2013.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

La réponse doit se présenter comme suit (seule une partie de la réponse est affichée) :

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

Afficher les groupes de produits d'API acceptés par un développeur ou une entreprise à l'aide de l'API

Affichez les groupes de produits d'API acceptés par un développeur ou une entreprise spécifique en envoyant une requête GET aux API suivantes, respectivement :

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, où {developer_id} est l'ID (adresse e-mail) du développeur.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, où {company_id} est l'ID de l'entreprise.

Lorsque vous envoyez la requête, vous pouvez éventuellement spécifier les paramètres de requête suivants :

Paramètre de requête Description Par défaut
current Option indiquant s'il faut récupérer uniquement les groupes de produits d'API actifs (current=true) ou tous les packages (current=false). Tous les plans tarifaires d'un package actif sont considérés comme disponibles. current=false
allAvailable Option indiquant s'il faut récupérer tous les groupes de produits d'API disponibles (allAvailable=true) ou uniquement les groupes de produits d'API disponibles spécifiquement pour le développeur ou l'entreprise (allAvailable=false). Tous les groupes de produits d'API disponibles sont ceux qui sont disponibles pour le développeur ou l'entreprise spécifié, en plus d'autres développeurs ou entreprises. Les groupes de produits d'API disponibles spécifiquement pour une entreprise ou un développeur ne contiennent que des plans tarifaires qui sont disponibles exclusivement pour cette entreprise ou ce développeur. allAvailable=true

Par exemple, la requête suivante récupère tous les groupes de produits d'API acceptés par un développeur spécifique :

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

La requête suivante ne récupère que les packages d'API actifs acceptés par une entreprise spécifique :

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

Supprimer un groupe de produits d'API à l'aide de l'API

Vous ne pouvez supprimer un groupe de produits d'API que s'il ne comporte aucun plan tarifaire défini.

Pour supprimer un groupe de produits d'API qui ne comporte aucun plan tarifaire défini, envoyez une requête DELETE à organizations/{org_name}/monetization-packages/{package_id}, où {org_name} spécifie le nom de votre organisation et {package_id} spécifie le nom du groupe de produits d'API.

Exemple :

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

Propriétés de configuration des groupes de produits d'API pour l'API

Les options de configuration suivantes pour les groupes de produits d'API sont exposées à l'API :

Nom Description Par défaut Obligatoire ?
description

Description du groupe de produits d'API.

N/A Oui
displayName

Nom à afficher pour le groupe de produits d'API (par exemple, dans un catalogue de packages d'API ).

N/A Oui
name

Nom du groupe de produits d'API.

N/A Oui
organization

Organisation contenant le groupe de produits d'API.

N/A Non
product

Tableau d'un ou de plusieurs produits dans le groupe de produits d'API.

N/A Non
status

Indicateur d'état pour le groupe de produits d'API. L'indicateur d'état peut avoir l'une des valeurs suivantes : CREATED, ACTIVE, INACTIVE.

N/A Oui