Gérer les plans tarifaires

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

Gérez les plans tarifaires à l'aide de l'UI et de l'API, comme décrit dans les sections suivantes.

Explorer la page "Plans tarifaires"

Accédez à la page "Plans tarifaires", comme décrit ci-dessous.

Edge

Pour afficher les plans tarifaires dans l'interface utilisateur Edge, accédez à la page "Plans tarifaires" :

  1. Connectez-vous à apigee.com/edge.
  2. Sélectionnez Publier > Monétisation > Plans tarifaires dans la barre de navigation de gauche.

La page "Plans tarifaires" s'affiche.

Comme le montre la figure, la page "Plans tarifaires" vous permet d'effectuer les opérations suivantes :

Classic Edge (Private Cloud)

Pour afficher les plans tarifaires à l'aide de l'interface utilisateur Classic Edge, accédez à la page "Packages d'API" :

  1. Connectez-vous à http://ms-ip:9000, où ms-ip est l'adresse IP ou le nom DNS du nœud de serveur de gestion.
  2. Sélectionnez Publier > Packages dans la barre de navigation supérieure.

La page "Packages d'API" affiche les plans tarifaires définis pour chaque package.

La page Plans tarifaires vous permet d'effectuer les opérations suivantes :

Créer un plan tarifaire

Pour créer un plan tarifaire :

  1. Accédez à la page "Plans tarifaires".
  2. Cliquez sur + Plan tarifaire.
  3. Configurez les champs suivants dans le panneau supérieur :
    Champ Description Par défaut Obligatoire
    Nom du plan tarifaire Nom de votre forfait.

    NOTE : Le nom doit être unique dans un bundle de produits d'API. Deux forfaits d'un même pack de produits ne peuvent pas porter le même nom.

    ND Oui
    Type de plan tarifaire Type de plan tarifaire. Sélectionnez une valeur dans la liste déroulante. Pour obtenir la liste des types de forfaits valides, consultez Types de forfaits acceptés. ND Oui
    Lot de produits Bundle de produits d'API. Sélectionnez une valeur dans la liste déroulante. Pour en savoir plus sur les packs de produits d'API, consultez Gérer les packs de produits d'API.

    Si vous sélectionnez un bundle de produits contenant plusieurs produits d'API, vous devez choisir de configurer des plans tarifaires individuels pour chaque produit d'API ou un plan tarifaire générique qui s'appliquera à tous les produits d'API.

    ND Oui
    Audience Audience pouvant accéder au forfait. Sélectionnez l'une des valeurs suivantes dans la liste déroulante :
    • Tout le monde : tous les développeurs.
    • Développeur : développeur ou entreprise. Saisissez le nom du développeur ou de l'entreprise. À mesure que vous tapez, une liste des développeurs/entreprises contenant la chaîne s'affiche dans un menu déroulant. Cliquez sur le nom du développeur ou de l'entreprise dans la liste déroulante.
    • Catégorie de développeur : catégorie de développeur. Sélectionnez une catégorie de développeur dans la liste déroulante.

      Configurez les catégories de développeurs selon vos besoins, comme décrit dans Gérer les catégories de développeurs.

    Tout le monde Non
    Date de début Date d'entrée en vigueur du plan tarifaire. Saisissez une date de début ou sélectionnez-en une dans le calendrier. Aujourd'hui Non
    Date de fin Date de fin du plan tarifaire. Pour spécifier une date de fin, activez le bouton bascule Has End Date (A une date de fin), puis saisissez une date de fin ou sélectionnez-en une à l'aide du calendrier.

    REMARQUE : Le plan tarifaire sera en vigueur jusqu'à la fin de la journée à la date spécifiée. Par exemple, si vous souhaitez faire expirer un forfait le 1er décembre 2018, vous devez définir la valeur endDate sur 2018-11-30. Dans ce cas, le forfait expirera à la fin de la journée du 30 novembre 2018. Toutes les requêtes du 1er décembre 2018 seront bloquées.

    Aucun Non
    Visible par les portails Indiquez si le plan tarifaire est public ou privé. Consultez Forfaits publics et tarifs préférentiels. Activé Non
  4. Configurez les frais pour le plan tarifaire. Consultez Configurer des frais pour un plan tarifaire.
    NOTE : Ne s'applique pas aux forfaits de notifications ajustables.
  5. Si vous sélectionnez un pack de produits contenant plusieurs produits d'API, définissez les préférences suivantes dans la section Plan tarifaire spécifique ou générique :
    REMARQUE : Cette étape ne s'applique pas aux plans de notification ajustables.
    Champ Description Par défaut
    Configurer chaque produit individuellement Indicateur qui spécifie s'il faut configurer un plan tarifaire individuel pour chaque produit d'API. Désactivé
    Configurer l'offre freemium de chaque produit individuellement Option indiquant s'il faut configurer un forfait freemium pour chaque produit d'API. Désactivé
    Sélectionner un produit Si vous activez un ou les deux indicateurs, vous devez sélectionner chaque produit individuellement dans la liste déroulante et configurer les détails de son forfait.

    NOTE : Assurez-vous de configurer tous les produits du pack.

    ND
  6. Configurez les détails du forfait en fonction du type de forfait sélectionné :
  7. Cliquez sur l'une des options suivantes :
    Bouton Description
    Enregistrer comme brouillon Enregistrez le plan tarifaire comme brouillon.

    Les développeurs d'applications ne pourront pas voir le plan tarifaire tant que vous ne l'aurez pas publié. Vous pouvez modifier n'importe quel champ d'un forfait tarifaire provisoire.

    Publier un nouveau forfait Publiez le forfait.

    NOTE : Une fois que vous avez publié un plan tarifaire, vous ne pouvez modifier la date de fin que si elle n'est pas déjà définie. Vous ne pouvez pas supprimer un plan tarifaire une fois qu'il est publié. Toutefois, vous pouvez le faire expirer et le remplacer par un plan tarifaire futur, comme décrit dans Faire expirer un plan tarifaire publié.

  8. Associez la règle Vérification des limites de monétisation aux proxys d'API associés aux produits d'API inclus dans le plan tarifaire. La règle "Vérification des limites de monétisation" applique des limites de monétisation aux proxys d'API et garantit que les éventuels défauts sont correctement enregistrés dans les rapports sur les analyses et la monétisation. Pour en savoir plus, consultez Appliquer des limites de monétisation au niveau des proxys d'API.

Modifier un plan tarifaire

Vous pouvez modifier tous les champs d'un forfait provisoire, à l'exception du bundle de produits, du type et de l'audience. Une fois que vous avez publié un plan tarifaire, vous ne pouvez modifier que sa date de fin, et uniquement si aucune date de fin n'a été spécifiée.

Pour modifier un forfait :

  1. Accédez à la page "Plans tarifaires".
  2. Cliquez sur la ligne du forfait que vous souhaitez modifier.
    Le panneau des forfaits s'affiche.
  3. Modifiez les champs du plan tarifaire selon vos besoins.
    NOTE : Une fois que vous avez publié un plan tarifaire, vous ne pouvez modifier la date de fin que si elle n'a pas encore été définie.
  4. Cliquez sur l'une des options suivantes :
    Bouton Description
    Modifier le brouillon (plans tarifaires en brouillon) Enregistrez le plan tarifaire comme brouillon.

    Le plan tarifaire ne sera pas visible par les développeurs d'applications tant que vous ne l'aurez pas publié. Vous pouvez modifier n'importe quel champ d'un forfait tarifaire provisoire.
    Publier le brouillon (plans tarifaires à l'état de brouillon) Publiez le plan tarifaire.

    NOTE : Une fois que vous avez publié un plan tarifaire, vous ne pouvez modifier la date de fin que si elle n'est pas déjà définie. Vous ne pouvez pas supprimer un plan tarifaire une fois qu'il est publié. Toutefois, vous pouvez le faire expirer et le remplacer par un plan tarifaire futur, comme décrit dans Faire expirer un plan tarifaire publié.
    Date de fin modifiée (plans tarifaires publiés) Définissez la date de fin d'un forfait publié.

    NOTE : Une fois la date de fin définie pour un plan tarifaire publié, elle ne peut plus être modifiée.

Supprimer un plan tarifaire à l'état de brouillon

Supprimez un plan tarifaire provisoire s'il n'est plus nécessaire.

REMARQUE : Vous ne pouvez pas supprimer un plan tarifaire publié.

Pour supprimer un plan tarifaire en brouillon :

  1. Accédez à la page "Plans tarifaires".
  2. Placez le curseur sur le forfait que vous souhaitez supprimer pour afficher le menu d'actions.
  3. Cliquez sur .
  4. Cliquez sur Supprimer pour confirmer l'action.

Gérer les plans tarifaires à l'aide de l'API

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

Créer des plans tarifaires à l'aide de l'API

Pour créer un plan tarifaire, envoyez une requête POST à /organizations/{org_name}/monetization-packages/{monetizationpackage_id}/rate-plans, où {monetizationpackage_id} correspond à l'ID du bundle de produits d'API pour lequel vous créez le plan tarifaire (l'ID est renvoyé dans la réponse lorsque vous créez le bundle de produits d'API).

Lorsque vous créez un plan tarifaire, vous devez spécifier les éléments suivants dans le corps de la requête :

  • ID d'organisation
  • ID du bundle de produits d'API
  • Nom du plan tarifaire
  • Description du plan tarifaire
  • Champ d'application du forfait (s'il s'applique à tous les développeurs ou uniquement à un développeur, une entreprise ou une catégorie de développeurs spécifiques)
  • Date d'entrée en vigueur du forfait
  • Devise du plan tarifaire
  • Indique si le plan tarifaire doit être publié.
  • Indique si le forfait est public ou privé

Vous pouvez également spécifier d'autres paramètres facultatifs, comme la période de paiement (30 jours, par exemple). Consultez Propriétés de configuration pour les forfaits.

Si vous créez un plan tarifaire (autre qu'un plan sans frais) pour un groupe de produits d'API comportant plusieurs produits, vous pouvez appliquer le plan à un produit spécifique du groupe. Pour ce faire, identifiez le produit dans la demande. Si vous n'identifiez pas de produit, le forfait s'applique à tous les produits du bundle de produits d'API.

Les sections suivantes expliquent comment créer des plans tarifaires :

Créer un plan tarifaire standard à l'aide de l'API

Pour créer un plan tarifaire standard, définissez l'attribut type sur STANDARD, comme illustré dans l'exemple suivant.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Créer un forfait pour les développeurs ou les entreprises à l'aide de l'API

Pour appliquer le forfait à un développeur ou une entreprise spécifique, définissez la valeur type sur Developer. Vous devez également identifier le développeur ou l'entreprise dans la demande, en indiquant l'ID, le nom légal et le nom du développeur ou de l'entreprise.

Par exemple, l'extrait suivant crée un plan tarifaire pour le développeur Dev Five :

...
     "type": "DEVELOPER",
       "developer" : {
        "id" : "0mkKu1PALUGfjUph",
        "legalName" : "DEV FIVE",
        "name" : "Dev Five"
      }
...

Créer un plan tarifaire de catégorie développeur à l'aide de l'API

Pour appliquer le plan tarifaire à une catégorie de développeurs, définissez la valeur type sur Developer_Category. Vous devez également identifier la catégorie de développeur dans la demande. Exemple :

...
     "type": "DEVELOPER_CATEGORY",
       "developerCategory" : {
        "id" : "5e172299-8232-45f9-ac46-40076139f373",
        "name" : "Silver",
        "description" : "Silver category"
      }
...

Créer un plan tarifaire spécifique à un produit d'API à l'aide de l'API

Lorsque vous créez un plan tarifaire pour des groupes de produits d'API incluant plusieurs produits d'API, vous pouvez spécifier les détails du plan tarifaire pour chaque produit d'API individuellement.

Par exemple, la commande suivante crée un plan de partage des revenus avec deux produits d'API :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Multi-product rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Multi-product rate plan",
     "displayName" : "Multi-product rate plan",
     "monetizationPackage": {
      "id": "mypackage",
      ...
     },
     "organization": {
      "id": "{org_name}",
      ...
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
        "ratePlanRates":[{
            "revshare":0,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product1","displayName":"Product1"},
       "customPaymentTerm":false
     },
     {
        "ratePlanRates":[{
            "revshare":10,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product2","displayName":"Product2"},
       "customPaymentTerm":false
     }
     ],
     "startDate": "2019-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/rate-plans" \
-u email:password

Pour ajouter un produit d'API au bundle de produits d'API my-package, vous devez ajouter les détails du plan tarifaire pour le produit d'API dans le corps de la requête, comme décrit dans Ajouter un produit d'API à un bundle de produits d'API avec des plans tarifaires spécifiques aux produits d'API.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [
    {
        "id": "my-package_multi-product-rate-plan",
        "ratePlanDetails": [
        {
            "ratePlanRates":[{
                "revshare":20,
                "startUnit":0,
                "type":"REVSHARE",
                "endUnit":null
             }],
             "revenueType":"NET",
             "type":"REVSHARE"
             "currency":{...},
             "customPaymentTerm":false
         }]
    }]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/products/product3" \
-u email:password

Définir le plan tarifaire comme public ou privé à l'aide de l'API

Lorsque vous créez un forfait, vous pouvez spécifier s'il est public ou privé à l'aide de l'attribut isPrivate dans le corps de la requête. Si la valeur est définie sur true, le forfait sera privé. Pour en savoir plus, consultez Forfaits publics et privés.

Par exemple, la commande suivante crée un forfait privé :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : true,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Publier un plan tarifaire à l'aide de l'API

Pour publier un plan tarifaire, définissez la valeur de la propriété published sur "true" lorsque vous créez le plan tarifaire. Les développeurs pourront consulter le forfait à partir de la date spécifiée dans la propriété startDate du forfait.

Par exemple, le code suivant crée un plan tarifaire et le publie (seule une partie de la requête est affichée) :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "true",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Enregistrer un brouillon de plan tarifaire à l'aide de l'API

Pour enregistrer un plan tarifaire sans le publier, définissez la valeur de la propriété published sur "false" lorsque vous créez le plan tarifaire.

Par exemple, le code suivant crée un plan tarifaire et l'enregistre en tant que brouillon (seule une partie de la requête est affichée) :

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "false",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Modifier un brouillon de plan tarifaire à l'aide de l'API

Pour mettre à jour un brouillon de plan tarifaire, envoyez une requête PUT à /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id}, où {package_id} correspond à l'identification du package d'API et {plan_Id} à l'identification du plan tarifaire. Lorsque vous effectuez la mise à jour, vous devez spécifier dans le corps de la requête les paramètres mis à jour et l'ID du forfait. Si vous modifiez le tarif d'un plan tarifaire, vous devez également spécifier l'ID du tarif du plan tarifaire. Par exemple, la requête suivante met à jour le tarif d'un plan tarifaire dont l'ID est location_flat_rate_card_plan (la mise à jour est mise en évidence) :

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
      "id" : "location_flat_rate_card_plan",
      "name": "Flat rate card plan",
      "advance": "false",
      "currency": {
       "id" : "usd"
      },
      "description": "Flat rate card plan",
      "displayName" : "Flat rate card plan",
      "frequencyDuration": "30",
      "frequencyDurationType": "DAY",
      "earlyTerminationFee": "10",
      "monetizationPackage": {
       "id": "location"
      },
      "organization": {
       "id": "{org_name}"
      },
      "paymentDueDays": "30",
      "prorate": "false",
      "published": "false",
      "ratePlanDetails": [
      {
       "currency": {
        "id" : "usd"
       },
       "paymentDueDays": "30",
       "meteringType": "UNIT",
       "organization": {
        "id": "{org_name}"
       },
       "ratePlanRates": [
        {
         "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
         "type": "RATECARD",
         "rate": "0.15",
         "startUnit": "0"
        }
       ],
      "ratingParameter": "VOLUME",
      "type": "RATECARD"
      }],
      "recurringStartUnit": 1,
      "recurringType": "CALENDAR",
      "recurringFee": "10",
      "setUpFee": "10",
      "startDate": "2013-09-15 00:00:00",
      "type": "STANDARD"
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/location_flat_rate_card_plan" \
-u email:password

La réponse inclut le tarif du forfait mis à jour (seule une partie de la réponse est affichée) :

"ratePlanRates" : [ {
  "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
  "rate" : 0.15,
  "startUnit" : 0,
  "type" : "RATECARD"
} ],

Afficher les plans tarifaires à l'aide de l'API

Vous pouvez afficher les plans tarifaires à l'aide de l'API de monétisation, comme décrit dans les sections suivantes.

Afficher tous les plans tarifaires d'une organisation à l'aide de l'API

Pour afficher tous les plans tarifaires d'une organisation, envoyez une requête GET à /mint/organizations/{org_name}/rate-plans, où {org_name} est le nom de votre organisation.

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

Paramètre de requête Description
all Indicateur qui spécifie s'il faut renvoyer tous les plans tarifaires. Si la valeur est définie sur false, le nombre de plans tarifaires renvoyés par page est défini par le paramètre de requête size. La valeur par défaut est true.
size Nombre de packages d'API renvoyés par page. 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 paramètre de requête all est défini sur true, ce paramètre est ignoré.

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/rate-plans" \
  -u email:password

Afficher tous les plans tarifaires d'un bundle de produits d'API à l'aide de l'API

Pour afficher tous les forfaits d'un package d'API, envoyez une requête GET à /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans, où {package_id} correspond à l'ID du package d'API (l'ID du package est renvoyé lorsque vous créez le package de monétisation).

Par défaut, seuls les plans tarifaires actifs, publics et standards sont renvoyés dans les résultats. Éléments à inclure :

  • Pour les forfaits en brouillon ou expirés, définissez le paramètre de requête current sur false (par exemple, ?current=false).
  • Pour les forfaits privés, définissez le paramètre de requête showPrivate sur true (par exemple, ?showPrivate=true).
  • Pour tous les forfaits standards, définissez le paramètre de requête standard sur true (par exemple, ?standard=true).

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans" \
  -u email:password

Afficher un plan tarifaire pour un package d'API à l'aide de l'API

Pour afficher un plan tarifaire pour un package d'API, envoyez une requête GET à /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id}, où {package_id} correspond à l'ID du package d'API et {plan_id} à l'ID du plan tarifaire (l'ID du package est renvoyé lorsque vous créez le package de monétisation, et l'ID du plan tarifaire est renvoyé lorsque vous créez le plan tarifaire).

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans/communications_standard_fixed_plan" \
  -u email:password

Voici un exemple de réponse :

{
   "advance" : true,
   "contractDuration" : 1,
   "contractDurationType" : "YEAR",
   "currency" : {
     "id" : "usd",
     ...
     "organization" : {
       ...
     },
     ...
   },
   "description" : "Standard Fixed Plan",
   "displayName" : "Standard Fixed Plan",
   "earlyTerminationFee" : 0.0000,
   "frequencyDuration" : 1,
   "frequencyDurationType" : "MONTH",
   "id" : "communications_standard_fixed_plan",
   "isPrivate" : false,
   "monetizationPackage" : {
     "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"
   },
   "name" : "Standard Fixed Plan",
   "organization" : {
     ...
   },
   "paymentDueDays" : "30",
   "prorate" : true,
   "published" : true,
   "ratePlanDetails" : [ {
     "aggregateFreemiumCounters" : true,
     "aggregateStandardCounters" : true,
     "currency" : {
       "id" : "usd",
       "name" : "USD",
       "organization" : {
        ...
       },
       "status" : "ACTIVE",
       "virtualCurrency" : false
     },
     "id" : "cb92f7f3-7331-446f-ad63-3e176ad06a86",
     "meteringType" : "UNIT",
     "organization" : {
      ...
     },
     "paymentDueDays" : "30",
     "ratePlanRates" : [ {
       "id" : "07eefdfb-4db5-47f6-b182-5d606c6051c2",
       "rate" : 0.0500,
       "startUnit" : 0,
       "type" : "RATECARD"
     } ],
     "ratingParameter" : "VOLUME",
     "type" : "RATECARD"
   } ],
   "recurringFee" : 200.0000,
   "recurringStartUnit" : 1,
   "recurringType" : "CALENDAR",
   "setUpFee" : 100.0000,
   "startDate" : "2013-01-11 22:00:00",
   "type" : "STANDARD"
 }

Afficher tous les plans tarifaires actifs pour un développeur à l'aide de l'API

Pour afficher tous les plans tarifaires actifs d'un développeur, envoyez une requête GET à /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans, où {developer_id} correspond à l'adresse e-mail du développeur.

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

Paramètre de requête Description
all Indicateur permettant de spécifier s'il faut renvoyer tous les packages d'API. Si la valeur est définie sur false, le nombre de packages d'API renvoyés par page est défini par le paramètre de requête size. La valeur par défaut est false.
size Nombre de packages 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 paramètre de requête all est défini sur true, ce paramètre est ignoré.

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \
  -u email:password

Voici un exemple de réponse :

{
  "ratePlan" : [ {
    "advance" : true,
    "contractDuration" : 1,
    "contractDurationType" : "MONTH",
    "currency" : {
      "description" : "United States Dollar",
      "displayName" : "United States Dollar",
      "id" : "usd",
      "name" : "USD",
      "organization" : {
        ...
      },
      "status" : "ACTIVE",
      "virtualCurrency" : false
    },
    "description" : "Fee Only RatePlan",
    "displayName" : "Fee Only RatePlan",
    "earlyTerminationFee" : 10.0000,
    "freemiumDuration" : 0,
    "freemiumDurationType" : "MONTH",
    "freemiumUnit" : 0,
    "frequencyDuration" : 1,
    "frequencyDurationType" : "WEEK",
    "id" : "messaging_package_fee_only_rateplan",
    "isPrivate" : false,
    "monetizationPackage" : {
      "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"
    },
    "name" : "Fee Only RatePlan",
    "organization" : {
     ...
    },
    "paymentDueDays" : "30",
    "prorate" : false,
    "published" : true,
    "ratePlanDetails" : [ ],
    "recurringFee" : 10.0000,
    "recurringStartUnit" : 1,
    "recurringType" : "CALENDAR",
    "setUpFee" : 20.0000,
    "startDate" : "2013-02-20 00:00:00",
    "type" : "STANDARD"
  } ],
  "totalRecords" : 1
}

Afficher un plan tarifaire accepté pour un développeur à l'aide de l'API

Pour afficher un plan tarifaire actif pour un développeur, envoyez une requête GET à /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id}, où {developer_id} est l'adresse e-mail du développeur et {developer_rateplan_id} est l'ID du plan tarifaire accepté qui est renvoyé dans la réponse lorsque vous acceptez le plan tarifaire publié.

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/messaging_package_fee_only_rateplan" \
  -u email:password

Voici un exemple de réponse :

{
    "created" : "2018-01-25 20:01:54",
    "developer" : {
    },
    "id" : "a73s104-276f-45b3-8075-83d1046ea550",
    "nextCycleStartDate" : "2018-02-19 00:00:00",
    "nextRecurringFeeDate" : "2018-02-19 00:00:00",
    "prevRecurringFeeDate" : "2018-01-25 00:00:00",
    "ratePlan" : {
      "frequencyDuration" : 1,
      "frequencyDurationType" : "MONTH",
      "recurringFee" : 0.0000,
      "recurringStartUnit" : 19,
      "recurringType" : "CALENDAR",
      "setUpFee" : 0.0000,
      "type" : "STANDARD"
    },
    "startDate" : "2018-01-25 20:01:54",
    "updated" : "2018-01-25 20:01:54"
  }

Afficher un plan tarifaire accepté pour un développeur contenant un produit d'API à l'aide de l'API

Pour afficher un plan tarifaire accepté pour un développeur contenant un produit d'API, envoyez une requête GET à /mint/organizations/{org_id}/developers/{developer_id}/products/{product_id}/rate-plan-by-developer-product, où {developer_id} correspond à l'ID du développeur et /{product_id} à l'ID du produit.

Par défaut, seul un forfait public est renvoyé dans les résultats. Pour afficher un tarif préférentiel, définissez le paramètre de requête showPrivate sur true (par exemple, ?showPrivate=true).

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/products/location/rate-plan-by-developer-product" \
  -u email:password

Afficher tous les plans tarifaires acceptés par un développeur à l'aide de l'API

Pour afficher les forfaits acceptés par un développeur, envoyez une requête GET à /mint/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, où {developer_id} est l'ID du développeur.

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

Paramètre de requête Description
all Indicateur permettant de spécifier s'il faut renvoyer tous les packages d'API. Si la valeur est définie sur false, le nombre de packages d'API renvoyés par page est défini par le paramètre de requête size. La valeur par défaut est false.
size Nombre de packages 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 paramètre de requête all est défini sur true, ce paramètre est ignoré.

Exemple :

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-accepted-rateplans" \
  -u email:password

Voici un exemple de réponse :

{
  "developerRatePlan" : [ {
     "created" : "2018-01-25 20:01:54",
     "developer" : { ...
     },
     "id" : "a73s104-276f-45b3-8075-83d1046ea550",
     "nextCycleStartDate" : "2018-02-19 00:00:00",
     "nextRecurringFeeDate" : "2018-02-19 00:00:00",
     "prevRecurringFeeDate" : "2018-01-25 00:00:00",
     "ratePlan" : {
       "frequencyDuration" : 1,
       "frequencyDurationType" : "MONTH",
       "recurringFee" : 0.0000,
       "recurringStartUnit" : 19,
       "recurringType" : "CALENDAR",
       "setUpFee" : 0.0000,
       "type" : "STANDARD"
     },
     "startDate" : "2018-01-25 20:01:54",
     "updated" : "2018-01-25 20:01:54"
   }],
   "totalRecords" : 1
}

Supprimer un brouillon de plan tarifaire à l'aide de l'API

Pour supprimer un brouillon de plan tarifaire, envoyez une requête DELETE à /organizations/{org_name}/monetization-packages/package_id}/rate-plans/{plan_Id}, où {plan_Id} correspond à l'identification du plan tarifaire à supprimer et {package_id} à l'identification du package d'API pour le plan tarifaire. Exemple :

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

Propriétés de configuration pour les forfaits

Lorsque vous créez un plan tarifaire à l'aide de l'API, vous pouvez spécifier les paramètres de configuration suivants.

Nom Description Par défaut Obligatoire ?
advance

Valable uniquement pour les frais récurrents. Indicateur qui spécifie si les frais récurrents sont facturés à l'avance ou non. Les valeurs valides sont les suivantes :

  • true : les frais récurrents sont facturés à l'avance. Par exemple, si la période est d'un mois, les frais récurrents sont facturés sur la facture générée à la fin du mois de facturation précédent.
  • false : les frais récurrents sont facturés à la fin de la période. Par exemple, si la période est d'un mois, les frais récurrents sont facturés à la fin du mois de facturation en cours. Il s'agit de la valeur par défaut.
faux Non
contractDuration

Durée du contrat pour le forfait avec contractDurationType. Par exemple, pour spécifier une durée de contrat de six mois, définissez contractDuration sur 6 et contractDurationType sur MONTH.

N/A Non
contractDurationType

Durée du contrat pour le forfait avec contractDuration. Les valeurs valides sont les suivantes :

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Non
currency

Devise utilisée pour le forfait. Spécifiez le code ISO 4217 de la devise, par exemple usd pour le dollar américain ou chf pour le franc suisse.

N/A Oui
description

Description du plan tarifaire.

N/A Oui
developer

ID du développeur (adresse e-mail). Spécifiez uniquement les plans tarifaires pour les développeurs.

N/A Non
developerCategory

ID de la catégorie de développeur. À spécifier uniquement pour les plans tarifaires pour les catégories de développeurs.

N/A Non
displayName

Nom à afficher convivial pour le forfait.

N/A Oui
earlyTerminationFee

Frais uniques facturés si le développeur met fin au forfait avant la date de renouvellement.

N/A Non
endDate

Date de fin du forfait. Les développeurs ne pourront plus consulter le forfait après cette date. Si vous ne souhaitez pas que le forfait se termine à une date spécifique, spécifiez une valeur nulle pour endDate.

Le plan tarifaire sera en vigueur jusqu'à la fin de la journée à la date spécifiée. Par exemple, si vous souhaitez faire expirer un forfait le 1er décembre 2016, vous devez définir la valeur endDate sur 2016-11-30. Dans ce cas, le forfait expirera à la fin de la journée du 30 novembre 2016. Toutes les demandes du 1er décembre 2016 seront bloquées.

NOTE : Lorsque vous consultez le plan tarifaire à l'aide de l'API, le code temporel endDate est spécifié comme YYYY-MM-DD 00:00:00, ce qui peut être trompeur.

N/A Non
freemiumDuration

Période de la période freemium avec freemiumDurationType. Par exemple, pour spécifier que la période freemium est de 30 jours, définissez freemiumDuration sur 30 et freemiumDurationType sur DAY.

N/A Non
freemiumDurationType

Période de la période freemium avec freemiumDuration. Les valeurs valides sont les suivantes :

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Non
freemiumUnit

Quantité Freemium. La valeur peut correspondre au nombre de transactions ou au nombre d'unités associées à un attribut personnalisé enregistré dans la règle d'enregistrement des transactions.

N/A Non
frequencyDuration

Valable uniquement pour les frais récurrents. Période entre les frais récurrents, ainsi que frequencyDurationType. Par exemple, pour spécifier que la période entre les frais est de 30 jours, définissez frequencyDuration sur 30 et frequencyDurationType sur DAY.

N/A Non
frequencyDurationType Valable uniquement pour les frais récurrents. Période entre les frais récurrents, ainsi que frequencyDuration. Les valeurs valides sont les suivantes :
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Non
isPrivate Indicateur qui spécifie si le plan tarifaire est public ou privé. La valeur par défaut est false (public). Pour en savoir plus, consultez Forfaits publics et privés. N/A Non
monetizationPackage

ID du bundle de produits d'API pour le plan tarifaire.

N/A Non
name

Nom du plan tarifaire.

N/A Oui
organization

ID d'organisation du plan tarifaire.

N/A Oui
paymentDueDays

Valable uniquement pour les frais récurrents. Nombre de jours avant l'échéance des frais. Par exemple, définissez la valeur sur 30 pour indiquer que les frais sont dus dans 30 jours.

N/A Non
proRate

Valable uniquement pour les frais récurrents. Indicateur qui spécifie si les frais récurrents sont calculés au prorata lorsqu'un développeur commence ou arrête un forfait en cours de mois. Les valeurs valides sont les suivantes :

  • true – Les frais initiaux sont calculés au prorata du nombre de jours jusqu'à la fin de la période (ou du nombre de jours utilisés au cours de la période).
  • false : le développeur est facturé du montant total des frais initiaux, quelle que soit la date de début (ou de fin) du forfait. Il s'agit de la valeur par défaut.
faux Non
published

Indicateur qui spécifie si le plan tarifaire doit être publié pour que les développeurs puissent le consulter. Les valeurs valides sont les suivantes :

  • true : publiez le plan tarifaire.
  • false : ne pas publier le plan tarifaire.
N/A Oui
ratePlanDetails

Détails du plan tarifaire (voir Propriétés de configuration pour les détails du plan tarifaire).

N/A Oui
recurringFee

Frais facturés au développeur de manière continue jusqu'à ce qu'il résilie le forfait.

N/A Non
recurringStartUnit

Valide uniquement si recurringType est défini sur CALENDAR. Jour du mois où les frais récurrents sont facturés. Par exemple, si les frais récurrents sont facturés mensuellement et que recurringStartUnit est défini sur 1, ils sont facturés le premier jour de chaque mois.

N/A Non
recurringType

Calendrier des frais récurrents. Les valeurs valides sont les suivantes :

  • CALENDAR : programmée en fonction d'un calendrier.
  • CUSTOM : programmée selon un paramètre de date personnalisé.
N/A Non
setUpFee

Frais uniques facturés à chaque développeur à la date de début du forfait (c'est-à-dire la date d'achat du forfait).

N/A Non
startDate

Date de début du forfait. Les développeurs peuvent consulter le forfait à partir de cette date.

N/A Oui
type

Type de plan tarifaire. Spécifiez l'une des options suivantes :

  • STANDARD. S'applique à tous les développeurs.
  • DEVELOPER_CATEGORY. S'applique à tous les développeurs d'une catégorie sélectionnée.
  • DEVELOPER : s'applique à un développeur ou à une entreprise spécifique.
N/A Oui

Propriétés de configuration pour les détails du forfait

Vous pouvez spécifier l'une des propriétés de configuration suivantes dans le tableau ratePlanDetails lorsque vous créez le plan tarifaire.

Nom Description Par défaut Obligatoire ?
aggregateFreemiumCounters

Indicateur qui spécifie si les compteurs agrégés sont activés pour déterminer si l'utilisation d'un produit d'API est dans la plage sans frais. Les compteurs agrégés doivent être activés pour configurer un forfait freemium pour un produit. Les valeurs valides sont les suivantes :

  • true : active les compteurs agrégés.
  • false : n'activez pas les compteurs agrégés.
N/A Non
aggregateStandardCounters

Indicateur qui spécifie si des compteurs agrégés sont utilisés pour déterminer la tranche d'utilisation (par exemple, une tranche de volume pour un forfait avec grille tarifaire). La valeur peut être l'une des suivantes :

  • true : utilisez des compteurs agrégés.
  • false : n'utilisez pas de compteurs agrégés.
N/A Non
aggregateTransactions

NOTE : Cette propriété n'est pas utilisée actuellement par la monétisation et peut être ignorée.

true Non
currency

Devise

N/A Non
duration

Période pour la fréquence de calcul, avec durationType, où les valeurs duration autorisées sont comprises entre 1 et 24.

Par exemple, définissez duration sur 2 et durationType sur MONTH pour spécifier une fréquence de calcul de deux mois.

N/A Non
durationType

Période pour la fréquence de calcul, associée à duration. La seule valeur valide est MONTH.

Pour obtenir un exemple d'utilisation, consultez duration.

N/A Non
freemiumDuration

Période de temps pour la période freemium d'un produit d'API individuel, ainsi que freemiumDurationType. Par exemple, pour spécifier que la période freemium d'un produit d'API est de 30 jours, définissez freemiumDuration sur 30 et freemiumDurationType sur DAY.

N/A Non
freemiumDurationType

Période freemium pour un produit d'API individuel, avec freemiumDuration. Les valeurs valides sont les suivantes :

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Par exemple, pour spécifier que la période freemium d'un produit d'API est de 30 jours, définissez freemiumDuration sur 30 et freemiumDurationType sur DAY.

N/A Non
freemiumUnit

Quantité Freemium pour un produit d'API. La valeur peut correspondre au nombre de transactions ou au nombre d'unités associées à un attribut personnalisé enregistré dans la règle d'enregistrement des transactions.

N/A Non
meteringType

Modèle de facturation d'un forfait avec tableau des tarifs. Les valeurs valides sont les suivantes :

  • UNIT : modèle de facturation à tarif fixe.
  • VOLUME : modèle de tarification par tranche de volume.
  • STAIR_STEP : modèle de recharge groupé.
  • DEV_SPECIFIC : modèle de recharge avec notifications ajustables. Non valable pour tout autre modèle de revenus.
N/A oui
organization

ID de l'organisation.

N/A Non
paymentDueDays

Date limite de paiement pour un développeur en post-paiement. Par exemple, définissez la valeur sur 30 pour indiquer que le paiement est dû dans 30 jours.

N/A Non
product

Informations produit d'API, telles que l'ID.

N/A Non
ratePlanRates

Détails du tarif du plan tarifaire, tels que le type de plan tarifaire (REVSHARE ou RATECARD), le tarif d'un plan tarifaire du tableau des tarifs, le partage des revenus d'un plan de partage des revenus et la plage (unité de début et unité de fin pour lesquelles le tarif du plan tarifaire s'applique).

N/A Oui
ratingParameter

Base du plan tarifaire. Le forfait est basé sur les transactions ou sur un attribut personnalisé. Les valeurs valides sont les suivantes :

  • VOLUME : le forfait est basé sur le volume de transactions.
  • custom_attribute : nom d'un attribut personnalisé défini dans les règles d'enregistrement des transactions pour le produit d'API et qui n'est valable que pour les forfaits avec grille tarifaire. Le nom de l'attribut personnalisé ne peut pas être défini sur VOLUME.
VOLUME Oui
ratingParameterUnit

L'unité qui s'applique à ratingParameter. Only required if ratingParameter est définie sur un attribut personnalisé (c'est-à-dire qu'elle n'est pas définie sur VOLUME).

N/A Oui
revenueType

Base du partage des revenus dans un plan de partage des revenus. Les valeurs valides sont les suivantes :

  • GROSS : la part des revenus est basée sur un pourcentage du prix brut d'une transaction.
  • NET : la part des revenus est basée sur un pourcentage du prix net d'une transaction.
N/A Non
type

Type de plan tarifaire. Les valeurs valides sont les suivantes :

  • REVSHARE : modèle de partage des revenus.
  • RATECARD : modèle de tableau des tarifs.
  • REVSHARE_RATECARD : modèle de partage des revenus et de tableau des tarifs.
  • USAGE_TARGET : modèle de notification ajustable.

Pour en savoir plus sur les types de forfaits, consultez Types de forfaits acceptés.

N/A Oui