Cómo instalar servicios de monetización

Edge para nube privada v4.18.05

Los servicios de monetización son una extensión de Apigee Edge, por lo que no se ejecutan como un proceso independiente. Se ejecuta en cualquier configuración existente de Apigee Edge, con la excepción de la configuración todo en uno (AIO).

Requisitos de monetización

  • Si instalas la Monetización en una topología de Edge que usa varios nodos de Management Server, como una instalación de 13 nodos, debes instalar ambos nodos de Edge Management Server antes de instalar la Monetización.
  • Para instalar la monetización en Edge en el que la instalación de Edge tiene varios nodos de Postgres, los nodos de Postgres deben configurarse en modo principal/en espera. No puedes instalar la monetización en Edge si tienes varios nodos principales de Postgres. Para obtener más información, consulta Configura la replicación principal-en espera para Postgres.
  • La monetización no está disponible con la configuración todo en uno (AIO).

Descripción general de instalación

En los siguientes pasos, se ilustra cómo agregar servicios de monetización en una instalación existente de Apigee Edge:

  • Usa la utilidad apigee-setup para actualizar el nodo del servidor de administración de Apigee y habilitar los servicios de monetización, por ejemplo, la administración del catálogo, la configuración de límites y notificaciones, la facturación y los informes.

    Si tienes varios nodos de Management Server, como una instalación de 13 nodos, debes instalar ambos nodos de Edge Management Server antes de instalar Monetization.

  • Usa la utilidad apigee-setup para actualizar el Message Processor de Apigee y habilitar los componentes del entorno de ejecución de los servicios de monetización, por ejemplo, la política de registro de transacciones y la aplicación de límites. Si tienes varios Message Processors, instala la Monetización en todos ellos.
  • Realiza el proceso de incorporación de Monetización para tus organizaciones de Edge.
  • Configura el portal de servicios para desarrolladores de Apigee (o simplemente, el portal) para admitir la monetización. Para obtener más información, consulta Configura la monetización en el portal para desarrolladores.

Crea un archivo de configuración silencioso para la monetización

A continuación, se muestra un archivo de configuración silenciosa de ejemplo para una instalación de Monetización. Edita este archivo según sea necesario para tu configuración. Usa la opción -f para setup.sh para incluir este archivo.

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

Notas:

  • Si tu archivo de configuración de Edge no especificó la información de SMTP, agrégala. La monetización requiere un servidor SMTP.
  • En una instalación de un solo centro de datos, todos los nodos de ZooKeeper se configuran como líderes de forma predeterminada. Cuando instales Edge en varios centros de datos, algunos nodos de ZooKeeper se configurarán como observadores. Asegúrate de que la propiedad ZK_HOSTS anterior especifique un nodo líder en una instalación de varios centros de datos.
  • Si habilitas la autenticación de Cassandra, puedes pasar el nombre de usuario y la contraseña de Cassandra con las siguientes propiedades:
    CASS_USERNAME
    CASS_PASSWORD

Integra los servicios de monetización con todos los servidores de administración

Usa el siguiente procedimiento para integrar la monetización en los nodos del servidor de administración.

  1. Si instalas la monetización en una topología de Edge que usa varios nodos de Management Server, como una instalación de 13 nodos, asegúrate de haber instalado ambos nodos de Management Server antes de instalar la monetización.
  2. En el nodo del servidor de administración, ejecuta la secuencia de comandos de configuración:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    La opción -p mo especifica que se debe integrar la monetización.

    El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.

  3. Si instalas la monetización en varios nodos del servidor de administración, repite el paso 2 en el segundo nodo del servidor de administración.

Si la configuración se realiza de forma correcta, se crea un esquema de RDBMS para los servicios de monetización en la base de datos de PostgreSQL. Con esto, se completa la integración de los servicios de monetización y sus componentes asociados con el servidor de Postgres.

Integra los servicios de monetización con todos los Message Processors

Usa el siguiente procedimiento para integrar la monetización en todos los nodos de Message Processor.

  1. En el primer nodo de Message Processor, en el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    La opción -p mo especifica que se debe integrar la monetización.

    El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.

  2. Repite este procedimiento en todos los nodos de Message Processor.

Si la configuración se realiza de forma correcta, el Message Processor se actualiza con los servicios de monetización. Esto completa la integración de los servicios de monetización y sus componentes asociados con los Message Processors.

Incorporación para la monetización

Para crear una organización nueva y habilitar la monetización, sigue estos pasos:

  1. Crea la organización como lo harías con cualquier organización nueva. Para obtener más información, consulta Incorpora una organización.
  2. Usa la API de aprovisionamiento de monetización como se describe en Habilita la monetización para una organización. Para ello, debes tener privilegios de administrador del sistema.

La próxima vez que accedas a la IU de Edge, verás la entrada Monetización en el menú de nivel superior de la organización:

Para configurar el portal de modo que admita la monetización, consulta Configura la monetización en el portal para desarrolladores.

Agrega un nodo de servidor de administración a una instalación de Monetization

Si agregas un servidor de administración a una instalación de Edge existente, debes asegurarte de agregar los servicios de monetización al nuevo servidor de administración y configurar todos los servidores de administración para que puedan comunicarse.

Para agregar un servidor de administración, haz lo siguiente:

  1. Instala el nuevo servidor de administración.
  2. Instala la monetización en el nuevo servidor de administración.
  3. En el servidor de administración original, llama a lo siguiente:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Reinicia el servidor de administración original:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. En el nuevo servidor de administración, llama a lo siguiente:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Reinicia el nuevo servidor de administración:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Configuración adicional

Proporciona documentos de facturación como archivos PDF

La monetización muestra los documentos de facturación a los usuarios finales en formato HTML. Para proporcionar documentos de facturación como archivos PDF, puedes integrar la Monetización con un sistema de facturación que proporcione la generación de PDF o que otorgue licencias a una biblioteca de PDF de terceros compatible.

Configura los ajustes de la organización

Para agregar o actualizar atributos de la organización, puedes usar una solicitud PUT, como se muestra en el siguiente ejemplo:

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

La monetización responde con la configuración de la organización. Por ejemplo:

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

En la siguiente tabla, se enumeran los atributos a nivel de la organización que están disponibles para configurar una organización de Mint.

Atributos Descripción
MINT_TAX_MODEL

Los valores aceptados son "DISCLOSED", "UNDISCLOSED" y "HYBRID" (el valor predeterminado es nulo).

MINT_CURRENCY

Código de moneda ISO (el valor predeterminado es nulo)

MINT_TAX_NEXUS

Nexo fiscal (el valor predeterminado es nulo)

MINT_DEFAULT_PROD_TAX_CATEGORY

Categoría fiscal predeterminada del producto (el valor predeterminado es nulo)

MINT_IS_GROUP_ORG

Es una organización de grupo (el valor predeterminado es "false")

MINT_HAS_BROKER

Has broken (el valor predeterminado es false)

MINT_TIMEZONE

Zona horaria (el valor predeterminado es nulo)

MINT_TAX_ENGINE_EXTERNAL_ID

ID del motor fiscal (el valor predeterminado es nulo)

MINT_COUNTRY

País de la organización (el valor predeterminado es nulo)

MINT_REG_NO

Número de registro de la organización, el Reino Unido proporciona un número diferente del ID fiscal (el valor predeterminado es nulo)

MINT_BILLING_CYCLE_TYPE

"PRORATED", "CALENDAR_MONTH" (el valor predeterminado es "CALENDAR_MONTH")

MINT_SUPPORTED_BILLING_TYPE

"PREPAID"/"POSTPAID"/"BOTH" (el valor predeterminado es "PREPAID")

MINT_IS_SEPARATE_INV_FOR_FEES

Indica si se debe generar una factura de tarifa independiente (el valor predeterminado es "false").

MINT_ISSUE_NETTING_STMT

Indica si se debe emitir un estado de cuenta de compensación (el valor predeterminado es "false")

MINT_NETTING_STMT_PER_CURRENCY

Indica si se debe generar un estado de cuenta de compensación por moneda (el valor predeterminado es "false").

MINT_HAS_SELF_BILLING

Indica si la organización tiene autofacturación (el valor predeterminado es "false")

MINT_SELF_BILLING_FOR_ALL_DEV

Indica si la organización tiene autofacturación para todos los desarrolladores (el valor predeterminado es "false").

MINT_HAS_SEPARATE_INV_FOR_PROD

Indica si la organización tiene una factura separada por producto (el valor predeterminado es "false").

MINT_HAS_BILLING_ADJUSTMENT

Indica si la organización admite ajustes de facturación (el valor predeterminado es "false").

features.isMonetizationEnabled

La IU de administración lo usa para mostrar el menú específico de monetización (el valor predeterminado es "false").

ui.config.isOperator

La IU de administración lo usa para mostrar el proveedor como operador en comparación con la organización (el valor predeterminado es "true").

Para configurar los parámetros de configuración de la organización empresarial con la IU de administración, consulta Comienza a usar la monetización.

Límites de monetización

Para aplicar límites de monetización, adjunta la política de verificación de límites de monetización a los proxies de API. Específicamente, la política se activa en las siguientes condiciones:

  • El desarrollador que accede a la API monetizada no está registrado o no se suscribió al plan tarifario.
  • El desarrollador superó el volumen de transacciones del plan tarifario suscrito.
  • Se alcanzó el saldo de la cuenta prepagada del desarrollador o el límite de crédito pospago.

La política de verificación de límites de monetización genera fallas y bloquea las llamadas a la API en situaciones como las que se mencionaron anteriormente. La política extiende la política Raise Fault, y puedes personalizar el mensaje que se devuelve. Las condiciones aplicables se derivan de las variables empresariales.

Para obtener más información, consulta Aplica límites de monetización en proxies de API.