Configurer le plan tarifaire avec des attributs personnalisés

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

Introduction

Dans certains cas, vous pouvez avoir besoin que les compteurs de transactions soient basés sur une variable ou une valeur personnalisée. Par exemple, vous devrez peut-être:

  • Facturer aux développeurs un montant variable en fonction d'une valeur fournie dans le message d'une API . Par exemple, vous pouvez facturer les développeurs d'applications en fonction du nombre d'octets transmis dans la requête API.
  • Regroupez plusieurs appels d'API en une seule transaction.

Les plans tarifaires avec des attributs personnalisés vous permettent d'identifier une valeur dans le message d'une API qui sert de compteur et qui est utilisé pour calculer le nombre et les frais des transactions.

Les plans tarifaires suivants avec des attributs personnalisés sont acceptés:

  • Tableau des tarifs avec attribut personnalisé
  • Notification ajustable avec un attribut personnalisé

Vous pouvez définir jusqu'à 10 attributs personnalisés par plan tarifaire.

Comprendre les calculs d'attributs personnalisés

Intégration de la valeur de l'attribut personnalisé dans le nombre et les frais de transactions du plan tarifaire dépend du modèle de facturation, comme résumé dans le tableau suivant.

Modèle de recharge Calcul d'attributs personnalisés
Taux fixe et Volume avec bandes

custom attribute number * rate = charge to developer

Pour un taux fixe, le numéro d'attribut personnalisé devient le nombre de transactions sont multipliés par le tarif. Pour le volume avec bandes, le nombre de transactions dans une bande est incrémenté du numéro d'attribut personnalisé et facturé au développeur le nombre de transactions. Par exemple, si la valeur d'un attribut personnalisé dans le message est 10, 10 transactions sont facturées au développeur, puis 10 transactions sont ajoutées nombre actuel de bandes. S'il ne reste que 6 transactions au développeur dans le bande, 6 est multiplié par le taux pour cette bande. Les quatre restants vont dans le groupe suivant. et sont multipliées par le débit de cette bande.

Dans un forfait avec bandes de volume, si la dernière bande de volume a une limite (n'est pas "illimitée") et lorsqu'une transaction dépasse cette limite, deux situations se présentent:

Groupes

Étant donné que les lots sont facturés par le groupe et non par la transaction, les éléments suivants le calcul a lieu:

custom attribute number = amount added to bundle count

Par exemple, si le numéro d'attribut personnalisé dans le message est 10, 10 est ajouté à le nombre de transactions utilisées dans le bundle. Si le développeur n'avait que 6 transactions restantes dans le lot actuel, ce groupe est rempli, et l'étape suivante le nombre de lots est incrémenté de 4. Le tarif de ce prochain lot, le cas échéant, est de facturés.

Si le dernier bundle a une limite (n'est pas "illimitée") et qu'une transaction la dépasse limite, deux situations se produisent:

Notifications réglables

Pour les notifications ajustables, le calcul suivant est effectué:

custom attribute number = amount added to transaction count

Par exemple, si le numéro d'attribut personnalisé dans le message est 10, 10 est ajouté à le nombre total de transactions.

Où le plan tarifaire obtient-il valeur de l'attribut personnalisé

La règle d'enregistrement des transactions (sur l'offre groupée de produits d'API) indique à la monétisation où chercher dans pour la valeur de l'attribut personnalisé. Vous définissez l'attribut personnalisé dans la section "Attributs personnalisés". de la règle d'enregistrement des transactions pour le lot de produits API.

Vous pouvez ensuite sélectionner cet attribut personnalisé dans le plan tarifaire (après avoir créé une API). un lot de produits contenant la règle d'enregistrement des transactions attribut personnalisé défini.

Voici le processus général:

  1. Définissez les attributs personnalisés lorsque vous ajoutez un produit API.
  2. Créez un lot de produits d'API contenant le produit.
    Dans la règle d'enregistrement des transactions du lot de produits de l'API, ajoutez les attributs personnalisés qui seront pour définir des plans tarifaires.
  3. Créez un plan tarifaire de type "Tableau des tarifs" ou "Notification ajustable". pour le lot de produits de l'API et spécifiez un paramètre d'évaluation personnalisée.

La figure suivante illustre la relation entre l'attribut personnalisé défini dans la la règle d'enregistrement des transactions et la configuration du plan du tableau des tarifs. La La relation entre les notifications ajustables et les plans tarifaires d'attributs personnalisés est similaire, bien que la valeur de bande passante de volume ne soit pas applicable.

Générer l'attribut personnalisé valeur d'attribut dans le message

La règle d'enregistrement des transactions peut rechercher la valeur de l'attribut personnalisé à plusieurs endroits, telles que l'en-tête de la réponse, le corps de la réponse ou les variables de flux prédéfinies dans la réponse. (La demande n'est pas disponible, car une transaction n'est pas officielle tant que vous n'avez pas reçu response.) Les exemples ci-dessous vous montrent comment ajouter un en-tête de réponse avec sa valeur numérique au message. Dans les deux cas, nous utiliserons la règle Affecter un message avec des variables.

Ajouter la taille de la charge utile de requête à l'en-tête de réponse

Dans chaque demande de message, il existe une variable client.received.content.length qui contient le nombre d'octets dans la charge utile de la requête. En joignant une stratégie "Attribuer des messages" du point de terminaison du proxy, nous pouvons générer un en-tête de réponse nommé messageSize, contient la valeur de longueur:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Ajouter une valeur d'attribut personnalisé d'application à l'en-tête

De la même manière, nous pouvons générer un en-tête avec la valeur d'un attribut personnalisé sur une application. Par exemple, si vous incluez un attribut personnalisé appelé apprating pour chaque développeur application, comme suit:

Lorsque vous utilisez la règle Verify API Key (qui est requise pour la monétisation), cette valeur est stocké dans une variable appelée verifyapikey.{policy_name}.apprating. Utilisation de la fonction Stratégie de message associée à la réponse du point de terminaison du proxy, vous pouvez générer un en-tête appelé apprating contenant la valeur apprating de l'application:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Configurer le plan tarifaire

En dehors de la configuration des attributs personnalisés décrite ci-dessus, le plan tarifaire est configuré de la même manière comme vous le feriez habituellement (pour les plans tarifaires sans attributs personnalisés), mais vous devez respecter les les exigences suivantes.

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

Configuration d'un plan de tableau des tarifs avec un attribut personnalisé dans l'interface utilisateur

Configurez les plans de tableau des tarifs avec des attributs personnalisés à l'aide de l'interface utilisateur Edge ou Classic Edge, comme décrit dans les sections suivantes.

Edge

Pour configurer un plan de tableau des tarifs avec des attributs personnalisés à l'aide de l'interface utilisateur Edge:

  1. Définissez les attributs personnalisés lorsque vous ajoutez un produit API.
  2. Créez un lot de produits d'API contenant le produit. Consultez l'article Créer des lots de produits d'API.
    Dans la règle d'enregistrement des transactions du lot de produits de l'API, ajoutez les attributs personnalisés qui seront pour définir des plans tarifaires. Pour en savoir plus, consultez l'introduction de cette rubrique ainsi que Créez une règle d'enregistrement des transactions.
  3. Créez un plan tarifaire pour le lot de produits de l'API et spécifiez un paramètre de note personnalisée.

Pour en savoir plus, consultez l'article Configurer les détails d'un plan de tarifs à l'aide de l'interface utilisateur.

Classic Edge (cloud privé)

Pour créer un tableau des tarifs avec un plan d'attributs personnalisés à l'aide de l'interface utilisateur Classic Edge, procédez comme suit:

  1. Dans les règles d'enregistrement des transactions d'un produit API, ajoutez les attributs personnalisés pour définir des plans tarifaires. Pour en savoir plus, reportez-vous à l'introduction de cette rubrique et à l'article Créer une transaction règle d'enregistrement. Procédez ainsi pour chaque produit d'API que vous souhaitez inclure dans le package d'API.
  2. Une fois que les produits d'API et les règles d'enregistrement des transactions sont configurés exactement souhaitez les obtenir, créez un package d'API contenant le produit. Consultez la section Créer des packages d'API.
  3. Créez un plan tarifaire pour le package d'API, en sélectionnant le type de plan tarifaire Tableau des tarifs avec un attribut personnalisé.
  4. Cliquez sur le lien Tableau des tarifs. La fenêtre "Tableau des tarifs" s'ouvre.

  5. Sélectionnez un attribut personnalisé dans le menu déroulant Attribut personnalisé. Le menu affiche la liste créés pour le produit dans une règle d'enregistrement des transactions. Le développeur est facturé en fonction de la valeur de l'attribut personnalisé sélectionné pour chaque transaction.
    (Valeur de l'attribut * tarif = frais facturés au développeur)
  6. Vous pouvez également configurer un forfait freemium comme décrit dans la section Spécifier un plan détails.
  7. Configurez un modèle de facturation conformément aux instructions de la section Définir le plan du tableau des tarifs détails. Notez toutefois que pour le tableau des tarifs avec type de plan "Attribut personnalisé", modèle de facturation est basé sur l'attribut personnalisé que vous sélectionnez. Par exemple, si vous choisissez "Plat Tarif en tant que modèle de facturation : le développeur paie un tarif fixe basé sur le , tel que le nombre d'octets transmis dans chaque transaction (et non un taux fixe pour chaque transaction). Pour en savoir plus, consultez la section Calculs.
  8. Cliquez sur Enregistrer Brouillon.
    Ne publiez le plan que lorsque vous êtes absolument sûr qu'il est définitif. Voir Publier plans tarifaires pour savoir comment définir la date de publication et publier les du client.

Pour plus d'informations, voir Spécifier les détails du plan du tableau des tarifs à l'aide de l'interface utilisateur

Configuration d'un plan de notifications ajustable avec des attributs personnalisés à l'aide de l'UI

Configurez des plans de notification ajustables avec des attributs personnalisés, comme décrit ci-dessous.

Edge

Pour configurer un plan de tableau des tarifs avec des attributs personnalisés à l'aide de l'interface utilisateur Edge:

  1. Définissez les attributs personnalisés lorsque vous ajoutez un produit API.
  2. Créez un lot de produits d'API contenant le produit. Consultez l'article Créer des lots de produits d'API.
    Dans la règle d'enregistrement des transactions du lot de produits de l'API, ajoutez les attributs personnalisés qui seront pour définir des plans tarifaires. Pour en savoir plus, consultez l'introduction de cette rubrique ainsi que Créez une règle d'enregistrement des transactions.
  3. Créez un plan tarifaire pour le lot de produits de l'API et spécifiez un paramètre de note personnalisée.

Pour en savoir plus, consultez Configurer un plan de notifications ajustable à l'aide de l'interface utilisateur.

Classic Edge (cloud privé)

Pour configurer un plan de tableau des tarifs avec des attributs personnalisés à l'aide de l'interface utilisateur Classic Edge:

  1. Dans les règles d'enregistrement des transactions d'un produit API, ajoutez les attributs personnalisés pour définir des plans tarifaires. Pour en savoir plus, reportez-vous à l'introduction de cette rubrique et à l'article Créer une transaction règle d'enregistrement. Procédez ainsi pour chaque produit d'API que vous souhaitez inclure dans le package d'API.
  2. Une fois que les produits d'API et les règles d'enregistrement des transactions sont configurés exactement souhaitez les obtenir, créez un package d'API contenant le produit. Consultez la section Créer des packages d'API.
  3. Créez un plan tarifaire pour le package d'API, en sélectionnant le type de plan tarifaire Ajustable Notification avec un attribut personnalisé.
  4. Cliquez sur le lien Détails. La fenêtre de notification ajustable s'ouvre fenêtre.

  5. Sélectionnez un attribut personnalisé dans le menu déroulant Attribut personnalisé. Menu Répertorie les attributs personnalisés créés pour le produit dans une règle d'enregistrement des transactions. La le nombre total de transactions du développeur est calculé en fonction de la valeur attribut personnalisé pour chaque transaction.
  6. Définissez la Base d'agrégation sur la période de temps au cours de laquelle le volume les transactions sont agrégées. Sélectionnez un nombre compris entre 1 et 24 mois. La valeur par défaut est 1 mois.
  7. Cliquez sur Appliquer et fermer.
  8. Cliquez sur Enregistrer Brouillon.
    Ne publiez le plan que lorsque vous êtes absolument sûr qu'il est définitif. Voir Publier plans tarifaires pour savoir comment définir la date de publication et publier les du client.

Pour plus d'informations, voir Spécifier les détails du plan de notification ajustable à l'aide de l'interface utilisateur

Spécifier les détails d'un plan tarifaire avec des attributs personnalisés à l'aide de l'API

Effectuez les étapes préalables suivantes:

  1. Dans les règles d'enregistrement des transactions d'un produit API, ajoutez les attributs personnalisés pour définir des plans tarifaires. Pour en savoir plus, reportez-vous à l'introduction de cette rubrique et à l'article Créer une transaction règle d'enregistrement. Procédez ainsi pour chaque produit d'API que vous souhaitez inclure dans le package d'API.
  2. Une fois que les produits d'API et les règles d'enregistrement des transactions sont configurés exactement souhaitez les obtenir, créez un package d'API contenant le produit. Consultez la section Créer des packages d'API.

Vous allez ensuite utiliser l'API pour créer le plan tarifaire.

Vous spécifiez les détails d'un plan tarifaire avec des attributs personnalisés lorsque vous le créez. Toi spécifiez les détails dans la propriété ratePlanDetails dans le corps de la requête, dans une à /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Dans vous spécifiez une valeur de paramètre "rating" qui identifie le nom de la . Vous pouvez également spécifier une valeur de paramètre "rating" qui regroupe l'attribut personnalisé sur un intervalle de temps spécifié.

Voir Plan tarifaire paramètres de configuration des détails du plan tarifaire pour obtenir la liste complète des options de détails du plan tarifaire.

L'exemple suivant permet de créer un tableau des tarifs avec un plan d'attributs personnalisés, en fonction d'un tableau des tarifs nommé messageSize (voir les éléments en gras).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "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" \
-u email:password

L'exemple suivant crée une notification ajustable avec un plan tarifaire pour un attribut personnalisé en fonction d'un attribut personnalisé nommé messageSize (voir l'élément en gras).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password