Os serviços de monetização são uma extensão do Apigee Edge e, por isso, não são executados como um processo autônomo. Ela é executada em qualquer configuração atual do Apigee Edge, exceto na configuração All-In-One (AIO). Não é possível instalar os serviços de monetização em uma configuração de AIO.
Requisitos de monetização
- Se você estiver instalando a monetização em uma topologia de borda que usa vários nós do servidor de gerenciamento, como uma instalação de 13 nós, é necessário instalar os dois, antes de instalar a monetização.
- Para instalar a monetização no Edge em que a instalação do Edge tem vários nós do Postgres, os nós do Postgres precisam ser configurados no modo mestre/em espera. Não é possível instalar a monetização no Edge se você tiver vários nós mestres do Postgres. Para mais informações, consulte Configurar a replicação mestre em espera para o Postgres.
- A monetização não está disponível com a configuração All-In-One (AIO).
Visão geral da instalação
As etapas a seguir ilustram como adicionar serviços de monetização a uma instalação atual do Apigee Edge:
- Use o utilitário
apigee-setup
para atualizar o nó do servidor de gerenciamento da Apigee para ativar os serviços de monetização, por exemplo, gerenciamento de catálogo, configuração de limites e notificações, faturamento e geração de relatórios.Se você tiver vários nós do servidor de gerenciamento, como uma instalação de 13 nós, instale os dois antes de instalar a monetização.
- Use o utilitário
apigee-setup
para atualizar o processador de mensagens da Apigee para ativar os componentes de ambiente de execução dos serviços de monetização, por exemplo, política de gravação de transações e aplicação de limite. Se você tiver vários processadores de mensagens, instale a monetização em todos eles. - Realize o processo de integração de monetização nas suas organizações de Edge.
- Configure o portal de serviços para desenvolvedores da Apigee (ou simplesmente o portal) para oferecer suporte à monetização. Para mais informações, consulte Configurar monetização no portal do desenvolvedor.
Criar um arquivo de configuração silencioso para a monetização
Veja abaixo um exemplo de arquivo de configuração silenciosa para uma instalação de monetização. Edite esse arquivo conforme necessário para sua configuração. Use a opção -f para setup.sh para incluir esse arquivo.
# 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>"
Observações:
- Se o arquivo de configuração do Edge não tiver especificado as informações do SMTP, adicione-o. A monetização requer um servidor SMTP.
- Em uma única instalação de data center, todos os nós do ZooKeeper são, por padrão, configurados como líderes. Ao instalar o Edge em vários data centers, alguns nós do ZooKeeper serão configurados como observadores. Verifique se a propriedade ZK_HOSTS acima especifica um nó líder em uma instalação de vários data centers.
- Se você ativar a autenticação do Cassandra, poderá transmitir o nome de usuário e a senha do Cassandra
usando as seguintes propriedades:
CASS_USERNAME CASS_PASSWORD
Integre os serviços de monetização a todos os servidores de gerenciamento
Use o procedimento a seguir para integrar a monetização nos nós do servidor de gerenciamento.
- Se você estiver instalando a monetização em uma topologia de borda que usa vários nós do servidor de gerenciamento, como uma instalação de 13 nós, verifique se instalou os dois nós antes de instalar a monetização.
- No nó do servidor de gerenciamento, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
A opção
-p mo
especifica a integração da monetização.O arquivo de configuração precisa estar acessível ou legível para o usuário "apigee".
- Se você estiver instalando a monetização em vários nós do servidor de gerenciamento, repita a etapa 2 no segundo nó desse servidor.
Após a configuração, um esquema RDBMS para serviços de monetização é criado no banco de dados do PostgreSQL. Isso conclui a integração dos serviços de monetização e dos componentes associados ao servidor Postgres.
Integre os serviços de monetização a todos os processadores de mensagens
Use o procedimento a seguir para integrar a monetização em todos os nós do processador de mensagens.
- No primeiro nó do processador de mensagens, no prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
A opção
-p mo
especifica a integração da monetização.O arquivo de configuração precisa estar acessível ou legível para o usuário "apigee".
- Repita este procedimento em todos os nós do Processador de mensagens.
Após a configuração, o Processador de mensagens é atualizado com os Serviços de monetização. Isso conclui a integração dos serviços de monetização e dos componentes associados aos processadores de mensagens.
Integração de monetização
Para criar uma nova organização e ativar a monetização:
- Crie a organização como você faria com qualquer nova. Para saber mais, consulte Integrar uma organização.
- Use a API de provisionamento de monetização, conforme descrito em Ativar a monetização para uma organização. Para isso, é preciso ter privilégios de administrador do sistema.
Quando você fizer login na interface do Edge, verá a entrada "Monetização" no menu de nível superior da organização:
Para configurar o portal e oferecer suporte à monetização, consulte Configurar monetização no portal do desenvolvedor.
Adicionar um nó do servidor de gerenciamento a uma instalação de monetização
Se você adicionar um Servidor de gerenciamento a uma instalação de borda atual, será preciso adicionar os serviços de monetização ao novo servidor de gerenciamento e configurar todos os servidores para que eles possam se comunicar.
Para adicionar um servidor de gerenciamento:
- Instale o novo servidor de gerenciamento.
- Instale a monetização no novo servidor de gerenciamento.
- No Servidor de gerenciamento original, chame o seguinte:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- Reinicie o Servidor de Gerenciamento original:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- No novo Servidor de gerenciamento, chame o seguinte:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
- Reinicie o novo Servidor de gerenciamento:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Configurações avançadas
Fornecer documentos de faturamento como arquivos PDF
A monetização exibe documentos de faturamento para os usuários finais no formato HTML. Para fornecer documentos de faturamento como arquivos PDF, integre a monetização a um sistema de faturamento que forneça geração de PDF ou licencie uma biblioteca PDF de terceiros compatível.
Definir as configurações da organização
Para adicionar/atualizar atributos da organização, use uma solicitação PUT
, conforme o
exemplo a seguir:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT
A monetização responde com as configurações da organização. Exemplo:
{ ... "displayName": "Orgnization name", "name": "org4", "properties": { "property": [ ... { "name": "MINT_CURRENCY", "value": "USD" }, { "name": "MINT_COUNTRY", "value": "US" }, { "name": "MINT_TIMEZONE", "value": "GMT" } ] } }
A tabela a seguir lista os atributos no nível da organização disponíveis para configurar uma organização de cédulas.
Atributos | Descrição |
---|---|
MINT_TAX_MODEL
|
Os valores aceitos são "DISCLOSED", "UNDISCLOSED", "HYBRID" (o padrão é nulo) |
MINT_CURRENCY
|
Código de moeda ISO (o padrão é nulo) |
MINT_TAX_NEXUS
|
Composição fiscal (o padrão é nulo) |
MINT_DEFAULT_PROD_TAX_CATEGORY
|
Categoria fiscal padrão do produto (o padrão é nulo) |
MINT_IS_GROUP_ORG
|
Organização do grupo IS (o padrão é "falso") |
MINT_HAS_BROKER
|
Corrompeu (o padrão é "false") |
MINT_TIMEZONE
|
Fuso horário (o padrão é nulo) |
MINT_TAX_ENGINE_EXTERNAL_ID
|
ID do mecanismo fiscal (o padrão é nulo) |
MINT_COUNTRY
|
País da organização (o padrão é nulo) |
MINT_REG_NO
|
O número de registro da organização, no Reino Unido, fornece um número diferente do CPF/CNPJ (o padrão é nulo) |
MINT_BILLING_CYCLE_TYPE
|
"PRORATED", "AGE_MONTH" (o padrão é "AGENDA_MONTH") |
MINT_SUPPORTED_BILLING_TYPE
|
"PREPAID"/"POSTPAID"/"BOTH" (o padrão é "PREPAID") |
MINT_IS_SEPARATE_INV_FOR_FEES
|
Indica se uma fatura de tarifa separada deve ser gerada (o padrão é "falso") |
MINT_ISSUE_NETTING_STMT
|
Indica se a instrução de pagamento precisa ser emitida (o padrão é "falso") |
MINT_NETTING_STMT_PER_CURRENCY
|
Indica se a instrução de liquidação deve ser gerada por moeda (o padrão é "falso"). |
MINT_HAS_SELF_BILLING
|
Indica se a organização tem faturamento próprio (o padrão é "falso") |
MINT_SELF_BILLING_FOR_ALL_DEV
|
Indica se a organização faz o faturamento automático para todos os desenvolvedores (o padrão é "falso"). |
MINT_HAS_SEPARATE_INV_FOR_PROD
|
Indica se a organização tem fatura separada por produto (o padrão é "false") |
MINT_HAS_BILLING_ADJUSTMENT
|
Indica se a organização oferece suporte a ajustes de faturamento (o padrão é "falso") |
features.isMonetizationEnabled
|
Usado pela interface de gerenciamento para exibir o menu específico de monetização (o padrão é "falso") |
ui.config.isOperator
|
Usado pela interface de gerenciamento para exibir o provedor como Operador em vez de Organização (o padrão é "verdadeiro") |
Para definir as configurações da organização comercial usando a interface de gerenciamento, consulte Começar a usar a monetização.
Limites de monetização
Para impor limites de monetização, anexe a política de verificação dos limites de monetização aos proxies de API. Especificamente, a política é acionada nas seguintes condições:
- O desenvolvedor que acessa a API monetizada não está registrado ou não se inscreveu no plano de tarifas.
- O desenvolvedor excedeu o volume de transações para o plano de preços assinado.
- O saldo pré-pago da conta do desenvolvedor ou o limite de crédito pós-pago foi atingido.
A política de verificação de limites de monetização gera falhas e bloqueia chamadas de API em situações como as listadas acima. A política estende a política "Aumentar falha", e é possível personalizar a mensagem retornada. As condições aplicáveis são derivadas de variáveis de negócios.
Para mais informações, acesse Aplicar limites de monetização em proxies de API.