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 :
- Cliquez sur + Groupe de produits d'API sur la page "Groupes de produits".
- Saisissez un nom pour le groupe de produits d'API.
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.
- Répétez l'étape 3 pour ajouter d'autres noms de produits d'API.
- Pour chaque produit d'API que vous ajoutez, configurez la règle d'enregistrement des transactions.
- Cliquez sur Enregistrer le groupe de produits.
Modifier un groupe de produits
Pour modifier un groupe de produits :
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.
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.
- 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 |