Instalowanie usług zarabiania

Usługi zarabiania to rozszerzenie Apigee Edge, dlatego nie działa jako samodzielny proces. Działa ona w ramach dowolnej istniejącej konfiguracji Apigee Edge z wyjątkiem konfiguracji All-In-One (AIO). Usług monetyzacji nie można zainstalować w konfiguracji typu All-in-One.

Wymagania dotyczące zarabiania

  • Jeśli instalujesz Monetyzację w topologii Edge, która korzysta z wielu węzłów serwera zarządzania, na przykład z 13 węzłami, przed zainstalowaniem Monetyzacji musisz zainstalować oba węzły serwera zarządzania Edge.
  • Aby zainstalować Monetyzację w Edge, gdy instalacja Edge ma wiele węzłów Postgres, węzły Postgres muszą być skonfigurowane w trybie głównym/w trybie gotowości. Nie możesz zainstalować Monetization na Edge, jeśli masz wiele węzłów głównych Postgres. Więcej informacji znajdziesz w artykule Konfigurowanie replikacji typu master-standby w przypadku PostgreSQL.
  • Zarabianie nie jest dostępne w konfiguracji All-In-One (AIO).

Omówienie instalacji

Aby dodać usługi zarabiania w dotychczasowej instalacji Apigee Edge:

  • Użyj narzędzia apigee-setup, aby zaktualizować węzeł serwera zarządzania Apigee i włączyć usługi zarabiania, na przykład zarządzanie katalogiem, konfigurację limitów i powiadomień, rozliczenia i raportowanie.

    Jeśli masz wiele węzłów serwera zarządzania, np. instalację z 13 węzłami, przed zainstalowaniem Monetyzacji musisz zainstalować oba węzły serwera zarządzania krawędzi.

  • Użyj narzędzia apigee-setup do zaktualizowania procesora wiadomości Apigee, aby włączyć komponenty w czasie wykonywania usług generowania przychodów, np. zasady rejestrowania transakcji i przestrzegania limitów. Jeśli masz wiele usług przetwarzania wiadomości, zainstaluj funkcję zarabiania na wszystkich z nich.
  • Przeprowadź proces wdrażania funkcji zarabiania w przypadku organizacji Edge.
  • Skonfiguruj portal usług dla programistów Apigee (lub po prostu portal) na potrzeby zarabiania. Więcej informacji znajdziesz w artykule Konfigurowanie funkcji zarabiania w Portalu deweloperów.

Tworzenie pliku konfiguracji w trybie bez interakcji dla funkcji zarabiania

Poniżej znajduje się przykładowy plik konfiguracji w trybie cichym dla instalacji funkcji Monetyzacja. W razie potrzeby edytuj ten plik zgodnie z konfiguracją. Użyj opcji -f, aby dołączyć plik setup.sh.

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

Uwagi:

  • Jeśli plik konfiguracji Edge nie zawiera informacji o SMTP, dodaj je. Zarabianie wymaga serwera SMTP.
  • W przypadku instalacji w jednym centrum danych wszystkie węzły ZooKeeper są domyślnie skonfigurowane jako węzły wiodące. Podczas instalowania Edge w wielu centrach danych niektóre węzły ZooKeeper zostaną skonfigurowane jako obserwatorzy. Upewnij się, że właściwość ZK_HOSTS powyżej określa węzeł główny w instalacji z wieloma centrami danych.
  • Jeśli włączysz uwierzytelnianie Cassandra, możesz podać nazwę użytkownika i hasło Cassandra, używając tych właściwości:
    CASS_USERNAME
    CASS_PASSWORD

Integracja usług umożliwiających generowanie przychodu ze wszystkimi serwerami zarządzania

Aby zintegrować funkcję zarabiania na węzłach serwera zarządzania, wykonaj podaną niżej procedurę.

  1. Jeśli instalujesz Monetyzację w topologii Edge, która korzysta z wielu węzłów serwera zarządzania, na przykład z 13 węzłami, przed zainstalowaniem Monetyzacji upewnij się, że zainstalowano oba węzły serwera zarządzania.
  2. Na węźle serwera zarządzania uruchom skrypt konfiguracji:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Opcja -p mo umożliwia zintegrowanie zarabiania.

    Plik konfiguracji musi być dostępny lub czytelny dla użytkownika „apigee”.

  3. Jeśli instalujesz Monetyzację na wielu węzłach serwera zarządzania, powtórz krok 2 na drugim węźle serwera zarządzania.

Po udanej konfiguracji w bazie danych PostgreSQL zostanie utworzony schemat RDBMS dla usług zarabiania. To kończy integrację usług generowania przychodów i powiązanych z nimi komponentów z serwerem Postgres.

Integracja usług zarabiania z wszystkimi procesorami wiadomości

Aby zintegrować zarabianie we wszystkich węzłach usługi Message Processor, wykonaj podane niżej czynności.

  1. Na pierwszym węźle usługi Message Processor uruchom skrypt konfiguracji w wierszu poleceń:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    Opcja -p mo umożliwia zintegrowanie zarabiania.

    Plik konfiguracji musi być dostępny lub czytelny dla użytkownika „apigee”.

  2. Powtórz tę procedurę we wszystkich węzłach usługi Message Processor.

Po pomyślnej konfiguracji usługa Message Processor zostanie zaktualizowana o usługi zarabiania. W ten sposób zakończysz integrację usług generowania przychodów i powiązanych z nimi komponentów z procesorami wiadomości.

Wprowadzenie do zarabiania

Aby utworzyć nową organizację i włączyć zarabianie:

  1. Utwórz organizację tak jak każdą inną organizację. Więcej informacji znajdziesz w artykule Włączanie organizacji.
  2. Użyj interfejsu API do obsługi monetyzacji zgodnie z opisem w artykule Włączanie monetyzacji w organizacji. Aby to zrobić, musisz mieć uprawnienia administratora systemu.

Gdy następnym razem zalogujesz się w interfejsie Edge, w menu najwyższego poziomu organizacji zobaczysz pozycję Monetyzacja:

Aby skonfigurować portal na potrzeby zarabiania, zapoznaj się z artykułem Konfigurowanie zarabiania w portalu dla deweloperów.

Dodawanie węzła serwera zarządzania do instalacji funkcji zarabiania

Jeśli dodasz serwer zarządzania do istniejącej instalacji Edge, musisz dodać usługi zarabiania do nowego serwera zarządzania i skonfigurować wszystkie serwery zarządzania, aby mogły się komunikować.

Aby dodać serwer zarządzania:

  1. Zainstaluj nowy serwer zarządzania.
  2. Zainstaluj funkcję Monetyzacja na nowym serwerze zarządzania, używając tego polecenia:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf

Dodatkowa konfiguracja

Przesyłanie dokumentów rozliczeniowych w formacie PDF

Monetyzacja wyświetla dokumenty rozliczeniowe użytkownikom w formacie HTML. Aby przesyłać dokumenty rozliczeniowe w formacie PDF, możesz zintegrować Monetyzację z systemem rozliczeniowym, który umożliwia generowanie plików PDF, lub licencjonować obsługiwaną bibliotekę plików PDF innej firmy.

Konfigurowanie ustawień organizacji

Aby dodać lub zaktualizować atrybuty organizacji, możesz użyć żądania PUT, jak pokazano w tym przykładzie:

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

Zarabianie działa zgodnie z ustawieniami organizacji. Na przykład:

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

Tabela poniżej zawiera atrybuty na poziomie organizacji, które są dostępne do konfigurowania organizacji menniczej.

Atrybuty Opis
MINT_TAX_MODEL

Akceptowane wartości to „DISCLOSED”, „UNDISCLOSED”, „HYBRID” (wartość domyślna to null).

MINT_CURRENCY

Kod waluty według normy ISO (domyślnie wartość null)

MINT_TAX_NEXUS

obecność fizyczna w zakresie podatków (domyślnie wartość null);

MINT_DEFAULT_PROD_TAX_CATEGORY

Domyślna kategoria podatkowa produktu (domyślnie wartość null)

MINT_IS_GROUP_ORG

IS group organization (domyślnie „false”)

MINT_HAS_BROKER

Ma błąd (wartość domyślna to false)

MINT_TIMEZONE

Strefa czasowa (domyślnie null)

MINT_TAX_ENGINE_EXTERNAL_ID

Identyfikator mechanizmu podatkowego (domyślnie puste)

MINT_COUNTRY

Kraj organizacji (domyślnie wartość null)

MINT_REG_NO

Numer rejestracyjny organizacji. W Wielkiej Brytanii jest on inny niż numer identyfikacji podatkowej (domyślnie wartość null)

MINT_BILLING_CYCLE_TYPE

„PRORATED”, „CALENDAR_MONTH” (wartość domyślna to „CALENDAR_MONTH”)

MINT_SUPPORTED_BILLING_TYPE

„PREPAID”/„POSTPAID”/„BOTH” (domyślnie „PREPAID”)

MINT_IS_SEPARATE_INV_FOR_FEES

Wskazuje, czy należy wygenerować osobną fakturę za opłaty (wartość domyślna to „false”).

MINT_ISSUE_NETTING_STMT

Wskazuje, czy należy wystawić oświadczenie o rozrachunku (wartość domyślna to „false”).

MINT_NETTING_STMT_PER_CURRENCY

Wskazuje, czy należy generować zestawienie salda w poszczególnych walutach (wartość domyślna to „false”).

MINT_HAS_SELF_BILLING

Wskazuje, czy organizacja ma samodzielne rozliczenia (wartość domyślna to „false”).

MINT_SELF_BILLING_FOR_ALL_DEV

Wskazuje, czy organizacja ma włączone samoobsługowe rozliczenia dla wszystkich deweloperów (wartość domyślna to „false”).

MINT_HAS_SEPARATE_INV_FOR_PROD

Wskazuje, czy organizacja ma osobną fakturę dla każdego produktu (wartość domyślna to „false”).

MINT_HAS_BILLING_ADJUSTMENT

Wskazuje, czy organizacja obsługuje korekty płatności (domyślnie „false”).

features.isMonetizationEnabled

Używane przez interfejs zarządzania do wyświetlania menu dotyczącego zarabiania (domyślnie „false”).

ui.config.isOperator

Używany przez interfejs zarządzania do wyświetlania dostawcy jako Operatora lub Organizacji (wartość domyślna to „true”).

Informacje o konfigurowaniu ustawień organizacji biznesowej za pomocą interfejsu zarządzania znajdziesz w artykule Pierwsze kroki z monetyzacją.

Limity zarabiania

Aby egzekwować limity zarabiania, dodaj do serwerów proxy interfejsu API zasadę sprawdzania limitów zarabiania. Zasady te są uruchamiane w takich przypadkach:

  • Deweloperzy, którzy uzyskują dostęp do interfejsu API z możliwością zarabiania, nie są zarejestrowani lub nie wykupili abonamentu.
  • Deweloper przekroczył liczbę transakcji w ramach subskrybowanego planu cenowego.
  • Osiągnięto saldo konta przedpłaconego lub limit kredytowy powiązanego z kontem dewelopera.

Zasady sprawdzania limitów zarabiania powodują błędy i blokują wywołania interfejsu API w sytuacjach takich jak te wymienione powyżej. Zasady rozszerzają zasady dotyczące zgłaszania awarii, a możesz dostosować zwracany komunikat. Odpowiednie warunki są określane na podstawie zmiennych biznesowych.

Więcej informacji znajdziesz w artykule Egzekwowanie limitów zarabiania w przypadku proxy interfejsu API.