Installazione di servizi di monetizzazione

Monetization Services è un'estensione di Apigee Edge, pertanto non viene eseguita come processo autonomo. Viene eseguita all'interno di qualsiasi configurazione Apigee Edge esistente, ad eccezione della configurazione All-In-One (AIO) Non puoi installare Monetization Services su una configurazione AIO.

Requisiti di monetizzazione

  • Se stai installando la monetizzazione su una topologia Edge che utilizza più nodi del server di gestione, ad esempio un'installazione a 13 nodi, devi installare entrambi i nodi del server di gestione Edge prima di installare la monetizzazione.
  • Per installare la monetizzazione su Edge, dove l'installazione di Edge ha più nodi Postgres, i nodi Postgres devono essere configurati in modalità Master/Standby. Non puoi installare la monetizzazione su Edge se hai più nodi master Postgres. Per saperne di più, consulta Configurare la replica master-standby per Postgres.
  • La monetizzazione non è disponibile con la configurazione All-In-One (AIO).

Panoramica dell'installazione

I seguenti passaggi illustrano come aggiungere Monetization Services a un'installazione Apigee Edge esistente:

  • Utilizza l'utilità apigee-setup per aggiornare il nodo del server di gestione Apigee in modo da abilitare Monetization Services, ad esempio la gestione del catalogo, la configurazione di limiti e notifiche configurazione, fatturazione e reporting.

    Se hai più nodi del server di gestione, ad esempio un'installazione a 13 nodi, devi installare entrambi i nodi del server di gestione Edge prima di installare la monetizzazione.

  • Utilizza l'utilità apigee-setup per aggiornare il processore di messaggi Apigee in modo da abilitare i componenti runtime di Monetization Services, ad esempio la policy di registrazione delle transazioni e l'applicazione dei limiti. Se hai più processori di messaggi, installa la monetizzazione su tutti.
  • Esegui la procedura di onboarding della monetizzazione per le tue organizzazioni Edge.
  • Configura il portale dei servizi per sviluppatori Apigee (o semplicemente il portale) per supportare la monetizzazione. Per saperne di più, consulta Configurare la monetizzazione nel portale per sviluppatori.

Creare un file di configurazione silenziosa per la monetizzazione

Di seguito è riportato un esempio di file di configurazione silenziosa per un'installazione di monetizzazione. Modifica questo file in base alle esigenze della tua configurazione. Utilizza l'opzione -f di setup.sh per includere questo file.

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

Note:

  • Se il file di configurazione di Edge non ha specificato le informazioni SMTP, aggiungile. La monetizzazione richiede un server SMTP.
  • In un'installazione a singolo data center, tutti i nodi ZooKeeper vengono configurati come leader per impostazione predefinita. Quando installi Edge su più data center, alcuni nodi ZooKeeper verranno configurati come osservatori. Assicurati che la proprietà ZK_HOSTS sopra specificata indichi un nodo leader in un'installazione a più data center.
  • Se abiliti l'autenticazione Cassandra, puoi passare il nome utente e la password di Cassandra utilizzando le seguenti proprietà:
    CASS_USERNAME
    CASS_PASSWORD

Integrare Monetization Services con tutti i server di gestione

Utilizza la seguente procedura per integrare la monetizzazione sui nodi del server di gestione.

  1. Se stai installando la monetizzazione su una topologia Edge che utilizza più nodi del server di gestione, ad esempio un'installazione a 13 nodi, assicurati di aver installato entrambi i nodi del server di gestione prima di installare la monetizzazione.
  2. Sul nodo del server di gestione, esegui lo script di configurazione:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione -p mo specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".

  3. Se stai installando la monetizzazione su più nodi del server di gestione, ripeti il passaggio 2 su il secondo nodo del server di gestione.

Al termine della configurazione, nel database PostgreSQL viene creato uno schema RDBMS per Monetization Services. In questo modo viene completata l'integrazione di Monetization Services e dei relativi componenti associati con il server Postgres.

Integrare i servizi di monetizzazione con tutti i processori di messaggi

Utilizza la seguente procedura per integrare la monetizzazione su tutti i nodi processore di messaggi.

  1. Sul primo nodo processore di messaggi, al prompt dei comandi, esegui lo script di configurazione:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione -p mo specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee".

  2. Ripeti questa procedura su tutti i nodi del processore di messaggi.

Al termine della configurazione, il processore di messaggi viene aggiornato con Monetization Services. In questo modo viene completata l'integrazione di Monetization Services e dei relativi componenti associati con i Message Processor.

Onboarding della monetizzazione

Per creare una nuova organizzazione e abilitare la monetizzazione:

  1. Crea l'organizzazione come faresti con qualsiasi nuova organizzazione. Per saperne di più, consulta Eseguire l'onboarding di un'organizzazione.
  2. Utilizza l'API di provisioning della monetizzazione come descritto in Abilitare la monetizzazione per un'organizzazione. Per farlo, devi disporre dei privilegi di amministratore di sistema.

Al successivo accesso alla nuova UI di Edge, vedrai la voce Monetizzazione nel menu di primo livello per l'organizzazione:

Menu Monetizzazione nella nuova UI di Edge

Per configurare il portale in modo che supporti la monetizzazione, consulta Configurare la monetizzazione nel portale per sviluppatori.

Aggiungere un nodo del server di gestione a un'installazione di monetizzazione

Se aggiungi un server di gestione a un'installazione Edge esistente, devi assicurarti di aggiungere i servizi di monetizzazione al nuovo server di gestione e configurare tutti i server di gestione in modo che possano comunicare.

Per aggiungere un server di gestione:

  1. Installa il nuovo server di gestione.
  2. Installa la monetizzazione sul nuovo server di gestione utilizzando il seguente comando:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f /opt/silent.conf

Configurazione aggiuntiva

Fornire i documenti di fatturazione come file PDF

La monetizzazione mostra i documenti di fatturazione agli utenti finali in formato HTML. Per fornire i documenti di fatturazione come file PDF, puoi integrare la monetizzazione con un sistema di fatturazione che fornisce la generazione di PDF o concedere in licenza una libreria PDF di terze parti supportata.

Configurare le impostazioni dell'organizzazione

Per aggiungere/aggiornare gli attributi dell'organizzazione, puoi utilizzare una richiesta PUT, come mostrato nel seguente esempio:

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

La monetizzazione risponde con le impostazioni dell'organizzazione. Ad esempio:

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

La tabella seguente elenca gli attributi a livello di organizzazione disponibili per configurare un' organizzazione Mint.

Attributi Descrizione
MINT_TAX_MODEL

I valori accettati sono "DISCLOSED", "UNDISCLOSED", "HYBRID" (il valore predefinito è null)

MINT_CURRENCY

Codice valuta ISO (il valore predefinito è null)

MINT_TAX_NEXUS

Nexus fiscale (il valore predefinito è null)

MINT_DEFAULT_PROD_TAX_CATEGORY

Categoria fiscale predefinita del prodotto (il valore predefinito è null)

MINT_IS_GROUP_ORG

Organizzazione del gruppo (il valore predefinito è "false")

MINT_HAS_BROKER

Ha interrotto (il valore predefinito è false)

MINT_TIMEZONE

Fuso orario (il valore predefinito è null)

MINT_TAX_ENGINE_EXTERNAL_ID

ID motore fiscale (il valore predefinito è null)

MINT_COUNTRY

Paese dell'organizzazione (il valore predefinito è null)

MINT_REG_NO

Numero di registrazione dell'organizzazione, il Regno Unito fornisce un numero diverso dall'ID fiscale (il valore predefinito è null)

MINT_BILLING_CYCLE_TYPE

"PRORATED", "CALENDAR_MONTH" (il valore predefinito è "CALENDAR_MONTH")

MINT_SUPPORTED_BILLING_TYPE

"PREPAID"/"POSTPAID"/"BOTH" (il valore predefinito è "PREPAID")

MINT_IS_SEPARATE_INV_FOR_FEES

Indica se deve essere generata una fattura separata per le commissioni (il valore predefinito è "false")

MINT_ISSUE_NETTING_STMT

Indica se deve essere emesso un estratto di compensazione (il valore predefinito è "false")

MINT_NETTING_STMT_PER_CURRENCY

Indica se deve essere generato un estratto di compensazione per valuta (il valore predefinito è "false")

MINT_HAS_SELF_BILLING

Indica se l'organizzazione ha l'autofatturazione (il valore predefinito è "false")

MINT_SELF_BILLING_FOR_ALL_DEV

Indica se l'organizzazione ha l'autofatturazione per tutti gli sviluppatori (il valore predefinito è "false")

MINT_HAS_SEPARATE_INV_FOR_PROD

Indica se l'organizzazione ha una fattura separata per prodotto (il valore predefinito è "false")

MINT_HAS_BILLING_ADJUSTMENT

Indica se l'organizzazione supporta gli aggiustamenti di fatturazione (il valore predefinito è "false")

features.isMonetizationEnabled

Utilizzato dalla nuova UI di Edge per visualizzare il menu specifico per la monetizzazione (il valore predefinito è "false")

ui.config.isOperator

Utilizzato dalla nuova UI di Edge per visualizzare il fornitore come operatore anziché come organizzazione (il valore predefinito è "true")

Per configurare le impostazioni dell'organizzazione aziendale utilizzando la nuova UI di Edge, consulta Iniziare a utilizzare la monetizzazione.

Limiti di monetizzazione

Per applicare i limiti di monetizzazione, collega la policy di controllo dei limiti di monetizzazione ai proxy API. In particolare, la policy viene attivata nelle seguenti condizioni:

  • Lo sviluppatore che accede all'API monetizzata non è registrato o non ha sottoscritto il piano tariffario.
  • Lo sviluppatore ha superato il volume di transazioni per il piano tariffario sottoscritto.
  • È stato raggiunto il saldo del conto con pagamento anticipato dello sviluppatore o il limite di credito con pagamento posticipato.

La policy di controllo dei limiti di monetizzazione genera errori e blocca le chiamate API in situazioni come quelle elencate sopra. La policy estende la policy Raise Fault e puoi personalizzare il messaggio restituito. Le condizioni applicabili derivano dalle variabili aziendali.

Per saperne di più, consulta Applicare i limiti di monetizzazione ai proxy API.