Gérer les lots de produits API

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

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

Qu'est-ce qu'un lot de produits API ?

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

Les développeurs ne peuvent s'inscrire pour utiliser un lot de produits d'API qu'en achetant l'un des plans tarifaires actuellement en vigueur. Les développeurs ne peuvent pas voir un lot de produits d'API tant que vous n'avez pas ajouté et publié (en tant que public) un plan tarifaire pour l'offre groupée (avec une date de début correspondant à la date du jour ou à une date ultérieure), comme indiqué 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 des développeurs peuvent sélectionner l'offre groupée de produits d'API et choisissez 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 Acheter des forfaits publiés à l'aide de l'API.

Après avoir ajouté un produit API à un lot de produits API, vous devrez peut-être définir des prix pour le produit d'API. Vous ne devez effectuer cette opération que si toutes les conditions suivantes sont remplies:

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

Les prix minimal et maximal sont indiqués dans les détails du lot de produits de l'API.

Explorer la page "Groupes de produits"

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

Edge

Pour accéder à la page des groupes de produits de l'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:

  • Afficher des informations récapitulatives sur tous les groupes de produits, y compris leur nom et la liste des produits API qu'ils contiennent
  • Ajouter un lot de produits
  • Modifier un lot de produits
  • Effectuer une recherche dans la liste des groupes de produits dans n'importe quel champ visible

Vous pouvez gérer les produits API d'un lot de produits ou supprimer un lot de produits (si aucun plan tarifaire n'est défini) via l'API uniquement.

Classic Edge (cloud privé)

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

La page "Packages d'API" vous permet de:

  • Afficher des informations récapitulatives sur 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 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) via l'API uniquement.

Ajouter un lot de produits

Pour ajouter un lot de produits via l'API:

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

    Lorsque vous saisissez le nom d'un produit API, une liste des produits API contenant la chaîne s'affiche dans une liste déroulante. Cliquez sur le nom d'un produit API pour l'ajouter au groupe. Répétez l'opération pour ajouter d'autres produits 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 lot de produits

Pour modifier un lot de produits:

  1. Sur la page Groupes de produits, cliquez sur la ligne du lot que vous souhaitez modifier.

    Le panneau du lot de produits s'affiche.

  2. Modifiez les champs du groupe de produits si nécessaire.

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

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

Gérer les offres groupées de l'API à l'aide de l'API

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

Créer un lot de produits via l'API

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

  • Identifiez les produits API à inclure dans le lot de produits API.
  • Indiquez un nom et une description pour le lot de produits de l'API.
  • Définissez un indicateur d'état pour le lot de produits API. L'indicateur d'état peut être associé à l'un des les valeurs suivantes: CREATED, ACTIVE, INACTIVE. Actuellement, la valeur de l'indicateur d'état que vous spécifiez est conservé dans le lot de produits de l'API, mais n'est utilisé à aucune fin.

Vous pouvez éventuellement spécifier l'organisation.

Consultez la section Propriétés de configuration des lots de produits d'API pour obtenir la liste des options disponibles pour l'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 sur les spécifiés pour ces produits API. Les attributs personnalisés sont spécifiés lorsque vous créez produit d'API.) Les attributs personnalisés d'un produit API peuvent être pris en compte dans différents plans tarifaires. Pour Par exemple, si vous définissez un tableau des tarifs dans lequel vous facturez le développeur pour chaque transaction, peut définir le tarif du forfait en fonction d'un attribut personnalisé, comme le nombre d'octets transmis lors d'une transaction.

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

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

Ajouter un produit API à un lot de produits API

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

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 API à un lot de produits API avec l'API plans tarifaires spécifiques aux produits

Pour ajouter un produit API à un lot de produits API associé à un ou plusieurs plans tarifaires spécifiques aux produits API (tableau des tarifs ou partage des revenus), envoyez une demande POST organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, où {org_name} indique le nom de votre organisation, {package_id} spécifie le nom du bundle de l'API, et {product_id} spécifie l'ID de l'API produit.

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

<ph type="x-smartling-placeholder">

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 API d'un lot de produits API

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

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 lots de produits de l'API à l'aide de l'API

Vous pouvez récupérer un groupe de produits API spécifique ou tous les groupes de produits API d'une organisation. Vous pouvez également récupérer les groupes de produits d'API comportant des transactions au cours d'une période donnée, c'est-à-dire uniquement les packages pour Les utilisateurs qui appellent des applications qui accèdent aux API de ces packages au début et à la fin spécifiés la date de début.

Afficher un lot de produits API spécifique:pour récupérer un lot de produits API spécifique, envoyez une requête GET. vers /organizations/{org_name}/monetization-packages/{package_id}, où {package_id} est l'identification du lot de produits de l'API (l'identifiant est renvoyé dans le lorsque vous créez le lot de produits de l'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 API:pour récupérer tous les groupes de produits API pour 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 Indique si tous les lots de produits de l'API doivent être renvoyés. Si la valeur est définie sur false, le nombre de groupes de produits API renvoyés par page est de défini par le paramètre de requête size. La valeur par défaut est false.
size Nombre de groupes de produits API renvoyés par page. Valeur par défaut : 20. Si la requête all est défini sur true, il est ignoré.
page Numéro de la page à afficher (si le contenu est paginé). Si le paramètre de requête all est défini sur true, est ignoré.

La réponse permettant d'afficher tous les bundles de produits 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 API avec des transactions:pour récupérer les groupes de produits API avec des transactions dans un une plage de dates donnée, envoyez une demande GET /organizations/{org_name}/packages-with-transactions Lorsque vous émettez la demande, vous devez spécifier comme paramètres de requête une date de début et une date de fin pour la plage de dates. Pour exemple, la requête suivante récupère les lots de produits API avec des transactions durant le mois de 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 lots de produits API acceptés par un développeur ou une entreprise à l'aide de l'API

Affichez les lots de produits d'API acceptés par un développeur ou une entreprise spécifique à l'aide d'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'identifiant de l'entreprise.

Lorsque vous émettez 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 Indique si la récupération doit être effectuée uniquement pour les groupes de produits API actifs (current=true) ou tous (current=false). Tous les plans tarifaires d'un package actif sont considérés comme disponibles. current=false
allAvailable Indique si tous les bundles de produits API disponibles (allAvailable=true) doivent être récupérés ou Seuls les lots de produits API disponibles spécifiquement pour le développeur ou l'entreprise (allAvailable=false) "Toutes" fait référence aux lots de produits API disponibles pour le développeur ou l'entreprise spécifiés, en plus d'autres développeurs ou entreprises. Les lots de produits d'API disponibles spécifiquement pour une entreprise ou un développeur ne contiennent que des plans tarifaires. 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 API acceptés par un développeur:

$ 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 récupère uniquement 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 lot de produits d'API à l'aide de l'API

Vous ne pouvez supprimer un lot de produits d'API que s'il n'est associé à aucun plan tarifaire.

<ph type="x-smartling-placeholder">

Pour supprimer un lot de produits d'API pour lequel aucun plan tarifaire n'est défini, envoyez une demande DELETE. à organizations/{org_name}/monetization-packages/{package_id}, où {org_name} indique le nom de votre organisation et {package_id} spécifie le nom du bundle de l'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 du groupe de produits de l'API pour l'API

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

Nom Description Par défaut Obligatoire ?
description

Description du lot de produits de l'API.

N/A Oui
displayName

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

N/A Oui
name

Nom du groupe de produits de l'API.

N/A Oui
organization

Organisation contenant l'offre groupée de produits API.

N/A Non
product

Tableau d'un ou de plusieurs produits du lot de produits de l'API.

N/A Non
status

Indicateur d'état de l'offre groupée de produits API. L'indicateur d'état peut être associé à l'un des les valeurs suivantes: CREATED, ACTIVE, INACTIVE.

N/A Oui