Installer les services de monétisation

Les services de monétisation sont une extension d'Apigee Edge. Ils ne s'exécutent donc pas comme un processus autonome. Il s'exécute dans n'importe quelle configuration Apigee Edge existante, à l'exception de la configuration All-In-One (AIO). Vous ne pouvez pas installer les services de monétisation dans une configuration AIO.

Exigences concernant la monétisation

  • Si vous installez la monétisation sur une topologie de périphérie utilisant plusieurs nœuds Management Server (par exemple, une installation à 13 nœuds), vous devez installer les deux nœuds Edge Management Server avant d'installer la monétisation.
  • Pour installer la monétisation sur la périphérie lorsque l'installation d'Edge comporte plusieurs nœuds Postgres, vous devez configurer les nœuds Postgres en mode maître/veille. Vous ne pouvez pas installer Monetization sur Edge si vous avez plusieurs nœuds maîtres Postgres. Pour en savoir plus, consultez la page 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 illustrent comment ajouter des services de monétisation à une installation Apigee Edge existante:

  • Utilisez l'utilitaire apigee-setup pour mettre à jour le nœud Apigee Management Server afin d'activer les services de monétisation (par exemple, la gestion du catalogue, la configuration des limites et des notifications, la facturation et la création de rapports).

    Si vous disposez de plusieurs nœuds de serveur de gestion (par exemple, une installation à 13 nœuds), vous devez installer les deux nœuds du serveur de gestion périphérique avant d'installer la monétisation.

  • Utilisez l'utilitaire apigee-setup pour mettre à jour le processeur de messages Apigee afin d'activer les composants d'exécution des services de monétisation, tels que 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.
  • Suivez le processus d'intégration de la monétisation pour vos organisations de périphérie.
  • Configurez le portail de services pour les développeurs Apigee (ou simplement le portail) pour permettre la monétisation. Pour en savoir plus, consultez Configurer la monétisation dans le portail des développeurs.

Création d'un fichier de configuration silencieux pour la monétisation

Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation de monétisation. Modifiez ce fichier si nécessaire pour 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, OpenLDAP, 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 de centre de données unique, le nombre impair de nœuds ZooKeeper doit être défini sur voters. Si le nombre de nœuds ZooKeeper est pair, certains nœuds sont configurés en tant que observers. Lorsque vous installez Edge dans un nombre pair de centres de données, certains nœuds ZooKeeper doivent être configurés en tant que observers pour que le nombre de nœuds d'électeur soit impair. Pendant l'élection du responsable ZooKeeper, un nœud électeur sera élu leader. Assurez-vous que la propriété ZK_HOSTS ci-dessus spécifie un nœud principal dans une installation de 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 Management Server.

  1. Si vous installez la monétisation sur une topologie de périphérie utilisant plusieurs nœuds Management Server (par exemple, une installation à 13 nœuds), assurez-vous d'avoir installé les deux nœuds Management Server avant d'installer la monétisation.
  2. 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 mo indique que la monétisation doit être intégrée.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur « apigee ».

  3. Si vous installez la monétisation sur plusieurs nœuds Management Server, répétez l'étape 2 sur le deuxième nœud Management Server.

En cas de configuration réussie, un schéma SGBDR est créé pour les services de monétisation dans la base de données PostgreSQL. Cette opération met fin à l'intégration des services de monétisation et de leurs composants associés au serveur Postgres.

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 de processeur de messages.

  1. Sur le premier nœud de processeur de messages, dans l'invite de commande, exécutez le script de configuration :
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'option -p mo indique que la monétisation doit être intégrée.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur « apigee ».

  2. Répétez cette procédure sur tous les nœuds du processeur de messages.

Si la configuration aboutit, le Processeur de messages est mis à jour avec les Services de monétisation. L'intégration des Services de monétisation et de leurs composants associés aux Processeurs de messages est maintenant terminée.

Intégration de la monétisation

Pour créer une organisation et activer la monétisation:

  1. Créez l'organisation comme vous le feriez pour toute nouvelle organisation. Pour en savoir plus, consultez Intégrer une organisation.
  2. Utilisez l'API de provisionnement de la monétisation comme décrit dans la section Activer la monétisation pour une organisation. Pour ce faire, vous devez disposer des droits d'administrateur système.

La prochaine fois que vous vous connecterez à l'interface utilisateur Edge, vous verrez l'entrée Monetization dans le menu supérieur de l'organisation:

Pour configurer le portail afin qu'il soit compatible avec la monétisation, consultez Configurer la monétisation sur le portail des développeurs.

Ajouter un nœud Management Server à une installation de monétisation

Si vous ajoutez un serveur de gestion à une installation Edge existante, vous devez vous assurer d'ajouter les services de monétisation au nouveau serveur de gestion et configurer tous les serveurs de gestion pour qu'ils puissent communiquer.

Pour ajouter un serveur de gestion:

  1. Installez le nouveau serveur de gestion.
  2. Installez la monétisation sur le nouveau serveur de gestion.
  3. Sur le serveur de gestion d'origine, appelez la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Redémarrez le serveur de gestion d'origine :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. Sur le nouveau serveur de gestion, appelez la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Redémarrez le nouveau serveur de gestion :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Configuration supplémentaire

Fournissez vos documents de facturation au format PDF

La monétisation présente 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 permet de générer des PDF ou de concéder sous licence une bibliothèque PDF tierce compatible.

Configurer les paramètres de l'organisation

Pour ajouter ou mettre à jour des attributs d'organisation, vous pouvez utiliser une requête PUT, comme le montre 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 dépend des 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 disponibles pour configurer une organisation Mint.

Attributs Description
MINT_TAX_MODEL

Les valeurs acceptées sont "DISCLOSED", "UNDISCLOSED" et "HYBRID" (la valeur par défaut est "null").

MINT_CURRENCY

Code de devise ISO (la valeur par défaut est "null")

MINT_TAX_NEXUS

Critère de taxe (la valeur par défaut est "null")

MINT_DEFAULT_PROD_TAX_CATEGORY

Catégorie de taxe pour les produits par défaut (la valeur par défaut est "null")

MINT_IS_GROUP_ORG

Organisation du groupe IS (la valeur par défaut est "false")

MINT_HAS_BROKER

Ne fonctionne pas (la valeur par défaut est "false")

MINT_TIMEZONE

Fuseau horaire (la valeur par défaut est "null")

MINT_TAX_ENGINE_EXTERNAL_ID

Identifiant du moteur fiscal (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 ne donne pas le même numéro que le numéro d'identification fiscale (la valeur par défaut est "null")

MINT_BILLING_CYCLE_TYPE

"PRORATED", "AGE_MONTH" (la valeur par défaut est "AGE_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 avec frais supplémentaires doit être générée (la valeur par défaut est "false").

MINT_ISSUE_NETTING_STMT

Indique si une déclaration de compensation doit être émise (la valeur par défaut est "false").

MINT_NETTING_STMT_PER_CURRENCY

Indique si l'instruction de réseau doit être générée en fonction de la devise (la valeur par défaut est "false").

MINT_HAS_SELF_BILLING

Indique si l'organisation utilise l'auto-facturation (la valeur par défaut est "false")

MINT_SELF_BILLING_FOR_ALL_DEV

Indique si l'organisation utilise l'auto-facturation pour tous les développeurs (la valeur par défaut est "false")

MINT_HAS_SEPARATE_INV_FOR_PROD

Indique si l'entreprise propose 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 l'interface utilisateur de gestion pour afficher le menu spécifique à la monétisation (la valeur par défaut est "false")

ui.config.isOperator

Utilisé par l'interface utilisateur de gestion pour afficher le fournisseur en tant qu'opérateur au lieu de l'organisation (la valeur par défaut est "true")

Pour configurer les paramètres d'organisation de l'entreprise à l'aide de l'interface utilisateur de gestion, consultez Accéder à la monétisation dans Edge.

Limites de la monétisation

Pour appliquer les limites de monétisation, joignez 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'est pas abonné au plan tarifaire.
  • Le développeur a dépassé le volume de transactions pour le plan tarifaire abonné.
  • Le solde de compte prépayé du développeur ou la limite de crédit post-payée a été atteint.

La règle "Vérification des limites de monétisation" signale des erreurs et bloque les appels d'API dans les situations telles que celles énumérées ci-dessus. La règle étend la stratégie Augmente les erreurs et vous pouvez personnaliser le message renvoyé. Les conditions applicables sont basées sur des variables métier.

Pour en savoir plus, consultez Appliquer des limites de monétisation sur les proxys d'API.