Les services de monétisation sont une extension d'Apigee Edge. Ils ne s'exécutent donc pas en tant que processus autonome . Ils s'exécutent dans n'importe quelle configuration Apigee Edge existante, à l'exception de la configuration tout-en-un (AIO) . Vous ne pouvez pas installer les services de monétisation sur une configuration AIO.
Exigences de monétisation
- Si vous installez la monétisation sur une topologie Edge qui utilise plusieurs nœuds de serveur de gestion, comme une installation à 13 nœuds, vous devez installer les deux nœuds de serveur de gestion Edge avant d'installer la monétisation.
- Pour installer la monétisation sur Edge lorsque l'installation Edge comporte plusieurs nœuds Postgres, les nœuds Postgres doivent être configurés en mode maître/veille. Vous ne pouvez pas installer la monétisation sur Edge si vous disposez de plusieurs nœuds maîtres Postgres. Pour en savoir plus, consultez Configurer la réplication maître/veille pour Postgres.
- La monétisation n'est pas disponible avec la configuration tout-en-un (AIO).
Présentation de l'installation
Les étapes suivantes expliquent comment ajouter des services de monétisation à une installation Apigee Edge existante :
- Utilisez l'utilitaire
apigee-setuppour mettre à jour le nœud du serveur de gestion Apigee afin d'activer les services de monétisation, par exemple la gestion du catalogue, la configuration des limites et des notifications, la facturation et les rapports.Si vous disposez de plusieurs nœuds de serveur de gestion, comme une installation à 13 nœuds, vous devez installer les deux nœuds de serveur de gestion Edge avant d'installer la monétisation.
- Utilisez l'utilitaire
apigee-setuppour mettre à jour le processeur de messages Apigee afin d'activer les composants d'exécution des services de monétisation, par exemple la règle d'enregistrement des transactions et l'application des limites. Si vous disposez de plusieurs processeurs de messages, installez la monétisation sur chacun d'eux. - Effectuez le processus d'intégration de la monétisation pour vos organisations Edge.
- Configurez le portail Apigee Developer Services (ou simplement le portail) pour qu'il soit compatible avec la monétisation. Pour en savoir plus, consultez Configurer la monétisation dans le portail des développeurs.
Créer un fichier de configuration silencieux pour la monétisation
Vous trouverez ci-dessous un exemple de fichier de configuration silencieux pour une installation de monétisation. Modifiez ce fichier en fonction de votre configuration. Utilisez l'option -f pour setup.sh afin d'inclure ce fichier.
# Edge configuration properties # Specify IP address or DNS name of node. IP1=192.168.1.1 # Management Server, SymasLDAP, New Edge UI, ZooKeeper, Cassandra IP2=192.168.1.2 # ZooKeeper, Cassandra IP3=192.168.1.3 # ZooKeeper, Cassandra IP4=192.168.1.4 # Router, Message Processor IP5=192.168.1.5 # Router, Message Processor IP6=192.168.1.6 # Qpid IP7=192.168.1.7 # Qpid IP8=192.168.1.8 # Postgres IP9=192.168.1.9 # Postgres # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Edge sys admin credentials ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Specify the Management Server port. APIGEE_PORT_HTTP_MS=8080 # # Monetization configuration properties. # # Postgres credentials from Edge installation. PG_USER=apigee # Default from Edge installation PG_PWD=postgres # Default from Edge installation # Specify Postgres server. MO_PG_HOST="$IP8" # Only specify one Postgres node. # Create a Postgres user for Monetization. # Default username is "postgre". # If you specify a different user, that user must already exist. MO_PG_USER=postgre MO_PG_PASSWD=moUserPWord # Specify one ZooKeeper host. # Ensure this is a ZooKeeper leader node in a multi-datacenter environment. ZK_HOSTS="$IP2" # Specify Cassandra information. # Ensure CASS_HOSTS is set to the same value as when you installed Edge. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Default is "Apigee", unless it was changed during Edge install. CASS_CLUSTERNAME=Apigee # Cassandra uname/pword required only if you enabled Cassandra authentication. # If your password uses special characters, wrap it in single quotes. # CASS_USERNAME= # CASS_PASSWORD= # Specify the region. # Default is dc-1 unless you are in a multi-datacenter environment. REGION=dc-1 # If your Edge config file did not specify SMTP information, add it. # Monetization requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Remarques :
- Si votre fichier de configuration Edge ne spécifie pas d'informations SMTP, ajoutez-les. La monétisation nécessite un serveur SMTP.
- Dans une installation à un seul centre de données, tous les nœuds ZooKeeper sont configurés par défaut en tant que leaders. Lorsque vous installez Edge sur plusieurs centres de données, certains nœuds ZooKeeper seront configurés en tant qu'observateurs. Assurez-vous que la propriété ZK_HOSTS ci-dessus spécifie un nœud leader dans une installation à plusieurs centres de données.
- Si vous activez l'authentification Cassandra, vous pouvez transmettre le nom d'utilisateur et le mot de passe Cassandra
à l'aide des propriétés suivantes :
CASS_USERNAME CASS_PASSWORD
Intégrer les services de monétisation à tous les serveurs de gestion
Procédez comme suit pour intégrer la monétisation sur les nœuds du serveur de gestion.
- Si vous installez la monétisation sur une topologie Edge qui utilise plusieurs nœuds de serveur de gestion, comme une installation à 13 nœuds, assurez-vous d'avoir installé les deux nœuds de serveur de gestion avant d'installer la monétisation.
- Sur le nœud du serveur de gestion, exécutez le script de configuration :
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
L'option
-p mospécifie l'intégration de la monétisation.Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
- Si vous installez la monétisation sur plusieurs nœuds de serveur de gestion, répétez l'étape 2 sur le deuxième nœud de serveur de gestion.
Une fois la configuration réussie, un schéma RDBMS pour les services de monétisation est créé dans la base de données PostgreSQL. L'intégration des services de monétisation et de ses composants associés au serveur Postgres est terminée.
Intégrer les services de monétisation à tous les processeurs de messages
Procédez comme suit pour intégrer la monétisation sur tous les nœuds du processeur de messages.
- Sur le premier nœud du processeur de messages, à l'invite de commande, exécutez le script de configuration :
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
L'option
-p mospécifie l'intégration de la monétisation.Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee".
- Répétez cette procédure sur tous les nœuds du processeur de messages.
Une fois la configuration réussie, le processeur de messages est mis à jour avec les services de monétisation. L'intégration des services de monétisation et de ses composants associés aux processeurs de messages est terminée.
Intégration de la monétisation
Pour créer une organisation et activer la monétisation :
- Créez l'organisation comme vous le feriez pour n'importe quelle nouvelle organisation. Pour en savoir plus, consultez Intégrer une organisation.
- Utilisez l'API de provisionnement de la monétisation, comme décrit dans Activer la monétisation pour une organisation. Pour ce faire, vous devez disposer des droits d'administrateur système.
Lors de votre prochaine connexion à la nouvelle interface utilisateur Edge, l'entrée "Monétisation" s'affiche dans le menu de premier niveau de l'organisation :

Pour configurer le portail afin qu'il soit compatible avec la monétisation, consultez Configurer la monétisation dans le portail des développeurs.
Ajouter un nœud de serveur de gestion à une installation de monétisation
Si vous ajoutez un serveur de gestion à une installation Edge existante, vous devez vous assurer d'ajouter des services de monétisation au nouveau serveur de gestion et de configurer tous les serveurs de gestion afin qu'ils puissent communiquer.
Pour ajouter un serveur de gestion :
- Installez le nouveau serveur de gestion.
- Installez la monétisation sur le nouveau serveur de gestion à l'aide de la commande suivante :
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf
Configuration supplémentaire
Fournir des documents de facturation au format PDF
La monétisation affiche les documents de facturation aux utilisateurs finaux au format HTML. Pour fournir des documents de facturation au format PDF, vous pouvez intégrer la monétisation à un système de facturation qui génère des PDF ou acquérir une licence pour une bibliothèque PDF tierce compatible.
Configurer les paramètres de l'organisation
Pour ajouter/mettre à jour des attributs d'organisation, vous pouvez utiliser une requête PUT, comme illustré dans l'exemple suivant
:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT
La monétisation répond avec les paramètres de l'organisation. Exemple :
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}Le tableau suivant répertorie les attributs au niveau de l'organisation qui sont disponibles pour configurer une organisation Mint.
| Attributs | Description |
|---|---|
MINT_TAX_MODEL
|
Les valeurs acceptées sont "DISCLOSED", "UNDISCLOSED", "HYBRID" (la valeur par défaut est "null"). |
MINT_CURRENCY
|
Code de la devise ISO (la valeur par défaut est "null"). |
MINT_TAX_NEXUS
|
Lien fiscal (la valeur par défaut est "null"). |
MINT_DEFAULT_PROD_TAX_CATEGORY
|
Catégorie de taxe par défaut pour les produits (la valeur par défaut est "null"). |
MINT_IS_GROUP_ORG
|
Organisation de groupe (la valeur par défaut est "false"). |
MINT_HAS_BROKER
|
A un courtier (la valeur par défaut est "false"). |
MINT_TIMEZONE
|
Fuseau horaire (la valeur par défaut est "null"). |
MINT_TAX_ENGINE_EXTERNAL_ID
|
ID du moteur de taxe (la valeur par défaut est "null"). |
MINT_COUNTRY
|
Pays de l'organisation (la valeur par défaut est "null"). |
MINT_REG_NO
|
Numéro d'enregistrement de l'organisation. Le Royaume-Uni attribue un numéro différent du numéro d'identification fiscale (la valeur par défaut est "null"). |
MINT_BILLING_CYCLE_TYPE
|
"PRORATED", "CALENDAR_MONTH" (la valeur par défaut est "CALENDAR_MONTH"). |
MINT_SUPPORTED_BILLING_TYPE
|
"PREPAID"/"POSTPAID"/"BOTH" (la valeur par défaut est "PREPAID"). |
MINT_IS_SEPARATE_INV_FOR_FEES
|
Indique si une facture distincte doit être générée pour les frais (la valeur par défaut est "false"). |
MINT_ISSUE_NETTING_STMT
|
Indique si un relevé de compensation doit être émis (la valeur par défaut est "false"). |
MINT_NETTING_STMT_PER_CURRENCY
|
Indique si un relevé de compensation doit être généré par devise (la valeur par défaut est "false"). |
MINT_HAS_SELF_BILLING
|
Indique si l'organisation dispose d'une facturation automatique (la valeur par défaut est "false"). |
MINT_SELF_BILLING_FOR_ALL_DEV
|
Indique si l'organisation dispose d'une facturation automatique pour tous les développeurs (la valeur par défaut est "false"). |
MINT_HAS_SEPARATE_INV_FOR_PROD
|
Indique si l'organisation dispose d'une facture distincte par produit (la valeur par défaut est "false"). |
MINT_HAS_BILLING_ADJUSTMENT
|
Indique si l'organisation accepte les ajustements de facturation (la valeur par défaut est "false") |
features.isMonetizationEnabled
|
Utilisé par la nouvelle interface utilisateur Edge pour afficher le menu spécifique à la monétisation (la valeur par défaut est "false"). |
ui.config.isOperator
|
Utilisé par la nouvelle interface utilisateur Edge pour afficher le fournisseur en tant qu'opérateur plutôt qu'en tant qu'organisation (la valeur par défaut est "true") |
Pour configurer les paramètres de l'organisation à l'aide de la nouvelle interface utilisateur Edge, consultez Premiers pas avec la monétisation.
Limites de monétisation
Pour appliquer des limites de monétisation, associez la règle de vérification des limites de monétisation aux proxys d'API. Plus précisément, la règle est déclenchée dans les conditions suivantes :
- Le développeur qui accède à l'API monétisée n'est pas enregistré ou n'a pas souscrit d'abonnement au plan de taux.
- Le développeur a dépassé le volume de transactions pour le plan tarifaire souscrit.
- Le solde du compte prépayé du développeur ou la limite de crédit postpayé a été atteint.
La règle de vérification des limites de monétisation génère des erreurs et bloque les appels d'API dans des situations telles que celles listées ci-dessus. La règle étend la règle Raise Fault, et vous pouvez personnaliser le message renvoyé. Les conditions applicables sont dérivées de variables métier.
Pour en savoir plus, consultez Appliquer des limites de monétisation aux proxys d'API.