Gérer les plans tarifaires

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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

Explorer la page des plans tarifaires

Accédez à la page des plans tarifaires, comme décrit ci-dessous.

Périphérie

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 de:

Classic Edge (cloud privé)

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

  1. Connectez-vous à http://ms-ip:9000, où ms-ip correspond à l'adresse IP ou au nom DNS du nœud du serveur de gestion.
  2. Sélectionnez Publish > Packages (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 de:

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 plan tarifaire.

    REMARQUE: Dans un lot de produits API, le nom doit être unique. Deux forfaits dans un même lot de produits ne peuvent pas avoir le même nom.

    N/A 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 plans tarifaires valides, consultez la section Types de plans tarifaires acceptés. N/A Oui
    Lot de produits Lot de produits API. Sélectionnez une valeur dans la liste déroulante. Pour en savoir plus sur les lots de produits API, consultez Gérer les lots de produits API.

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

    N/A Oui
    Audience Audience ayant accès au plan tarifaire. 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 l'entreprise. Au fur et à mesure de la saisie, une liste des développeurs/entreprises qui contiennent 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 du développeur : catégorie du développeur. Sélectionnez la catégorie de développeur dans la liste déroulante.

      Configurez les catégories de développeurs comme indiqué 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 l'option Comporte une date de fin,puis saisissez une date de fin ou sélectionnez-en une à l'aide du calendrier.

    REMARQUE: Le plan tarifaire s'applique jusqu'à la fin de la journée à la date spécifiée. Par exemple, si vous voulez qu'un plan tarifaire expire le 1er décembre 2018, définissez la valeur "endDate" sur "2018-11-30". Dans ce cas, le plan tarifaire expirera le 30 novembre 2018 à la fin de la journée. Toutes les demandes du 1er décembre 2018 seront bloquées.

    Aucun Non
    Visible par les portails Indiquez si le plan tarifaire est public ou privé. Consultez la section Forfaits publics/privés. Activées Non
  4. Configurez les frais pour le plan tarifaire. Consultez la section Configurer les frais pour un plan tarifaire.
    REMARQUE: Non applicable aux plans de notification ajustables.
  5. Si vous sélectionnez un lot 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 spécifiant si un plan tarifaire individuel doit être configuré pour chaque produit d'API. Désactivé
    Configurer l'offre freemium de chaque produit individuellement Indicateur spécifiant s'il faut configurer un plan freemium pour chaque produit d'API. Désactivé
    Sélectionnez un produit Si vous activez l'une des options ou les deux, vous devez sélectionner chaque produit individuellement dans la liste déroulante et configurer les détails de son plan tarifaire.

    REMARQUE: Veillez à configurer tous les produits du lot de produits.

    N/A
  6. Configurez les détails du plan tarifaire en fonction du type de plan tarifaire sélectionné:
  7. Cliquez sur l'une des options suivantes:
    Bouton Description
    Enregistrer comme brouillon Enregistrez le plan tarifaire en tant que 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 dans un plan tarifaire brouillon.

    Publier le nouveau plan Publiez le plan.

    REMARQUE: Après avoir publié un plan tarifaire, vous ne pouvez modifier sa date de fin que si elle n'est pas déjà définie. Vous ne pouvez pas supprimer un plan tarifaire après sa publication, mais vous pouvez le faire expirer et le remplacer par un plan tarifaire futur, comme décrit dans la section Expiration d'un plan tarifaire publié.

  8. Joignez 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" permet d'appliquer des limites de monétisation aux proxys d'API et garantit que les erreurs sont identifiées avec précision dans les rapports d'analyse et de monétisation. Pour en savoir plus, consultez Appliquer des limites de monétisation sur les proxys d'API.

Modifier un plan tarifaire

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

Pour modifier un plan tarifaire:

  1. Accédez à la page "Plans tarifaires".
  2. Cliquez sur la ligne du plan tarifaire que vous souhaitez modifier.
    Le panneau du plan tarifaire s'affiche.
  3. Si nécessaire, modifiez les champs du plan tarifaire.
    REMARQUE: Après avoir publié un plan tarifaire, vous ne pouvez modifier sa date de fin que si elle n'est pas déjà définie.
  4. Cliquez sur l'une des options suivantes:
    Bouton Description
    Mettre à jour le brouillon (plans tarifaires ébauchés) Enregistrez le plan tarifaire en tant que 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 dans un plan tarifaire brouillon.
    Publier le brouillon (plans tarifaires ébauchés) Publiez le plan tarifaire.

    REMARQUE: Après avoir publié un plan tarifaire, vous ne pouvez modifier sa date de fin que si elle n'est pas déjà définie. Vous ne pouvez pas supprimer un plan tarifaire après sa publication, mais vous pouvez le faire expirer et le remplacer par un plan tarifaire futur, comme décrit dans la section Expiration d'un plan tarifaire publié.
    Date de fin mise à jour (plans tarifaires publiés) Définissez la date de fin d'un plan publié.

    REMARQUE: Une fois la date de fin définie pour un plan tarifaire publié, vous ne pouvez plus la modifier.

Supprimer un plan tarifaire brouillon

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

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

Pour supprimer un plan tarifaire brouillon:

  1. Accédez à la page "Plans tarifaires".
  2. Placez le curseur sur le plan tarifaire 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 groupe de produits API pour lequel vous créez le plan tarifaire (l'identifiant est renvoyé dans la réponse lorsque vous créez le lot de produits API).

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

  • ID de l'organisation
  • ID du lot de produits API
  • Nom du plan tarifaire
  • Description du plan tarifaire
  • Champ d'application du plan tarifaire (qu'il s'applique à tous les développeurs ou à un développeur, une entreprise ou une catégorie de développeurs spécifique)
  • Date d'entrée en vigueur du plan tarifaire
  • Devise du plan tarifaire
  • Publier ou non le plan tarifaire
  • si le plan tarifaire est public ou privé ;

Vous pouvez éventuellement spécifier d'autres paramètres, tels que la période d'échéance du paiement (par exemple, 30 jours). Consultez la section Propriétés de configuration des plans tarifaires.

Si vous créez un plan tarifaire (autre qu'un forfait payant) pour un lot de produits API comprenant plusieurs produits, vous pouvez l'appliquer à un produit spécifique du lot de produits. Pour ce faire, identifiez le produit dans la requête. Si vous n'identifiez pas de produit, le forfait s'applique à tous les produits du lot de produits API.

Les sections suivantes décrivent 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 plan tarifaire pour les développeurs ou l'entreprise à l'aide de l'API

Pour appliquer le plan tarifaire à 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 identifiant l'ID, le nom légal et le nom du développeur 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 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 du développeur dans la requête. 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 lots de produits API qui incluent plusieurs produits API, vous pouvez spécifier les détails du plan tarifaire pour chaque produit API.

Par exemple, le code suivant 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 API au groupe de produits API my-package, vous devez ajouter les détails du plan tarifaire correspondant au produit API dans le corps de la requête, comme décrit dans la section Ajouter un produit d'API à un lot de produits 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 plan tarifaire, vous pouvez spécifier s'il est public ou privé à l'aide de l'attribut isPrivate dans le corps de la requête. S'il est défini sur true, le plan tarifaire est privé. Pour en savoir plus, consultez la section Forfaits publics et privés.

Par exemple, le code suivant crée un plan tarifaire 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" lors de la création du plan tarifaire. Les développeurs pourront consulter le plan tarifaire à partir de la date spécifiée dans la propriété startDate du plan.

Par exemple, l'extrait de code suivant crée un plan de tableau des tarifs et le publie (seule une partie de la demande 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, la requête suivante crée un plan de tableau des tarifs et l'enregistre en tant que brouillon (seule une partie de la demande s'affiche):

$ 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} identifie le package d'API et {plan_Id} l'identification du plan tarifaire. Lorsque vous effectuez la mise à jour, vous devez spécifier les paramètres mis à jour dans le corps de la requête, ainsi que l'ID du plan tarifaire. Si vous mettez à jour un tarif, vous devez également spécifier l'ID du tarif. Par exemple, la requête suivante met à jour le tarif d'un plan tarifaire dans un plan dont l'ID est location_flat_rate_card_plan (la modification est mise en surbrillance):

$ 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 plan tarifaire mis à jour (seule une partie de la réponse s'affiche):

…
"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 spécifiant si tous les plans tarifaires doivent être renvoyés. Si la valeur est 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, 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, il 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 pour un lot de produits API à l'aide de l'API

Pour afficher tous les plans tarifaires 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. Pour inclure:

  • Plans tarifaires brouillons ou expirés : définissez le paramètre de requête current sur false (par exemple, ?current=false).
  • Pour les plans tarifaires privés, définissez le paramètre de requête showPrivate sur true (par exemple, ?showPrivate=true).
  • Pour tous les plans tarifaires 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 le plan tarifaire d'un package d'API, envoyez une demande GET à /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id}, où {package_id} est l'ID du package d'API et {plan_id} est l'ID du plan tarifaire (l'ID du package est renvoyé lorsque vous créez le package de monétisation, et l'ID de plan tarifaire est renvoyé lors de la création du 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 demande GET à /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans, où {developer_id} est 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 spécifiant si tous les packages d'API doivent être renvoyés. Si la valeur est 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, 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, il 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 demande 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 qui contient un produit 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 plan tarifaire public est renvoyé dans les résultats. Pour afficher un plan tarifaire privé, 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 plans tarifaires qui ont été acceptés par un développeur, envoyez une requête GET à /mint/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, où {developer_id} correspond à 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 spécifiant si tous les packages d'API doivent être renvoyés. Si la valeur est 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, 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, il 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} est l'identifiant du plan tarifaire à supprimer et {package_id} est l'identifiant 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 des plans tarifaires

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. Option qui indique 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, pour une période 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 : des frais récurrents sont facturés à la fin de la période. Par exemple, pour une période d'un mois, les frais récurrents sont facturés sur la facture à la fin du mois de facturation en cours. Il s'agit de la valeur par défaut.
false 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 plan tarifaire. Indiquez 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 de développeur (adresse e-mail). À spécifier pour les plans tarifaires développeur uniquement.

N/A Non
developerCategory

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

N/A Non
displayName

Nom à afficher convivial pour le plan tarifaire.

N/A Oui
earlyTerminationFee

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

N/A Non
endDate

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

Le plan tarifaire s'applique jusqu'à la fin de la journée, à la date spécifiée. Par exemple, si vous voulez qu'un plan tarifaire expire le 1er décembre 2016, définissez la valeur endDate sur 2016-11-30. Dans ce cas, le plan tarifaire expirera le 30 novembre 2016 à la fin de la journée. Toutes les requêtes du 1er décembre 2016 seront bloquées.

REMARQUE: Lorsque vous affichez le plan tarifaire à l'aide de l'API, l'horodatage endDate est spécifié en tant que YYYY-MM-DD 00:00:00, ce qui peut être trompeur.

N/A Non
freemiumDuration

Durée 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

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

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

Quantité de freemium La valeur peut être le nombre de transactions ou le 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. Délai entre les frais récurrents et frequencyDurationType. Par exemple, pour spécifier que l'intervalle entre les frais de facturation est de 30 jours, définissez frequencyDuration sur 30 et frequencyDurationType sur DAY.

N/A Non
frequencyDurationType Valable uniquement pour les frais récurrents. Délai entre les frais récurrents et frequencyDuration. Voici les valeurs possibles :
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Non
isPrivate Indicateur spécifiant si le plan tarifaire est public ou privé. La valeur par défaut est false (public). Pour en savoir plus, consultez la section Forfaits publics et privés. N/A Non
monetizationPackage

ID du groupe de produits API pour le plan tarifaire.

N/A Non
name

Nom du plan tarifaire.

N/A Oui
organization

Identifiant de l'organisation pour le plan tarifaire.

N/A Oui
paymentDueDays

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

N/A Non
proRate

Valable uniquement pour les frais récurrents. Option indiquant si les frais récurrents sont calculés au prorata lorsqu'un développeur commence ou termine un forfait au cours du mois. Les valeurs valides sont les suivantes:

  • true : les frais initiaux sont calculés au prorata du nombre de jours restants avant la fin de la période (ou du nombre de jours utilisés au cours de la période).
  • false : le développeur paie le montant total des frais initiaux, quelle que soit la date à laquelle il commence (ou prend fin) le forfait. Il s'agit de la valeur par défaut.
false Non
published

Indicateur spécifiant 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 publiez pas le plan tarifaire.
N/A Oui
ratePlanDetails

Détails du plan tarifaire (consultez les propriétés de la configuration pour en savoir plus sur le plan tarifaire).

N/A Oui
recurringFee

Frais facturés au développeur en continu jusqu'à ce qu'il mette fin au forfait.

N/A Non
recurringStartUnit

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

N/A Non
recurringType

Planifiez le paiement des frais récurrents. Les valeurs valides sont les suivantes :

  • CALENDAR : programmation basée sur un agenda.
  • CUSTOM : planifiée en fonction d'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 à laquelle le développeur achète le forfait).

N/A Non
startDate

Date de début du plan. Les développeurs peuvent consulter le plan tarifaire à 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 dans la catégorie sélectionnée.
  • DEVELOPER. S'applique à un développeur ou à une entreprise spécifique.
N/A Oui

Propriétés de la configuration pour les détails du plan tarifaire

Vous pouvez spécifier l'une des propriétés de configuration suivantes dans le tableau ratePlanDetails lors de la création du plan tarifaire.

Nom Description Par défaut Obligatoire ?
aggregateFreemiumCounters

Indicateur spécifiant si les compteurs agrégés sont activés pour déterminer si l'utilisation d'un produit d'API se situe dans la plage libre. Vous devez activer les compteurs d'agrégation afin de configurer un forfait freemium pour un produit. Les valeurs valides sont les suivantes :

  • true : active les compteurs agrégés.
  • false : les compteurs agrégés ne sont pas activés.
N/A Non
aggregateStandardCounters

Indicateur spécifiant si des compteurs agrégés sont utilisés pour déterminer la bande d'utilisation (par exemple, une bande de volume pour un plan de tableau des tarifs). 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

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

true Non
currency

Devise

N/A Non
duration

Période correspondant à 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

Durée de la fréquence de calcul, avec duration. La seule valeur valide est MONTH.

Consultez duration pour obtenir un exemple d'utilisation.

N/A Non
freemiumDuration

Durée de la période freemium pour un produit d'API individuel, avec l'attribut 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

Durée de la période freemium pour un produit d'API individuel, avec l'attribut 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 API est de 30 jours, définissez freemiumDuration sur 30 et freemiumDurationType sur DAY.

N/A Non
freemiumUnit

Quantité de freemium pour un produit API. La valeur peut être le nombre de transactions ou le 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 pour un plan avec tableau des tarifs. Les valeurs valides sont les suivantes :

  • UNIT : modèle de facturation à taux fixe.
  • VOLUME : modèle de recharge par bandes de volume.
  • STAIR_STEP : modèle de recharge groupé.
  • DEV_SPECIFIC : modèle de recharge ajustable pour les notifications. Non valable pour les autres modèles de revenus.
N/A oui
organization

ID de l'organisation.

N/A Non
paymentDueDays

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

N/A Non
product

Informations sur le produit API, telles que son identifiant.

N/A Non
ratePlanRates

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

N/A Oui
ratingParameter

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

  • VOLUME : le plan tarifaire est basé sur le volume de transactions.
  • custom_attribute : nom d'un attribut personnalisé qui est défini dans la règle d'enregistrement des transactions pour le produit d'API et qui n'est valide que pour les plans de tableau des tarifs. Le nom de l'attribut personnalisé ne peut pas être défini comme VOLUME.
VOLUME Oui
ratingParameterUnit

L'unité qui s'applique au paramètre ratingParameter. Only required if ratingParameter est définie sur un attribut personnalisé (c'est-à-dire, non définie sur VOLUME).

N/A Oui
revenueType

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

  • GROSS : le partage des revenus est basé sur un pourcentage du prix brut d'une transaction.
  • NET : le partage des revenus est basé 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 part des revenus et de tableau des tarifs.
  • USAGE_TARGET : modèle de notification ajustable.

Pour en savoir plus sur les types de plans tarifaires, consultez l'article Types de plans tarifaires acceptés.

N/A Oui