Configurer une règle d'enregistrement des transactions

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

Configurez des règles d'enregistrement des transactions pour chaque produit API de votre lot de produits d'API, comme décrit dans les sections suivantes.

Introduction

Une règle d'enregistrement des transactions permet à la monétisation de capturer les paramètres des transactions et attributs personnalisés. La monétisation a besoin de ces informations pour traiter la monétisation comme l'application de plans tarifaires.

Par exemple, si vous configurez un plan tarifaire pour la part des revenus, un pourcentage du revenu généré par chaque transaction impliquant votre produit d'API monétisé est partagé avec le développeur de l'application émettant la requête. La part des revenus est basée sur le revenu net ou brut prix de la transaction (que vous spécifiez), c'est-à-dire un pourcentage du prix brut ou net de chaque transaction est utilisé pour déterminer la part des revenus. C'est pourquoi la monétisation pour connaître le prix brut ou net d'une transaction, selon le cas. Il obtient le prix brut ou net à partir des paramètres définis dans la règle d'enregistrement des transactions.

Si vous configurez un tableau des tarifs pour lequel vous facturez le développeur pour chaque transaction, vous pouvez définir le tarif du forfait en fonction d'un attribut personnalisé, comme le nombre d'octets transmis dans une transaction. Les responsables de la monétisation doivent savoir ce qu'est l'attribut personnalisé et où le trouver. Vous devez donc spécifier l'attribut personnalisé dans la règle d'enregistrement des transactions.

En plus de spécifier les attributs de transaction dans la règle d'enregistrement des transactions, vous pouvez spécifier des critères de réussite de transaction pour déterminer quand une transaction aboutit (par de recharge). Pour obtenir des exemples de définition de critères de réussite de transaction, consultez la section Exemples de définition de critères de réussite de transaction dans un enregistrement de transaction règle. Vous pouvez également spécifier des attributs personnalisés pour un produit API (pour lequel vous basez votre tarif frais de service).

Configurer une règle d'enregistrement des transactions

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

Edge

Lorsque vous ajoutez un lot de produits d'API à l'aide de l'interface utilisateur Edge, vous devez configurer la règle d'enregistrement des transactions. en procédant comme suit:

  1. Sélectionnez le produit API à configurer dans la section Règle d'enregistrement des transactions (si le lot de produits contient plusieurs produits API).
  2. Configurez les attributs de transaction.
  3. Configurez des attributs personnalisés.
  4. Associez des ressources à des ID de transaction uniques.
  5. Configurer des remboursements
  6. Répétez l'opération pour chaque produit API défini dans le lot de produits API.

Classic Edge (cloud privé)

Pour configurer une règle d'enregistrement des transactions à l'aide de l'interface utilisateur Classic Edge:

  1. Connectez-vous à http://ms-ip:9000, où ms-ip est le Adresse IP ou nom DNS du nœud du serveur de gestion.
  2. Sélectionnez Publier > Produits dans la barre de navigation supérieure.
  3. Cliquez sur + Règle d'enregistrement des transactions sur la ligne de l'API concernée. produit. La fenêtre "Nouvelle règle d'enregistrement des transactions" s'affiche.
  4. Configurez la règle d'enregistrement des transactions en procédant comme suit: <ph type="x-smartling-placeholder">
  5. Cliquez sur Enregistrer.

Configurer des attributs de transaction

Dans la section Attributs de la transaction, spécifiez les critères indiquant une transaction de monétisation réussie.

  1. Dans le champ Transaction Success Critères (Critères de réussite de la transaction), spécifiez l'expression en fonction de la valeur de l'attribut "Status" (État). (décrit ci-après) pour déterminer quand la transaction aboutit (à des fins de facturation). Transactions ayant échoué (c'est-à-dire qu'ils ne répondent pas aux critères de l'expression) sont enregistrés, mais les plans tarifaires ne leur sont pas appliqués. Exemple :

    txProviderStatus == 'OK'

  2. L'attribut Status contient la valeur utilisée par l'expression configurée dans le champ Critères de réussite de la transaction. Configurez l'attribut Status en définissant les champs suivants:
    Champ Description
    Ressource de l'API Formats d'URI définis dans le produit d'API et qui seront utilisés pour identifier les transactions monétisées.
    Emplacement des réponses Emplacement de la réponse où l'attribut est spécifié. Les valeurs valides incluent: la variable de flux, l'en-tête, le corps JSON et le corps XML.
    Valeur Valeur de la réponse. Pour spécifier plusieurs valeurs, cliquez sur + Ajouter x (par exemple, + Ajouter une variable de flux).
  3. Pour configurer des attributs de transaction facultatifs, activez l'option Use Optional Attributes (Utiliser des attributs facultatifs), puis configurez tout attribut de transaction défini dans le tableau suivant.
    Attribut Description
    Prix brut

    Cet attribut n'est applicable qu'aux plans tarifaires qui utilisent le modèle de partage des revenus. Pour ces plans tarifaires, vous devez indiquer le prix brut ou le prix net. Vérifiez que la propriété la valeur numérique est exprimée sous la forme d'un type de chaîne. Prix brut d'une transaction. Pour les plans de partage des revenus, vous devez enregistrer soit l'attribut Prix brut, soit le Prix net . L'attribut requis dépend de la part des revenus. Pour Par exemple, vous pouvez configurer un plan tarifaire avec partage des revenus basé sur le prix brut d'un transaction. Dans ce cas, le champ Prix brut est obligatoire.

    Prix net

    Cet attribut n'est applicable qu'aux plans tarifaires qui utilisent le modèle de partage des revenus. Pour ces plans tarifaires, vous devez indiquer le prix brut ou le prix net. Vérifiez que la propriété la valeur numérique est exprimée sous la forme d'un type de chaîne. Prix net d'une transaction. Pour des plans de partage des revenus, vous devez enregistrer soit le champ Prix net, soit le champ Prix brut . Le champ obligatoire varie en fonction du partage des revenus. Par exemple : vous pouvez définir un plan tarifaire avec partage des revenus basé sur le prix net d'une transaction. Dans ce cas, le champ Prix net est obligatoire.

    Devise

    Cet attribut est obligatoire pour les plans tarifaires qui utilisent le modèle de partage des revenus. Type de devise appliquée à la transaction.

    Code d'erreur

    Code d'erreur associé à la transaction. Il offre en outre les informations relatives à l'échec d'une transaction.

    Description de l'article

    Description de la transaction.

    Taxes

    Cet attribut n'est pertinent que pour les modèles de partage des revenus et uniquement si le montant des taxes est capturé dans les appels d'API. Assurez-vous que la valeur numérique est exprimée en tant que type "String" (Chaîne). Montant des taxes appliquées à l'achat. Prix net plus taxes = prix brut.

Par exemple, en définissant les valeurs suivantes, la monétisation obtient la valeur de la variable de flux à partir de la réponse au message dans une appelée response.reason.phrase. Si la valeur est correcte et la Règle sur la vérification des limites de monétisation attaché à la demande ProxyEndpoint de l'API, la monétisation compte comme une transaction.

Champ Valeur
Critères de réussite des transactions txProviderStatus == 'OK'
État: ressource API **
État: Emplacement de la réponse Variable de flux
État: variable de flux response.reason.phrase

Configurer des attributs personnalisés

Dans la section Attributs personnalisés, vous identifiez les attributs personnalisés à inclure dans le paramètre d'enregistrement des transactions. Par exemple, si vous définissez un tableau des tarifs dans lequel vous facturez le développeur pour chaque vous pouvez définir le tarif du forfait en fonction d'un attribut personnalisé, comme le nombre octets transmis dans une transaction. Vous devez ensuite inclure cet attribut personnalisé dans le champ d'enregistrement des transactions.

Chacun de ces attributs est stocké dans le journal des transactions, que vous pouvez interroger. Ils sont également lorsque vous créez un plan tarifaire (vous pouvez ainsi choisir un ou plusieurs de ces attributs sur lequel baser le tarif du plan).

Vous pouvez inclure des attributs personnalisés définis dans la règle d'enregistrement des transactions dans vos revenus. des rapports récapitulatifs, comme décrit dans Y compris la transaction personnalisée dans les rapports récapitulatifs sur les revenus.

Pour configurer des attributs personnalisés, activez l'option Utiliser des attributs personnalisés, puis définissez jusqu'à 10 attributs personnalisés. Pour chaque attribut personnalisé que vous incluez dans la règle d'enregistrement des transactions, vous devez spécifier les informations suivantes :

Champ Description
Nom de l'attribut personnalisé Saisissez un nom décrivant l'attribut personnalisé. Si le plan tarifaire est basé sur un attribut personnalisé, ce nom est visible par l'utilisateur dans les détails du plan tarifaire. Par exemple, si l'attribut personnalisé capture la durée, vous devez nommer l'attribut durée. Les unités réelles de l'attribut personnalisé (heures, minutes ou secondes, par exemple) sont définies dans le champ d'unité de note. lorsque vous créez un plan tarifaire à l'aide d'attributs personnalisés. (voir Spécifier le plan tarifaire avec les détails des attributs personnalisés).
Ressource de l'API Sélectionnez un ou plusieurs suffixes d'URI (c'est-à-dire le fragment d'URI suivant le chemin de base) d'une ressource d'API accessible dans la transaction. Les ressources disponibles sont les mêmes que pour les attributs de transaction.
Emplacement des réponses Sélectionnez l'emplacement dans la réponse où l'attribut est spécifié. Les valeurs valides incluent: la variable de flux, l'en-tête, le corps JSON et le corps XML.
Valeur Indiquez une valeur pour l'attribut personnalisé. Chaque valeur que vous spécifiez correspond à un champ, un paramètre ou un élément de contenu qui fournit l'attribut personnalisé à l'emplacement spécifié. Pour spécifier plusieurs valeurs, cliquez sur + Ajouter x (par exemple, + Ajouter une variable de flux).

Par exemple, si vous configurez un attribut personnalisé intitulé "Longueur du contenu" et que vous sélectionnez "En-tête" comme emplacement de réponse, Si la valeur "Longueur du contenu" est indiquée dans le champ "Longueur du contenu HTTP", vous devez spécifier Content-Length comme valeur.

Certaines transactions sont simples et impliquent un appel d'API à une ressource. Toutefois, d'autres les transactions peuvent être plus complexes. Par exemple, supposons qu'une transaction pour l'achat d'un produit dans une application de jeu mobile implique plusieurs appels de ressources:

  • Un appel à une API de réservation qui garantit qu'un utilisateur prépayé dispose d'un crédit suffisant pour acheter le produit et alloue ("réserve") les fonds pour l'achat.
  • Appel à une API de charge qui déduit les fonds du compte de l'utilisateur prépayé.

Pour traiter l'intégralité de la transaction, la monétisation doit pouvoir être associée à la première ressource (la et une réponse vers et depuis l'API Reserve) par la deuxième ressource (l'appel et la réponse et de l'API de charge). Pour ce faire, Google Analytics s'appuie sur les informations que vous spécifiez dans l'API dans la section Associer des ressources à l'aide d'un ID de transaction unique.

Pour configurer des attributs personnalisés, activez l'option Utiliser des ID de transaction uniques. les transactions. Pour chaque transaction, vous spécifiez une ressource, un emplacement de réponse et une valeur d'attribut associées aux valeurs correspondantes dans l'autre des transactions.

Par exemple, supposons que l'appel d'API de réservation et l'appel d'API de facturation soient associés comme suit : le champ nommé session_id dans l'en-tête de réponse de l'API Reserve correspond à une en-tête de réponse nommé reference_id de l'API de charge. Dans ce cas, vous pouvez définir les entrées dans la section "Link Resources with Unique Transaction ID" (Associer des ressources avec un ID de transaction unique) comme suit:

Ressource Emplacement de la réponse Valeur
reserve/{id}**

En-tête

session_id
/charge/{id}**

En-tête

reference_id

Configurer des remboursements

Dans la section Remboursements, vous indiquez les attributs la monétisation pour traiter les remboursements.

Par exemple, supposons qu'un utilisateur achète un produit auprès d'un Application mobile utilisant vos API monétisées. La transaction est monétisée en fonction votre plan de revenus. Toutefois, supposons que l'utilisateur n'est pas satisfait du produit et qu'il souhaite le retourner. Si le produit est remboursé via un appel à votre API qui effectue le remboursement, la monétisation les ajustements de monétisation nécessaires. Pour ce faire, il utilise les informations spécifiées dans Section "Remboursements" des conditions d'enregistrement des transactions.

Pour configurer des remboursements, activez l'option Utiliser des attributs de remboursement et définissez les détails du remboursement:

  1. Définissez les critères de remboursement en définissant les champs suivants:
    Champ Description
    Emplacement des réponses Ressource pour la transaction de remboursement. Si le produit API fournit plusieurs ressources, vous ne pouvez sélectionner que celle qui effectue le remboursement.
    Critères de réussite d'un remboursement Expression basée sur la valeur de L'attribut "Status" (État) (décrit ci-après) permet de déterminer si l'opération de remboursement a abouti (pour la facturation finalités). Rembourser les transactions ayant échoué (c'est-à-dire celles qui ne répondent pas aux critères définis dans le expression) sont enregistrées, mais les plans tarifaires ne leur sont pas appliqués. Exemple :

    txProviderStatus == 'OK'

  2. Configurez l'attribut Status en définissant les champs suivants:
    Champ Description
    Emplacement des réponses Emplacement de la réponse où l'attribut est spécifié. Les valeurs valides incluent: la variable de flux, l'en-tête, le corps JSON et le corps XML.
    Valeur Valeur de la réponse. Pour spécifier plusieurs valeurs, cliquez sur + Ajouter x (par exemple, + Ajouter une variable de flux).
  3. Configurez l'attribut ID du parent en définissant les champs suivants:
    Champ Description
    Emplacement des réponses Emplacement de la réponse où l'attribut est spécifié. Les valeurs valides incluent: la variable de flux, l'en-tête, le corps JSON et le corps XML.
    Valeur ID de la transaction pour laquelle un remboursement est traité. Par exemple, si un utilisateur achète un produit, puis demande un remboursement, le L'ID de la transaction parente est l'ID de la transaction d'achat. Pour spécifier plusieurs valeurs, cliquez sur + Ajouter x (par exemple, + Ajouter une variable de flux).
  4. Pour configurer des attributs de remboursement facultatifs, activez l'option Utiliser des attributs de remboursement facultatifs, puis configurez les attributs. Les attributs de remboursement facultatifs sont identiques aux attributs de transaction facultatifs, tels que définis dans Configurer des attributs de transaction

Gérer les règles d'enregistrement des transactions à l'aide de l'API

Les sections suivantes décrivent comment gérer les règles d'enregistrement des transactions à l'aide de l'API.

Créer une règle d'enregistrement des transactions à l'aide de l'API

Vous spécifiez une règle d'enregistrement des transactions en tant qu'attribut d'un produit API. La valeur du paramètre identifie:

  • Suffixe de l'URI de la ressource produit à laquelle la règle d'enregistrement des transactions est appliquée joint. Le suffixe contient une variable de modèle placée entre accolades. Le modèle est évaluée par les services d'API au moment de l'exécution. Par exemple, le suffixe d'URI suivant inclut la variable de modèle {id}.
    /reserve/{id}**
    

    Dans ce cas, les services d'API évaluent le suffixe d'URI de la ressource en tant que /reserve suivi de tout sous-répertoire commençant par un ID défini par l'API. un fournisseur de services agréé.

  • Ressource figurant dans la réponse à laquelle elle est associée. Un produit API peut avoir plusieurs ressources et chaque ressource peut être associée à une stratégie d'enregistrement des transactions pour cette ressource.
  • Une stratégie d'extraction de variable qui permet à la règle d'enregistrement des transactions d'extraire le contenu à partir d'un message de réponse pour les paramètres de transaction que vous souhaitez capturer.

Pour ajouter l'attribut de règle d'enregistrement des transactions à un produit d'API, vous devez envoyer une requête PUT. à l'API de gestion https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (et non à une API de monétisation).

Spécifier des critères de réussite de transaction à l'aide de l'API

Vous pouvez spécifier des critères de réussite de transaction pour déterminer quand une transaction aboutit (à des fins de recharge). Les transactions qui échouent (c'est-à-dire qu'elles répondent aux critères) dans l'expression) sont enregistrées, mais les plans tarifaires ne leur sont pas appliqués. Pour obtenir des exemples de paramétrage des critères de réussite des transactions, consultez Exemples de définition des critères de réussite d'une transaction dans une règle d'enregistrement des transactions

Vous spécifiez les critères de réussite des transactions en tant qu'attribut d'un produit API. Pour ce faire, procédez comme suit : en envoyant une requête PUT à l'API de gestion. https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (et non à l'API de monétisation).

Par exemple, dans la requête suivante, une transaction aboutit si la valeur de txProviderStatus est success (les critères liés aux critères de réussite de la transaction) caractéristiques sont mises en surbrillance).

$ curl -H "Content-Type: application/json" -X PUT -d \ 
'{
        "apiResources": [
        "/reserve/{id}**"       
        ],
        "approvalType": "auto",
        "attributes": [                         
        {
                "name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
                "value": "txProviderStatus == 'OK'"
        }
        ],
        "description": "Payment",
        "displayName": "Payment",
        "environments": [
        "dev"
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
        ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Spécifier des attributs personnalisés à l'aide de l'API

Vous pouvez spécifier des attributs personnalisés pour un produit d'API pour lequel votre forfait de base est facturé. Pour Par exemple, si vous définissez un tableau des tarifs dans lequel vous facturez le développeur pour chaque transaction, peut définir le tarif du forfait en fonction d'un attribut personnalisé, comme le nombre d'octets transmis lors d'une transaction. Lorsque vous créez un plan tarifaire, vous pouvez spécifier un ou plusieurs attributs personnalisés sur lequel baser le tarif du plan. Toutefois, un produit spécifique d'un plan tarifaire ne peut être associé Un attribut personnalisé sur lequel baser le tarif du plan.

Les attributs personnalisés correspondent aux attributs d'un produit API. Pour ce faire, émettez une requête PUT à l'API de gestion https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} (et non à l'API de monétisation).

Pour chaque attribut personnalisé que vous ajoutez à un produit API, vous devez spécifier un nom et un . Le nom doit être au format MINT_CUSTOM_ATTRIBUTE_{num}, où {num} est un entier.

Par exemple, la requête suivante spécifie trois attributs personnalisés.

$ curl -H "Content-Type: application/json" -X PUT -d \
'{
        "apiResources": [
        "/reserve/{id}**",
        "/charge/{id}**"
        ],
        "approvalType": "auto",
        "attributes": [
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_1",
                "value": "test1"
        },
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_2",
                "value": "test2"
        }
 
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
                ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

Exemples de définition des critères de réussite d'une transaction règle d'enregistrement

Le tableau suivant présente des exemples de transactions ayant abouti et ayant échoué, en fonction du L'expression des critères de réussite de la transaction et la valeur txProviderStatus ont renvoyé par le proxy d'API. txProviderStatus est la variable interne utilisée par la monétisation. pour déterminer la réussite d'une transaction.

<ph type="x-smartling-placeholder">
Expression des critères de réussite Expression valide ? Valeur txProviderStatus du proxy d'API Résultat de l'évaluation
null true "200" faux
"" faux "200" faux
" " faux "200" faux
"sdfsdfsdf" faux "200" faux
"txProviderStatus =='100'" vrai "200" faux
"txProviderStatus =='200'" vrai "200" true
"true" true "200" true
"txProviderStatus=='OK' OR
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "OK" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Not Found" true
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" true "Bad Request" true
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" vrai null faux
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" vrai "bad request" true
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" vrai "Redirect" faux
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" vrai "heeeelllooo" faux
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" vrai null faux
"txProviderStatus == 100" vrai "200" faux