Como instalar serviços de monetização

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.

  1. 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.
  2. 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".

  3. 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.

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

  2. 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:

  1. Crie a organização como você faria com qualquer nova. Para saber mais, consulte Integrar uma organização.
  2. 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:

  1. Instale o novo servidor de gerenciamento.
  2. Instale a monetização no novo servidor de gerenciamento.
  3. No Servidor de gerenciamento original, chame o seguinte:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Reinicie o Servidor de Gerenciamento original:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. No novo Servidor de gerenciamento, chame o seguinte:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. 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.