Monetization Services es una extensión de Apigee Edge, por lo que no se ejecuta como un proceso independiente. Se ejecuta en cualquier configuración existente de Apigee Edge, a excepción de la configuración de todo en uno (AIO). No puedes instalar los servicios de monetización en una configuración AIO.
Requisitos de monetización
- Si instalas Monetización en una topología de Edge que usa varios nodos del servidor de administración, como una instalación de 13 nodos, debes instalar ambos nodos del servidor de administración de Edge antes de instalar Monetización.
- Para instalar Monetización en Edge, en el que la instalación de Edge tiene varios nodos de Postgres, estos deben configurarse en modo principal o en espera. No puedes instalar Monetización en Edge si tienes varios nodos principales de Postgres. Para obtener más información, consulta Cómo configurar la replicación maestra-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 muestra 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 a fin de habilitar los servicios de monetización, por ejemplo, la administración de catálogos, la configuración de límites y notificaciones, la facturación y los informes.Si tienes varios nodos de servidor de administración, como una instalación de 13 nodos, debes instalar ambos nodos de servidor de administración de Edge antes de instalar la Monetización.
- Usa la utilidad
apigee-setup
para actualizar el procesador de mensajes 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 Monetization en todos ellos. - Realiza el proceso de integració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 Cómo configurar 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 ejemplo de archivo de configuración silencioso para una instalación de monetización. Edita este archivo según sea necesario para tu configuración. Usa la opción -f en 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. # 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>"
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, los números impares de nodos de ZooKeeper deben configurarse como
voters
. Si la cantidad de nodos de ZooKeeper es par, algunos se configurarán comoobservers
. Cuando instalas Edge en una cantidad par de centros de datos, algunos nodos de ZooKeeper deben configurarse comoobservers
para que la cantidad de nodos de votantes sea impar. Durante la elección de líder de ZooKeeper, se elegirá un nodo votante comoleader
. Asegúrate de que la propiedadZK_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.
- Si instalas Monetización en una topología de Edge que usa varios nodos del servidor de administración, como una instalación de 13 nodos, asegúrate de haber instalado ambos nodos del servidor de administración antes de instalar Monetización.
- 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 Monetización.El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
- Si instalas Monetización en varios nodos del servidor de administración, repite el paso 2 en el segundo nodo del servidor de administración.
Cuando la configuración se realiza correctamente, se crea un esquema de RDBMS para los servicios de monetización en la base de datos de PostgreSQL. Esto 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 en todos los procesadores de mensajes
Usa el siguiente procedimiento para integrar la monetización en todos los nodos del procesador de mensajes.
- En el primer nodo de Message Processor, en la ventana de comandos, 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 Monetización.El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
- Repite este procedimiento en todos los nodos del procesador de mensajes.
Si la configuración se realiza correctamente, el procesador de mensajes 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 procesadores de mensajes.
Integración de monetización
Sigue estos pasos para crear una organización nueva y habilitar la monetización:
- Crea la organización como lo harías con cualquier organización nueva. Para obtener más información, consulta Cómo integrar una organización.
- 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 para admitir 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 monetización
Si agregas un servidor de administración a una instalación de Edge existente, debes asegurarte de agregar 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, sigue estos pasos:
- Instala el servidor de administración nuevo.
- Instala la monetización en el servidor de administración nuevo.
- 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
- Reinicia el servidor de administración original:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- En el servidor de administración nuevo, llama al siguiente método:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
. - Reinicia el servidor de administración nuevo:
/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 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 en un sistema de facturación que proporcione la generación de PDF o la licencia de una biblioteca de PDF de terceros compatible.
Configura los ajustes de la organización
Para agregar o actualizar los 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 la casa de moneda.
Atributos | Descripción |
---|---|
MINT_TAX_MODEL
|
Los valores aceptados son "DISCLOSED", "UNDISCLOSED", "HYBRID" (el valor predeterminado es nulo). |
MINT_CURRENCY
|
Código de moneda ISO (el valor predeterminado es nulo) |
MINT_TAX_NEXUS
|
Vínculo 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
|
Organización del grupo de IS (el valor predeterminado es “false”) |
MINT_HAS_BROKER
|
Se dañó (el valor predeterminado es falso) |
MINT_TIMEZONE
|
Zona horaria (el valor predeterminado es nulo) |
MINT_TAX_ENGINE_EXTERNAL_ID
|
ID del motor de impuestos (el valor predeterminado es nulo) |
MINT_COUNTRY
|
Es el país de la organización (el valor predeterminado es nulo). |
MINT_REG_NO
|
Número de registro de la organización, Reino Unido proporciona un número diferente al de 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 tarifas independiente (el valor predeterminado es “false”). |
MINT_ISSUE_NETTING_STMT
|
Indica si se debe emitir la declaración de compensación (el valor predeterminado es “false”). |
MINT_NETTING_STMT_PER_CURRENCY
|
Indica si se debe generar una conciliación por moneda (la configuración predeterminada 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 facturación propia para todos los desarrolladores (el valor predeterminado es “false”). |
MINT_HAS_SEPARATE_INV_FOR_PROD
|
Indica si la organización tiene una factura independiente 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
|
Lo usa la IU de administración para mostrar el proveedor como Operador en lugar de Organización (el valor predeterminado es "true") |
Para configurar la organización de la empresa con la IU de administración, consulta Monetización de acceso en Edge.
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 de tarifas.
- El desarrollador superó el volumen de transacciones del plan de tarifas al que se suscribió.
- Se alcanzó el saldo de la cuenta prepaga 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 mencionadas anteriormente. La política extiende la política de RaiseFault, y puedes personalizar el mensaje que se muestra. Las condiciones aplicables se derivan de las variables de negocio.
Para obtener más información, consulta Aplica límites de monetización en proxies de API de forma forzosa.