Configurar plano de tarifa com atributos personalizados

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Introdução

Em alguns casos, pode ser necessário que os contadores de transação se baseiem em uma variável ou valor personalizado. Por exemplo, talvez você precise:

  • Cobrar dos desenvolvedores um valor variável com base em um valor fornecido na mensagem de uma API a chamada. Por exemplo, você pode cobrar dos desenvolvedores de apps com base no número de bytes transmitidos na solicitação de API.
  • Agrupar várias chamadas de API em uma única transação.

Ao usar planos de tarifas com atributos personalizados, é possível identificar um valor na mensagem de uma API que atua como contador e é usada para calcular contagens e cobranças de transações.

Os seguintes planos de preços com atributos personalizados são aceitos:

  • Tabela de preços com atributo personalizado
  • Notificação ajustável com atributo personalizado

É possível definir no máximo 10 atributos personalizados por plano de tarifas.

Noções básicas sobre cálculos de atributos personalizados

Como o valor do atributo personalizado é considerado nas contagens e cobranças de transações do plano de tarifas depende do modelo de cobrança, conforme resumido na tabela a seguir.

Modelo de carregamento Cálculo do atributo personalizado
Taxa fixa e volume com faixas

custom attribute number * rate = charge to developer

Para uma taxa fixa, o número do atributo personalizado se torna o número de transações que são multiplicados pela taxa. Para "Volume em banda", é o número de transações em uma faixa é incrementado pelo número do atributo personalizado, e o desenvolvedor é cobrado por isso número de transações. Por exemplo, se um valor de atributo personalizado na mensagem for 10, o desenvolvedor é cobrado por 10 transações, e 10 são adicionadas ao a contagem de bandas atuais. Se o desenvolvedor tivesse apenas seis transações restantes na conta banda, 6 é multiplicado pela taxa dessa banda. Os quatro restantes vão para a próxima banda e multiplicadas pela taxa dessa faixa.

Em um plano com banda larga, se a última faixa de volume tiver um limite (não for "ilimitado") e uma transação exceder esse limite, duas coisas acontecerão:

Pacotes

Como os pacotes são cobrados pelo grupo, não pela transação, as seguintes ocorre o cálculo:

custom attribute number = amount added to bundle count

Por exemplo, se o número do atributo personalizado na mensagem for 10, 10 será adicionado a o número de transações usadas no pacote. Se o desenvolvedor tivesse apenas seis restantes no pacote atual, ele será preenchido e o próximo a contagem de pacotes é incrementada em 4. A taxa para o próximo pacote, se houver, é de carregado.

Se o último pacote tiver um limite (não for "ilimitado") e uma transação exceder esse limite, duas coisas acontecem:

Notificações ajustáveis

Para notificações ajustáveis, ocorre o seguinte cálculo:

custom attribute number = amount added to transaction count

Por exemplo, se o número do atributo personalizado na mensagem for 10, 10 será adicionado a o número total de transações.

Onde o plano de tarifação recebe valor do atributo personalizado

A política de registro de transações (no pacote de produtos da API) informa à monetização onde procurar no para o valor do atributo personalizado. Você define o atributo personalizado na página da política de registro de transações para o pacote de produtos da API.

Depois de criar uma API, é possível selecionar o atributo personalizado no plano de tarifas para o pacote de produtos que contém a política de registro de transações com o atributo personalizado definido.

Este é o fluxo geral:

  1. Defina os atributos personalizados ao adicionar um produto de API.
  2. Crie um pacote de produtos de API que contenha o produto.
    Na política de gravação de transações para o pacote de produtos da API, adicione os atributos personalizados que serão usados para definir planos de tarifas.
  3. Crie um plano de preços do tipo tabela de preços ou notificação ajustável. para o pacote de produtos da API e especifique um parâmetro de classificação personalizada.

A figura a seguir mostra a relação entre o atributo personalizado definido no da política de registro de transações e da configuração do plano da tabela de preços. A a notificação ajustável com a relação do plano de tarifas do atributo personalizado é semelhante, embora o valor na faixa de volume não seja aplicável.

Como gerar o bloco valor do atributo na mensagem

A política de gravação de transações procura o valor do atributo personalizado em vários lugares, como o cabeçalho, o corpo ou as variáveis de fluxo predefinidas na resposta. A solicitação não estará disponível, porque uma transação não é oficial até que você receba um response.) Veja a seguir exemplos que mostram como adicionar um cabeçalho de resposta com o valor numérico dela à mensagem. Nos dois casos, vamos usar a política "Atribuir mensagens" na junto a variáveis.

Adicionar o tamanho do payload da solicitação ao cabeçalho de resposta

Em cada solicitação de mensagem, há uma variável client.received.content.length que contém o número de bytes no payload da solicitação. Ao anexar uma política "Atribuir mensagem" ao resposta do endpoint proxy, podemos gerar um cabeçalho de resposta chamado messageSize que contém o valor de comprimento:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Adicionar um valor de atributo personalizado do app ao cabeçalho

Da mesma forma, podemos gerar um cabeçalho com o valor de um atributo personalizado em um aplicativo. Por exemplo, se você incluir um atributo personalizado chamado apprating em cada desenvolvedor da seguinte forma:

Ao usar a política "Verificar chave de API" (necessária para gerar receita), esse valor é armazenada em uma variável chamada verifyapikey.{policy_name}.apprating. Usar o botão "Atribuir" política de mensagens anexada à resposta do endpoint de proxy, você pode gerar um cabeçalho chamado apprating que contém o valor apprating do app:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Como configurar o plano de tarifação

Além da configuração de atributo personalizado descrita acima, o plano de tarifas é configurado da mesma forma. como você faria normalmente (para planos de tarifas sem atributos personalizados), mas precisa aderir às requisitos a seguir.

Como configurar um plano de tabela de preços com atributo personalizado usando a interface

Configure planos de tabelas de preços com atributos personalizados usando a interface do Edge ou a interface clássica do Edge, conforme descrito nas seções a seguir.

Edge

Para configurar um plano de tabela de preços com atributos personalizados usando a interface do Edge:

  1. Defina os atributos personalizados ao adicionar um produto de API.
  2. Crie um pacote de produtos de API que contenha o produto. Consulte Criar pacotes de produtos de API.
    Na política de gravação de transações para o pacote de produtos da API, adicione os atributos personalizados que serão usados para definir planos de tarifas. Para mais detalhes, consulte a introdução neste tópico e Crie uma política de registro de transações.
  3. Crie um plano de preços para o pacote de produtos da API e especifique um parâmetro de classificação personalizada.

Para mais informações, consulte Configurar detalhes do plano da tabela de preços usando a interface.

Edge clássico (nuvem privada)

Siga as etapas a seguir para criar uma tabela de preços com um plano de atributos personalizados usando a interface clássica do Edge:

  1. Na política de gravação de transações de um produto da API, adicione os atributos personalizados que serão usados para definir planos de tarifas. Para mais detalhes, consulte a introdução neste tópico e o artigo Criar uma transação política de gravação. Faça isso para cada produto de API que você quer incluir no pacote da API.
  2. Depois que os produtos de API e as políticas de registro de transações forem configurados da mesma forma que você que quiser, crie um pacote de API que contenha o produto. Consulte Criar pacotes de API.
  3. Crie um plano de tarifas para o pacote de API, selecionando o tipo de plano de tarifas Tabela de preços. com atributo personalizado.
  4. Clique no link Tabela de preços. A janela "Tabela de preços" será aberta.

  5. Selecione um atributo personalizado no menu suspenso Atributo personalizado. O menu lista listas personalizadas atributos criados para o produto em uma política de registro de transações. O desenvolvedor é cobrado com base no valor do atributo personalizado selecionado em cada transação.
    (Valor do atributo * taxa = cobrança do desenvolvedor)
  6. Como opção, configure um plano freemium conforme descrito em Especificar um plano de tabela de preços detalhes.
  7. Configure um modelo de cobrança conforme descrito em Especificar plano da tabela de preços detalhes. No entanto, na tabela de preços com tipo de plano de atributos personalizados, modelo de cobrança é baseado no atributo personalizado selecionado. Por exemplo, se você escolher Plano taxa como modelo de cobrança, o desenvolvedor é cobrado por uma taxa fixa com base no , como o número de bytes transmitidos em cada transação (não uma taxa fixa para cada transação). Consulte Cálculos para mais informações.
  8. Clique em Salvar. Rascunho.
    Publique o plano somente quando tiver certeza absoluta de que ele é definitivo. Consulte Publicar planos de preços para informações sobre como definir a data de publicação e publicar o de um plano eficaz de resposta a incidentes.

Para obter mais informações, consulte Especificar os detalhes do plano da tabela de preços usando a interface.

Como configurar um plano de notificação ajustável com atributos personalizados usando a interface

Configure planos de notificação ajustáveis com atributos personalizados, conforme descrito abaixo.

Edge

Para configurar um plano de tabela de preços com atributos personalizados usando a interface do Edge:

  1. Defina os atributos personalizados ao adicionar um produto de API.
  2. Crie um pacote de produtos de API que contenha o produto. Consulte Criar pacotes de produtos de API.
    Na política de gravação de transações para o pacote de produtos da API, adicione os atributos personalizados que serão usados para definir planos de tarifas. Para mais detalhes, consulte a introdução neste tópico e Crie uma política de registro de transações.
  3. Crie um plano de preços para o pacote de produtos da API e especifique um parâmetro de classificação personalizada.

Para mais informações, consulte Configurar um plano de notificação ajustável usando a interface.

Edge clássico (nuvem privada)

Para configurar um plano de tabela de preços com atributos personalizados usando a interface clássica do Edge:

  1. Na política de gravação de transações de um produto da API, adicione os atributos personalizados que serão usados para definir planos de tarifas. Para mais detalhes, consulte a introdução neste tópico e o artigo Criar uma transação política de gravação. Faça isso para cada produto de API que você quer incluir no pacote da API.
  2. Depois que os produtos de API e as políticas de registro de transações forem configurados da mesma forma que você que quiser, crie um pacote de API que contenha o produto. Consulte Criar pacotes de API.
  3. Crie um plano de tarifas para o pacote de API, selecionando o tipo de plano de tarifas Ajustável Notificação com atributo personalizado.
  4. Clique no link Detalhes. Isso abre a notificação ajustável janela.

  5. Selecione um atributo personalizado no menu suspenso Atributo personalizado. O menu lista os atributos personalizados criados para o produto em uma política de registro de transações. A o número total de transações do desenvolvedor é calculado com base no valor do atributo personalizado em cada transação.
  6. Defina a Base de agregação como o período em que o volume são agregadas. Selecione um número entre 1 e 24 meses. O valor padrão é 1. mês.
  7. Clique em Aplicar e fechar.
  8. Clique em Salvar. Rascunho.
    Publique o plano somente quando tiver certeza absoluta de que ele é definitivo. Consulte Publicar planos de preços para informações sobre como definir a data de publicação e publicar o de um plano eficaz de resposta a incidentes.

Para obter mais informações, consulte Como especificar detalhes do plano de notificação ajustável usando a IU.

Como especificar detalhes de um plano de tarifas com atributos personalizados usando a API

Siga estas etapas de pré-requisito:

  1. Na política de gravação de transações de um produto da API, adicione os atributos personalizados que serão usados para definir planos de tarifas. Para mais detalhes, consulte a introdução neste tópico e o artigo Criar uma transação política de gravação. Faça isso para cada produto de API que você quer incluir no pacote da API.
  2. Depois que os produtos de API e as políticas de registro de transações forem configurados da mesma forma que você que quiser, crie um pacote de API que contenha o produto. Consulte Criar pacotes de API.

Em seguida, use a API para criar o plano de tarifas.

Você especifica detalhes de um plano de tarifas com atributos personalizados ao criar o plano de tarifas. Você especifique os detalhes na propriedade ratePlanDetails no corpo da solicitação em uma para /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Em detalhes, especifique um valor de parâmetro de avaliação que identifique o nome do . Também é possível especificar um valor de parâmetro de classificação que agregue o atributo personalizado. em um intervalo de tempo especificado.

Consulte Plano de tarifas as definições de configuração dos detalhes para uma lista completa das opções detalhadas do plano de tarifas.

Por exemplo, o código a seguir cria uma tabela de preços com um plano de atributos personalizados atributo chamado messageSize (veja os itens em negrito).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "recurringStartUnit": 1,
    "recurringType": "CALENDAR",
    "recurringFee": "10",
    "setUpFee": "10",
    "startDate": "2013-09-15 00:00:00",
    "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

O seguinte cria uma Notificação Ajustável com plano de Taxa de Atributos Personalizados com base em um atributo personalizado chamado messageSize (veja o item em negrito).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password