Monetarisierungsdienste installieren

Monetarisierungsdienste sind eine Erweiterung von Apigee Edge und werden daher nicht als eigenständiger Prozess ausgeführt. Sie kann in jeder vorhandenen Apigee Edge-Umgebung ausgeführt werden, mit Ausnahme der All-in-One-Konfiguration (AIO). Monetarisierungsdienste können nicht in einer AIO-Konfiguration installiert werden.

Anforderungen an die Monetarisierung

  • Wenn du die Monetarisierung in einer Edge-Topologie installierst, die mehrere Management-Serverknoten verwendet, z. B. eine Installation mit 13 Knoten, musst du beide Edge-Management-Serverknoten installieren, bevor du die Monetarisierung installierst.
  • Um die Monetarisierung in Edge zu installieren, wenn die Edge-Installation mehrere Postgres-Knoten hat, müssen die Postgres-Knoten im Master-/Standby-Modus konfiguriert werden. Du kannst die Monetarisierung nicht auf Edge installieren, wenn du mehrere Postgres-Masterknoten hast. Weitere Informationen finden Sie unter Master-Standby-Replikation für Postgres einrichten.
  • Mit der All-In-One-Konfiguration (AIO) ist die Monetarisierung nicht möglich.

Installation

In den folgenden Schritten wird gezeigt, wie Sie Monetarisierungsdienste zu einer vorhandenen Apigee Edge-Installation hinzufügen:

  • Verwenden Sie das Dienstprogramm apigee-setup, um den Apigee-Verwaltungsserverknoten zu aktualisieren und die Monetarisierungsdienste zu aktivieren, z. B. Katalogverwaltung, Konfiguration von Limits und Benachrichtigungen, Abrechnung und Berichterstellung.

    Wenn Sie mehrere Verwaltungsserverknoten haben, z. B. eine Installation mit 13 Knoten, müssen Sie beide Edge Management Server-Knoten installieren, bevor Sie die Monetarisierung installieren.

  • Verwenden Sie das Dienstprogramm apigee-setup, um den Apigee Message Processor zu aktualisieren und die Laufzeitkomponenten der Monetarisierungsdienste zu aktivieren, z. B. die Richtlinie für die Transaktionsaufzeichnung und die Erzwingung von Limits. Wenn du mehrere Message Processor hast, musst du die Monetarisierung auf allen installieren.
  • Führen Sie das Monetarisierungs-Onboarding für Ihre Edge-Organisationen durch.
  • Konfigurieren Sie das Apigee Developer Services-Portal (oder einfach das Portal), um die Monetarisierung zu unterstützen. Weitere Informationen findest du unter Monetarisierung im Entwicklerportal konfigurieren.

Silent-Konfigurationsdatei für die Monetarisierung erstellen

Unten sehen Sie ein Beispiel für eine stille Konfigurationsdatei für eine Monetarisierungsinstallation. Bearbeiten Sie diese Datei nach Bedarf für Ihre Konfiguration. Verwenden Sie die Option „-f“ für setup.sh, um diese Datei einzubeziehen.

# 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>"

Hinweise:

  • Wenn in Ihrer Edge-Konfigurationsdatei keine SMTP-Informationen angegeben sind, fügen Sie sie hinzu. Für die Monetarisierung ist ein SMTP-Server erforderlich.
  • Bei einer Installation in einem einzelnen Rechenzentrum sollten ungerade ZooKeeper-Knoten als voters konfiguriert werden. Wenn die Anzahl der ZooKeeper-Knoten gerade ist, werden einige Knoten als observers konfiguriert. Wenn Sie Edge in einer geraden Anzahl von Rechenzentren installieren, müssen einige ZooKeeper-Knoten als observers konfiguriert werden, damit die Anzahl der Knoten mit Stimmrecht ungerade ist. Bei der ZooKeeper-Leader-Wahl wird ein Wählerknoten als leader gewählt. Achten Sie darauf, dass in der Property ZK_HOSTS oben ein Führungsknoten in einer Installation mit mehreren Rechenzentren angegeben ist.
  • Wenn Sie die Cassandra-Authentifizierung aktivieren, können Sie den Cassandra-Nutzernamen und das Cassandra-Passwort mithilfe der folgenden Eigenschaften übergeben:
    CASS_USERNAME
    CASS_PASSWORD

Monetarisierungsdienste in alle Verwaltungsserver einbinden

Folgen Sie dem folgenden Verfahren, um die Monetarisierung auf Management Server-Knoten zu integrieren.

  1. Wenn du die Monetarisierung in einer Edge-Topologie installierst, die mehrere Managementserverknoten verwendet, z. B. eine 13-Knoten-Installation, musst du beide Managementserverknoten installieren, bevor du die Monetarisierung installierst.
  2. Führen Sie auf dem Knoten des Verwaltungsservers das Setupskript aus:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Mit der Option -p mo legen Sie fest, ob die Monetarisierung integriert werden soll.

    Die Konfigurationsdatei muss für den „Apigee“-Benutzer zugänglich oder lesbar sein.

  3. Wenn Sie die Monetarisierung auf mehreren Knoten des Verwaltungsservers installieren, wiederholen Sie Schritt 2 auf dem zweiten Knoten des Verwaltungsservers.

Nach erfolgreicher Konfiguration wird in der PostgreSQL-Datenbank ein RDBMS-Schema für Monetarisierungsdienste erstellt. Damit ist die Integration der Monetarisierungsdienste und der zugehörigen Komponenten in den Postgres-Server abgeschlossen.

Monetarisierungsdienste in alle Message Processors einbinden

So integrierst du die Monetarisierung auf allen Message Processor-Knoten:

  1. Führen Sie auf dem ersten Message Processor-Knoten das Einrichtungsskript in der Eingabeaufforderung aus:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Mit der Option -p mo legen Sie fest, ob die Monetarisierung integriert werden soll.

    Die Konfigurationsdatei muss für den „Apigee“-Benutzer zugänglich oder lesbar sein.

  2. Wiederholen Sie diesen Vorgang für alle Nachrichtenverarbeiterknoten.

Nach erfolgreicher Konfiguration wird der Nachrichten-Prozessor mit Monetarisierungsdiensten aktualisiert. Damit ist die Einbindung der Monetarisierungsdienste und der zugehörigen Komponenten in die Nachrichtenabwickler abgeschlossen.

Onboarding für die Monetarisierung

So erstellen Sie eine neue Organisation und aktivieren die Monetarisierung:

  1. Erstellen Sie die Organisation wie jede andere neue Organisation. Weitere Informationen finden Sie unter Organisationen einrichten.
  2. Verwenden Sie die Monetarisierungsbereitstellungs-API wie unter Monetarisierung für eine Organisation aktivieren beschrieben. Dazu benötigen Sie Systemadministratorberechtigungen.

Wenn Sie sich das nächste Mal in der Edge-Benutzeroberfläche anmelden, sehen Sie den Eintrag „Monetarisierung“ im Menü der obersten Ebene für die Organisation:

Informationen zum Konfigurieren des Portals für die Monetarisierung finden Sie unter Monetarisierung im Entwicklerportal konfigurieren.

Einem Monetarisierungs-Installation einen Verwaltungsserverknoten hinzufügen

Wenn Sie einer vorhandenen Edge-Installation einen Verwaltungsserver hinzufügen, müssen Sie dem neuen Verwaltungsserver Monetarisierungsdienste hinzufügen und alle Verwaltungsserver für die Kommunikation konfigurieren.

So fügen Sie einen Verwaltungsserver hinzu:

  1. Installieren Sie den neuen Verwaltungsserver.
  2. Installiere die Monetarisierung auf dem neuen Verwaltungsserver.
  3. Rufen Sie auf dem ursprünglichen Verwaltungsserver Folgendes auf:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Starten Sie den ursprünglichen Verwaltungsserver neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. Rufen Sie auf dem neuen Verwaltungsserver Folgendes auf:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Starten Sie den neuen Verwaltungsserver neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Zusätzliche Konfiguration

Abrechnungsdokumente als PDF-Dateien bereitstellen

Bei der Monetarisierung werden Abrechnungsdokumente im HTML-Format an Endnutzer gesendet. Wenn Sie Abrechnungsdokumente als PDF-Dateien bereitstellen möchten, können Sie die Monetarisierung in ein Abrechnungssystem einbinden, das die PDF-Generierung unterstützt, oder eine unterstützte PDF-Bibliothek von Drittanbietern lizenzieren.

Organisationseinstellungen konfigurieren

Um Organisationsattribute hinzuzufügen oder zu aktualisieren, können Sie eine PUT-Anfrage verwenden, wie im folgenden Beispiel gezeigt:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT

Die Monetarisierung antwortet mit den Einstellungen der Organisation. Beispiel:

{
  ...
  "displayName": "Orgnization name",
  "name": "org4",
  "properties": {
    "property": [
      ...
      {
        "name": "MINT_CURRENCY",
        "value": "USD"
      },
      {
        "name": "MINT_COUNTRY",
        "value": "US"
      },
      {
        "name": "MINT_TIMEZONE",
        "value": "GMT"
      }
    ]
  }
}

In der folgenden Tabelle sind die Attribute auf Organisationsebene aufgeführt, die zum Konfigurieren einer Mint-Organisation verfügbar sind.

Attribute Beschreibung
MINT_TAX_MODEL

Zulässige Werte sind „DISCLOSED“, „UNDISCLOSED“ und „HYBRID“ (Standardwert ist „null“).

MINT_CURRENCY

ISO-Währungscode (Standard ist null)

MINT_TAX_NEXUS

Nexus (Steuern) (Standardwert ist null)

MINT_DEFAULT_PROD_TAX_CATEGORY

Standard-Produktsteuerkategorie (Standardwert ist null)

MINT_IS_GROUP_ORG

IS-Gruppenorganisation (Standard ist „false“)

MINT_HAS_BROKER

Ist kaputt (Standardwert ist „false“)

MINT_TIMEZONE

Zeitzone (Standardwert: „null“)

MINT_TAX_ENGINE_EXTERNAL_ID

Steuer-Engine-ID (Standardwert: null)

MINT_COUNTRY

Land der Organisation (Standardwert: „null“)

MINT_REG_NO

Die Registrierungsnummer der Organisation im Vereinigten Königreich ist eine andere als die Steuernummer (Standard ist „null“).

MINT_BILLING_CYCLE_TYPE

„PRORATED“, „CALENDAR_MONTH“ (Standard ist „CALENDAR_MONTH“)

MINT_SUPPORTED_BILLING_TYPE

„PREPAID“/„POSTPAID“/„BOTH“ (Standard ist „PREPAID“)

MINT_IS_SEPARATE_INV_FOR_FEES

Gibt an, ob eine separate Rechnung für Gebühren erstellt werden soll (Standardwert: „false“).

MINT_ISSUE_NETTING_STMT

Gibt an, ob eine Saldierungsabrechnung erstellt werden soll (Standardwert: „false“)

MINT_NETTING_STMT_PER_CURRENCY

Gibt an, ob eine Netting-Anweisung pro Währung generiert werden soll (Standardwert ist „false“)

MINT_HAS_SELF_BILLING

Gibt an, ob die Organisation die Abrechnung selbst durchführt (Standardeinstellung: „false“)

MINT_SELF_BILLING_FOR_ALL_DEV

Gibt an, ob die Organisation die Abrechnung für alle Entwickler selbst durchführt (Standard ist „false“).

MINT_HAS_SEPARATE_INV_FOR_PROD

Gibt an, ob die Organisation eine separate Rechnung pro Produkt hat (Standard ist „false“).

MINT_HAS_BILLING_ADJUSTMENT

Gibt an, ob die Organisation Abrechnungsanpassungen unterstützt (Standardwert: „false“)

features.isMonetizationEnabled

Wird von der Verwaltungs-UI verwendet, um ein spezielles Menü für die Monetarisierung anzuzeigen (Standardeinstellung ist „false“)

ui.config.isOperator

Wird von der Verwaltungs-UI verwendet, um den Anbieter als Operator im Vergleich zur Organisation anzuzeigen (Standardeinstellung ist „true“)

Informationen zum Konfigurieren der Einstellungen für eine Unternehmensorganisation über die Verwaltungsoberfläche finden Sie unter Monetarisierung von Zugriffen in Edge.

Monetarisierungslimits

Wenn Sie Monetarisierungslimits erzwingen möchten, hängen Sie die Richtlinie „MonetizationLimitsCheck“ an API-Proxys an. Die Richtlinie wird insbesondere unter den folgenden Bedingungen ausgelöst:

  • Der Entwickler, der auf die monetarisierte API zugreift, ist nicht registriert oder hat den Preisplan nicht abonniert.
  • Der Entwickler hat das Transaktionsvolumen für den abonnierten Tarif überschritten.
  • Das Guthaben des Prepaid-Kontos oder das Kreditlimit des Postpaid-Kontos des Entwicklers wurde erreicht.

Die Richtlinie „MonetizationLimitsCheck“ löst Fehler aus und blockiert API-Aufrufe in Situationen wie den oben aufgeführten. Die Richtlinie erweitert die RaiseFault-Richtlinie und Sie können die zurückgegebene Nachricht anpassen. Die anwendbaren Bedingungen werden aus Geschäftsvariablen abgeleitet.

Weitere Informationen finden Sie unter Monetarisierungslimits für API-Proxys erzwingen.