Como gerenciar planos de tarifas

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Gerencie planos de tarifas usando a interface e a API, conforme descrito nas seções a seguir.

Como explorar a página dos planos de tarifas

Acesse a página dos planos de tarifas, conforme descrito abaixo.

Edge

Para visualizar os planos de tarifa na interface do usuário do Edge, acesse a página "Planos de tarifa":

  1. Faça login em apigee.com/edge.
  2. Selecione Publicar > Monetização > Planos de tarifa na barra de navegação à esquerda.

A página "Planos de tarifa" é exibida.

Como destacado na figura, a página Planos de tarifa permite:

Borda clássica (nuvem privada)

Para ver os planos de tarifa usando a interface clássica do Edge, acesse a página "Pacotes de API":

  1. Faça login em http://ms-ip:9000, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento.
  2. Selecione Publicar > Pacotes na barra de navegação superior.

A página "Pacotes de API" exibe os planos de tarifa definidos para cada pacote.

A página "Planos de tarifa" permite:

Criar um plano de tarifa

Para criar um plano de tarifa, faça o seguinte:

  1. acesse a página "Planos de taxas";
  2. Clique em +Plano de tarifa.
  3. Configure os seguintes campos no painel superior:
    Campo Descrição Padrão Obrigatório
    Nome do plano de taxas Nome do plano de tarifa.

    OBSERVAÇÃO: o nome precisa ser exclusivo em um pacote de produtos da API. Dois planos no mesmo pacote de produtos não podem ter o mesmo nome.

    N/A Sim
    Tipo de plano de tarifa Tipo de plano de tarifa. Selecione um valor na lista suspensa. Para ver uma lista dos tipos válidos de plano de tarifas, consulte Tipos de plano de tarifas compatíveis. N/A Sim
    Pacote de produtos Pacote de produtos da API. Selecione um valor na lista suspensa. Para mais informações sobre pacotes de produtos de API, consulte Como gerenciar pacotes de produtos de API.

    Se você selecionar um pacote com mais de um produto de API, defina se quer configurar planos de tarifas individuais para cada produto de API ou um plano genérico que será aplicado a todos os produtos de API.

    N/A Sim
    Público-alvo Público-alvo que pode acessar o plano de tarifa. Selecione um dos seguintes valores na lista suspensa:
    • Todos: todos os desenvolvedores.
    • Desenvolvedor: desenvolvedor ou empresa. Insira o nome do desenvolvedor ou a empresa. Conforme você digita, uma lista de desenvolvedores/empresas que contêm a string é exibida em um menu suspenso. Clique no nome do desenvolvedor ou da empresa na lista suspensa.
    • Categoria do desenvolvedor: é a categoria do desenvolvedor. Selecione a categoria do desenvolvedor na lista suspensa.

      Configure as categorias de desenvolvedores conforme necessário, conforme descrito em Gerenciar categorias de desenvolvedores.

    Todos Não
    Data de início Data em que o plano de tarifa entra em vigor. Digite uma data de início ou selecione uma data no calendário. Hoje Não
    Data de término Data de término do plano de tarifa. Para especificar uma data de término, ative a opção Tem data de término e digite uma data de término ou selecione uma no calendário.

    OBSERVAÇÃO: o plano de tarifas entrará em vigor até o fim do dia na data especificada. Se você quiser expirar um plano de tarifas em 1o de dezembro de 2018, por exemplo, defina o valor de endDate como 30/11/2018. Nesse caso, o plano de tarifação expira no final do dia, em 30 de novembro de 2018. Todas as solicitações feitas em 1o de dezembro de 2018 serão bloqueadas.

    Nenhum Não
    Visível para os portais Defina se o plano de tarifa é público ou privado. Consulte Planos de tarifas públicos x privados. Ativado Não
  4. Configurar as taxas do plano de tarifas. Consulte Como configurar as taxas de um plano de tarifas.
    OBSERVAÇÃO: não se aplica a planos de notificação ajustáveis.
  5. Se você selecionar um pacote de produtos com mais de um produto de API, defina as seguintes preferências na seção Plano de tarifas específico ou genérico:
    OBSERVAÇÃO: esta etapa não se aplica a planos de notificação ajustáveis.
    Campo Descrição Padrão
    Configurar cada produto individualmente Sinalização que especifica se é necessário configurar um plano de tarifas individual para cada produto de API. Desativado
    Configurar a oferta freemium de cada produto individualmente Sinalização que especifica se um plano freemium precisa ser configurado para cada produto de API. Desativado
    Selecione um produto Se você ativar uma ou ambas as flags, será preciso selecionar cada produto individualmente na lista suspensa e configurar os detalhes do plano de tarifa.

    OBSERVAÇÃO: verifique se você configurou todos os produtos no pacote.

    N/A
  6. Configure os detalhes do plano de tarifa com base no tipo selecionado:
  7. Clique em uma das seguintes opções:
    Botão Descrição
    Salvar como rascunho Salve o plano de tarifas como rascunho.

    O plano de tarifa só vai aparecer para os desenvolvedores de apps quando você o publicar. Você pode editar qualquer campo em um plano de tarifa de rascunho.

    Publicar novo plano Publique o plano.

    OBSERVAÇÃO: depois de publicar um plano de tarifa, só será possível modificar a data de término se ela ainda não tiver sido definida. Não é possível excluir um plano de tarifação depois que ele é publicado, mas é possível expirar e substituí-lo por um plano de tarifação futuro, conforme descrito em Expirar um plano de tarifação publicado.

  8. Anexe a política de verificação dos limites de monetização aos proxies de API associados aos produtos de API incluídos no plano de tarifas. A política de verificação dos limites de monetização aplica limites de monetização nos proxies de API e garante que todas as falhas sejam capturadas com precisão nos relatórios de análise e monetização. Para mais informações, acesse Aplicar limites de monetização em proxies de API.

Editar um plano de tarifa

Todos os campos de um plano de tarifa de rascunho podem ser editados, exceto o pacote de produtos, o tipo e o público-alvo. Depois de publicar um plano de tarifa, só será possível editar a data de término se nenhuma data de término tiver sido especificada.

Para editar um plano de tarifa, faça o seguinte:

  1. acesse a página "Planos de taxas";
  2. Clique na linha do plano de tarifa que você quer editar.
    O painel do plano de tarifa é exibido.
  3. Edite os campos do plano de tarifa, conforme necessário.
    OBSERVAÇÃO: depois de publicar um plano de tarifas, só será possível modificar a data de término se ela ainda não tiver sido definida.
  4. Clique em uma das seguintes opções:
    Botão Descrição
    Atualizar rascunho (rascunho de planos de tarifas) Salve o plano de tarifas como rascunho.

    O plano de tarifa só vai aparecer para os desenvolvedores de apps quando você o publicar. Você pode editar qualquer campo em um plano de tarifa de rascunho.
    Publicar rascunho (rascunho de planos de tarifas) Publique o plano de tarifa.

    OBSERVAÇÃO: depois de publicar um plano de tarifas, só será possível modificar a data de término se ela ainda não tiver sido definida. Não é possível excluir um plano de tarifação depois que ele é publicado, mas é possível expirar e substituí-lo por um plano de tarifação futuro, conforme descrito em Expirar um plano de tarifação publicado.
    Data de término atualizada (planos de preços publicados) Defina a data de término de um plano publicado.

    OBSERVAÇÃO: após definir a data de término para um plano de tarifas publicado, ele não poderá mais ser modificado.

Como excluir um rascunho de plano de tarifa

Exclua um plano de tarifa de rascunho se ele não for mais necessário.

OBSERVAÇÃO: não é possível excluir um plano de tarifas publicado.

Para excluir um rascunho de plano de tarifa, faça o seguinte:

  1. acesse a página "Planos de taxas";
  2. Posicione o cursor sobre o plano de tarifa que você quer excluir para exibir o menu de ações.
  3. Clique em .
  4. Clique em Excluir para confirmar a ação.

Como gerenciar planos de tarifas usando a API

As seções a seguir descrevem como gerenciar planos de tarifas usando a API.

Criação de planos de tarifas usando a API

Para criar um plano de tarifas, emita uma solicitação POST para /organizations/{org_name}/monetization-packages/{monetizationpackage_id}/rate-plans, em que {monetizationpackage_id} é o ID do pacote de produtos da API para o qual você criou o plano de tarifas. O ID é retornado na resposta quando você cria o pacote de produtos da API.

Ao criar um plano de tarifa, especifique o seguinte no corpo da solicitação:

  • ID da organização
  • ID do pacote de produtos da API
  • Nome do plano de tarifa.
  • Descrição do plano de tarifas
  • Escopo do plano de tarifas (se aplicável a todos os desenvolvedores ou apenas a um desenvolvedor, empresa ou categoria específica)
  • Data em que o plano de tarifa entra em vigor
  • Moeda do plano de tarifa
  • Se o plano de tarifas será publicado ou não
  • Se o plano de tarifa é público ou privado

Há outras configurações que podem ser especificadas, como o período de vencimento do pagamento (por exemplo, 30 dias). Consulte Propriedades de configuração dos planos de tarifas.

Se você criar um plano de preços (que não seja apenas de taxas) para um pacote de produtos da API que tenha mais de um produto, será possível aplicar o plano a um produto específico no pacote de produtos. Para isso, identifique o produto na solicitação. Se você não identificar um produto, o plano será aplicado a todos os itens no pacote de produtos da API.

As seções a seguir descrevem como criar planos de tarifas:

Como criar um plano de tarifa padrão usando a API

Para criar um plano de tarifa padrão, defina o atributo type como STANDARD, conforme mostrado no exemplo a seguir.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Criar um plano de tarifas para desenvolvedores ou empresas usando a API

Para aplicar o plano de tarifas a um desenvolvedor ou empresa específica, defina o valor de type como Developer. Você também precisa identificar o desenvolvedor ou a empresa na solicitação, além do ID, da razão social e do nome do desenvolvedor da empresa.

Por exemplo, o trecho a seguir cria um plano de tarifa para o desenvolvedor Dev Five:

...
     "type": "DEVELOPER",
       "developer" : {
        "id" : "0mkKu1PALUGfjUph",
        "legalName" : "DEV FIVE",
        "name" : "Dev Five"
      }
...

Criar um plano de tarifa para categoria de desenvolvedor usando a API

Para aplicar o plano de preços a uma categoria de desenvolvedor, defina o valor de type como Developer_Category. Também é necessário identificar a categoria de desenvolvedor na solicitação. Exemplo:

...
     "type": "DEVELOPER_CATEGORY",
       "developerCategory" : {
        "id" : "5e172299-8232-45f9-ac46-40076139f373",
        "name" : "Silver",
        "description" : "Silver category"
      }
...

Como criar um plano de tarifas específico para um produto de API usando a API

Ao criar um plano de tarifas para pacotes de produtos de API que incluem vários produtos de API, é possível especificar os detalhes do plano individualmente para cada produto.

Por exemplo, o código a seguir cria um plano de participação na receita com dois produtos de API:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Multi-product rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Multi-product rate plan",
     "displayName" : "Multi-product rate plan",
     "monetizationPackage": {
      "id": "mypackage",
      ...
     },
     "organization": {
      "id": "{org_name}",
      ...
     },
     "published": true,
     "isPrivate" : false,
     "ratePlanDetails": [
     {
        "ratePlanRates":[{
            "revshare":0,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product1","displayName":"Product1"},
       "customPaymentTerm":false
     },
     {
        "ratePlanRates":[{
            "revshare":10,
            "startUnit":0,
            "type":"REVSHARE",
            "endUnit":null
        }],
       "revenueType":"NET",
       "type":"REVSHARE"
       "currency":{...},
       "product":{"id":"product2","displayName":"Product2"},
       "customPaymentTerm":false
     }
     ],
     "startDate": "2019-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/rate-plans" \
-u email:password

Para adicionar um produto de API ao pacote de produtos de API my-package, é preciso inserir os detalhes do plano de tarifa do produto de API no corpo da solicitação, conforme descrito em Como adicionar um produto de API a um pacote de produtos de API com planos de tarifas específicos do produto.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [
    {
        "id": "my-package_multi-product-rate-plan",
        "ratePlanDetails": [
        {
            "ratePlanRates":[{
                "revshare":20,
                "startUnit":0,
                "type":"REVSHARE",
                "endUnit":null
             }],
             "revenueType":"NET",
             "type":"REVSHARE"
             "currency":{...},
             "customPaymentTerm":false
         }]
    }]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/my-package/products/product3" \
-u email:password

Definir o plano de tarifas como público ou privado usando a API

Ao criar um plano de tarifa, você pode especificar se ele é público ou particular usando o atributo isPrivate no corpo da solicitação. Se definido como true, o plano de tarifa será particular. Para mais informações, consulte Planos de tarifas públicos x privados.

Por exemplo, o código a seguir cria um plano de tarifa particular:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Simple rate plan",
     "currency": {
      "id" : "usd"
     },
     "description": "Simple rate plan",
     "displayName" : "Simple rate plan",
     "monetizationPackage": {
      "id": "location"
     },
     "organization": {
      "id": "{org_name}"
     },
     "published": true,
     "isPrivate" : true,
     "ratePlanDetails": [
     {
      …
     }
     ],
     "startDate": "2013-09-15",
     "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location_package/rate-plans" \
-u email:password

Publicar um plano de tarifa usando a API

Para publicar um plano de tarifa, defina o valor da propriedade published como verdadeiro ao criar o plano. Os desenvolvedores poderão ver o plano de tarifa a partir da data especificada na propriedade startDate do plano.

Por exemplo, a estrutura a seguir cria e publica um plano de tabela de preços (somente parte da solicitação é exibida):

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "true",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Salvar o rascunho de um plano de tarifa com a API

Para salvar um plano de tarifa sem publicá-lo, defina o valor da propriedade published como "false" ao criar o plano.

Por exemplo, o comando a seguir cria um plano de tabela de preços e o salva como rascunho (somente parte da solicitação é exibida):

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "Flat rate card plan",
     "developer":null,
     "developerCategory":null,
     "advance": "false",
     …
     "published": "false",
     "ratePlanDetails": [
     …
      ],
     …
     "type": "RATECARD"
     }],
     …
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Editar o rascunho de um plano de tarifa usando a API

Para atualizar o rascunho de um plano de tarifa, emita uma solicitação PUT para /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_Id}, em que {package_id} é a identificação do pacote de API, e {plan_Id} é a identificação do plano de tarifas. Ao fazer a atualização, você precisa especificar no corpo da solicitação as configurações atualizadas e o ID do plano de tarifas. Se você atualizar a tarifa do plano de tarifa, também precisará especificar o ID dela. Por exemplo, a solicitação a seguir atualiza a tarifa do plano de tarifa em um plano de tarifa com o ID location_flat_rate_card_plan (a atualização está destacada):

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
      "id" : "location_flat_rate_card_plan",
      "name": "Flat rate card plan",
      "advance": "false",
      "currency": {
       "id" : "usd"
      },
      "description": "Flat rate card plan",
      "displayName" : "Flat rate card plan",
      "frequencyDuration": "30",
      "frequencyDurationType": "DAY",
      "earlyTerminationFee": "10",
      "monetizationPackage": {
       "id": "location"
      },
      "organization": {
       "id": "{org_name}"
      },
      "paymentDueDays": "30",
      "prorate": "false",
      "published": "false",
      "ratePlanDetails": [
      {
       "currency": {
        "id" : "usd"
       },
       "paymentDueDays": "30",
       "meteringType": "UNIT",
       "organization": {
        "id": "{org_name}"
       },
       "ratePlanRates": [
        {
         "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
         "type": "RATECARD",
         "rate": "0.15",
         "startUnit": "0"
        }
       ],
      "ratingParameter": "VOLUME",
      "type": "RATECARD"
      }],
      "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/location_flat_rate_card_plan" \
-u email:password

A resposta inclui a taxa atualizada do plano de tarifa (somente parte da resposta é exibida):

…
"ratePlanRates" : [ {
  "id" : "26b69b0b-9863-48c9-ba73-74a5b918fcec",
  "rate" : 0.15,
  "startUnit" : 0,
  "type" : "RATECARD"
} ],
…

Como visualizar planos de tarifas usando a API

É possível ver os planos de preços usando a API de monetização, conforme descrito nas seções a seguir.

Visualizar todos os planos de tarifas de uma organização usando a API

Para acessar todos os planos de preços de uma organização, emita uma solicitação GET para /mint/organizations/{org_name}/rate-plans, em que {org_name} é o nome da organização.

É possível passar os seguintes parâmetros de consulta para filtrar os resultados:

Parâmetro de consulta Descrição
all Flag que especifica se todos os planos de tarifas precisam ser retornados. Se definido como false, o número de planos retornados por página será definido pelo parâmetro de consulta size. Por padrão, é configurado como true.
size Número de pacotes de API retornados por página. Se o parâmetro de consulta all for definido como true, ele será ignorado.
page Número da página que você quer retornar (se o conteúdo for paginado). Se o parâmetro de consulta all estiver definido como true, ele será ignorado.

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/rate-plans" \
  -u email:password

Ver todos os planos de preços de um pacote de produtos de API usando a API

Para acessar todos os planos de preços de um pacote de API, emita uma solicitação GET para /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans, em que {package_id} é o ID do pacote de API. O ID do pacote é retornado quando você cria o pacote de monetização.

Por padrão, somente planos de tarifas ativos, públicos e padrão são retornados nos resultados. Para incluir:

  • Rascunhos ou planos de tarifas expirados: defina o parâmetro de consulta current como false (por exemplo, ?current=false).
  • Planos de tarifas particulares, defina o parâmetro de consulta showPrivate como true (por exemplo, ?showPrivate=true).
  • Em todos os planos de tarifas padrão, defina o parâmetro de consulta standard como true (por exemplo, ?standard=true).

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans" \
  -u email:password

Visualizar um plano de tarifa para um pacote de API usando a API

Para ver um plano de tarifa de um pacote de API, emita uma solicitação GET para /mint/organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id}, em que {package_id} é o ID do pacote de API e {plan_id} é o ID do plano de tarifa. O ID do pacote é retornado quando você cria o pacote de monetização, e o ID do plano de tarifa é retornado quando você cria o plano.

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/communications/rate-plans/communications_standard_fixed_plan" \
  -u email:password

Veja a seguir um exemplo de resposta:

{
   "advance" : true,
   "contractDuration" : 1,
   "contractDurationType" : "YEAR",
   "currency" : {
     "id" : "usd",
     ...
     "organization" : {
       ...
     },
     ...
   },
   "description" : "Standard Fixed Plan",
   "displayName" : "Standard Fixed Plan",
   "earlyTerminationFee" : 0.0000,
   "frequencyDuration" : 1,
   "frequencyDurationType" : "MONTH",
   "id" : "communications_standard_fixed_plan",
   "isPrivate" : false,
   "monetizationPackage" : {
     "description" : "Communications",
     "displayName" : "Communications",
     "id" : "communications",
     "name" : "Communications",
     "organization" : {
      ...
     },
     "product" : [ {
       "customAtt1Name" : "user",
       "description" : "Location",
       "displayName" : "Location",
       "id" : "location",
       "name" : "location",
       "organization" : {
       ...
       },
       "status" : "CREATED"
     }, {
       "customAtt1Name" : "user",
       "description" : "Messaging",
       "displayName" : "Messaging",
       "id" : "messaging",
       "name" : "messaging",
       "organization" : {
         ...
       },
       "status" : "CREATED"
     } ],
     "status" : "CREATED"
   },
   "name" : "Standard Fixed Plan",
   "organization" : {
     ...
   },
   "paymentDueDays" : "30",
   "prorate" : true,
   "published" : true,
   "ratePlanDetails" : [ {
     "aggregateFreemiumCounters" : true,
     "aggregateStandardCounters" : true,
     "currency" : {
       "id" : "usd",
       "name" : "USD",
       "organization" : {
        ...
       },
       "status" : "ACTIVE",
       "virtualCurrency" : false
     },
     "id" : "cb92f7f3-7331-446f-ad63-3e176ad06a86",
     "meteringType" : "UNIT",
     "organization" : {
      ...
     },
     "paymentDueDays" : "30",
     "ratePlanRates" : [ {
       "id" : "07eefdfb-4db5-47f6-b182-5d606c6051c2",
       "rate" : 0.0500,
       "startUnit" : 0,
       "type" : "RATECARD"
     } ],
     "ratingParameter" : "VOLUME",
     "type" : "RATECARD"
   } ],
   "recurringFee" : 200.0000,
   "recurringStartUnit" : 1,
   "recurringType" : "CALENDAR",
   "setUpFee" : 100.0000,
   "startDate" : "2013-01-11 22:00:00",
   "type" : "STANDARD"
 }

Visualizar todos os planos de tarifas ativos de um desenvolvedor usando a API

Para conferir todos os planos de preços ativos de um desenvolvedor, emita uma solicitação GET para /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans, em que {developer_id} é o endereço de e-mail do desenvolvedor.

É possível passar os seguintes parâmetros de consulta para filtrar os resultados:

Parâmetro de consulta Descrição
all Sinalização que especifica se todos os pacotes de API precisam ser retornados. Se definido como false, o número de pacotes de API retornados por página será definido pelo parâmetro de consulta size. Por padrão, é configurado como false.
size Número de pacotes de API retornados por página. O padrão é 20. Se o parâmetro de consulta all for definido como true, ele será ignorado.
page Número da página que você quer retornar (se o conteúdo for paginado). Se o parâmetro de consulta all estiver definido como true, ele será ignorado.

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans" \
  -u email:password

Veja a seguir um exemplo de resposta:

{
  "ratePlan" : [ {
    "advance" : true,
    "contractDuration" : 1,
    "contractDurationType" : "MONTH",
    "currency" : {
      "description" : "United States Dollar",
      "displayName" : "United States Dollar",
      "id" : "usd",
      "name" : "USD",
      "organization" : {
        ...
      },
      "status" : "ACTIVE",
      "virtualCurrency" : false
    },
    "description" : "Fee Only RatePlan",
    "displayName" : "Fee Only RatePlan",
    "earlyTerminationFee" : 10.0000,
    "freemiumDuration" : 0,
    "freemiumDurationType" : "MONTH",
    "freemiumUnit" : 0,
    "frequencyDuration" : 1,
    "frequencyDurationType" : "WEEK",
    "id" : "messaging_package_fee_only_rateplan",
    "isPrivate" : false,
    "monetizationPackage" : {
      "description" : "messaging package",
      "displayName" : "Messaging Package",
      "id" : "messaging_package",
      "name" : "Messaging Package",
      "organization" : {
        ...
      },
      "product" : [ {
        "customAtt1Name" : "user",
        "customAtt2Name" : "response size",
        "customAtt3Name" : "content-length",
        "description" : "messaging api product",
        "displayName" : "messaging",
        "id" : "messaging",
        "name" : "messaging",
        "organization" : {
         ...
        },
        "status" : "CREATED",
        "transactionSuccessCriteria" : "status == 'SUCCESS'"
      } ],
      "status" : "CREATED"
    },
    "name" : "Fee Only RatePlan",
    "organization" : {
     ...
    },
    "paymentDueDays" : "30",
    "prorate" : false,
    "published" : true,
    "ratePlanDetails" : [ ],
    "recurringFee" : 10.0000,
    "recurringStartUnit" : 1,
    "recurringType" : "CALENDAR",
    "setUpFee" : 20.0000,
    "startDate" : "2013-02-20 00:00:00",
    "type" : "STANDARD"
  } ],
  "totalRecords" : 1
}

Visualizar um plano de tarifas aceito para um desenvolvedor usando a API

Para conferir um plano de tarifas ativo de um desenvolvedor, emita uma solicitação GET para /mint/organizations/{org_name}/developers/{developer_id}/developer-rateplans/{developer_rateplan_id}, em que {developer_id} é o endereço de e-mail do desenvolvedor, e {developer_rateplan_id} é o ID do plano de tarifas aceito que aparece na resposta quando você aceita o plano de tarifas publicado.

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/messaging_package_fee_only_rateplan" \
  -u email:password

Veja a seguir um exemplo de resposta:

{
    "created" : "2018-01-25 20:01:54",
    "developer" : {
    },
    "id" : "a73s104-276f-45b3-8075-83d1046ea550",
    "nextCycleStartDate" : "2018-02-19 00:00:00",
    "nextRecurringFeeDate" : "2018-02-19 00:00:00",
    "prevRecurringFeeDate" : "2018-01-25 00:00:00",
    "ratePlan" : {
      "frequencyDuration" : 1,
      "frequencyDurationType" : "MONTH",
      "recurringFee" : 0.0000,
      "recurringStartUnit" : 19,
      "recurringType" : "CALENDAR",
      "setUpFee" : 0.0000,
      "type" : "STANDARD"
    },
    "startDate" : "2018-01-25 20:01:54",
    "updated" : "2018-01-25 20:01:54"
  }

Como consultar um plano de tarifas aceito para um desenvolvedor que contém um produto de API usando

Para consultar um plano de tarifas aceito para um desenvolvedor que contém um produto de API, emita uma solicitação GET para /mint/organizations/{org_id}/developers/{developer_id}/products/{product_id}/rate-plan-by-developer-product, em que {developer_id} é o ID do desenvolvedor e /{product_id} é o ID do produto.

Por padrão, somente um plano de tarifas público é retornado nos resultados. Para mostrar um plano de tarifa particular, defina o parâmetro de consulta showPrivate como true (por exemplo, ?showPrivate=true).

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/products/location/rate-plan-by-developer-product" \
  -u email:password

Visualizar todos os planos de preços aceitos por um desenvolvedor usando a API

Para consultar os planos de preços aceitos por um desenvolvedor, emita uma solicitação GET para /mint/organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, em que {developer_id} é o ID do desenvolvedor.

É possível passar os seguintes parâmetros de consulta para filtrar os resultados:

Parâmetro de consulta Descrição
all Sinalização que especifica se todos os pacotes de API precisam ser retornados. Se definido como false, o número de pacotes de API retornados por página será definido pelo parâmetro de consulta size. Por padrão, é configurado como false.
size Número de pacotes de API retornados por página. O padrão é 20. Se o parâmetro de consulta all for definido como true, ele será ignorado.
page Número da página que você quer retornar (se o conteúdo for paginado). Se o parâmetro de consulta all estiver definido como true, ele será ignorado.

Exemplo:

curl -H "Accept:application/json" -X GET \
  "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-accepted-rateplans" \
  -u email:password

Veja a seguir um exemplo de resposta:

{
  "developerRatePlan" : [ {
     "created" : "2018-01-25 20:01:54",
     "developer" : { ...
     },
     "id" : "a73s104-276f-45b3-8075-83d1046ea550",
     "nextCycleStartDate" : "2018-02-19 00:00:00",
     "nextRecurringFeeDate" : "2018-02-19 00:00:00",
     "prevRecurringFeeDate" : "2018-01-25 00:00:00",
     "ratePlan" : {
       "frequencyDuration" : 1,
       "frequencyDurationType" : "MONTH",
       "recurringFee" : 0.0000,
       "recurringStartUnit" : 19,
       "recurringType" : "CALENDAR",
       "setUpFee" : 0.0000,
       "type" : "STANDARD"
     },
     "startDate" : "2018-01-25 20:01:54",
     "updated" : "2018-01-25 20:01:54"
   }],
   "totalRecords" : 1
}

Excluir o rascunho de um plano de tarifa usando a API

Para excluir um rascunho de plano de tarifa, emita uma solicitação DELETE para /organizations/{org_name}/monetization-packages/package_id}/rate-plans/{plan_Id}, em que {plan_Id} é a identificação do plano de tarifa a ser excluído e {package_id} é a identificação do pacote de API para o plano de tarifa. Por exemplo:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans/location_flat_rate_card_plan" \
-u email:password

Propriedades de configuração de planos de tarifas

Ao criar um plano de tarifa usando a API, é possível especificar as seguintes configurações.

Nome Descrição Padrão Obrigatório?
advance

Válida apenas para taxas recorrentes. Sinalização que especifica se a taxa recorrente é cobrada antecipadamente. Valores válidos:

  • true: a taxa recorrente é cobrada com antecedência. Por exemplo, se o período for de um mês, a taxa recorrente vai ser cobrada na fatura gerada ao fim do mês de faturamento anterior.
  • false: a taxa recorrente é cobrada no fim do período. Por exemplo, se o período for de um mês, a taxa recorrente vai ser cobrada na fatura quando o mês de faturamento atual terminar. Esse é o padrão.
false Não
contractDuration

Duração do contrato do plano com contractDurationType. Por exemplo, para especificar uma duração de contrato de seis meses, defina contractDuration como 6 e contractDurationType como MONTH.

N/A Não
contractDurationType

Duração do contrato do plano com contractDuration. Os valores válidos incluem:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Não
currency

Moeda usada para o plano de tarifa. Especifique o código ISO 4217 da moeda, como usd para o dólar americano ou chf para o franco suíço.

N/A Sim
description

Descrição do plano de tarifa.

N/A Sim
developer

ID do desenvolvedor (endereço de e-mail). Especificar apenas para planos de tarifa do desenvolvedor.

N/A Não
developerCategory

ID da categoria do desenvolvedor. Especificar apenas para planos de preços de categoria de desenvolvedor.

N/A Não
displayName

Nome de exibição fácil de usar do plano de tarifas.

N/A Sim
earlyTerminationFee

Tarifa única cobrada se o desenvolvedor encerrar o plano antes da vigência da renovação.

N/A Não
endDate

Data de término do plano. Os desenvolvedores não podem ver o plano de tarifa depois dessa data. Se você não quiser que o plano de tarifas termine em uma data específica, especifique um valor nulo para endDate.

O plano de tarifa vai entrar em vigor até o fim do dia na data especificada. Se você quiser que um plano de tarifas expire em 1o de dezembro de 2016, por exemplo, defina o valor de endDate como 2016-11-30. Nesse caso, o plano de tarifação expira no final do dia, em 30 de novembro de 2016. Todas as solicitações de 1o de dezembro de 2016 serão bloqueadas.

OBSERVAÇÃO: ao visualizar o plano de tarifas usando a API, o carimbo de data/hora endDate é especificado como YYYY-MM-DD 00:00:00, o que pode ser enganoso.

N/A Não
freemiumDuration

Período do período freemium junto com freemiumDurationType. Por exemplo, para especificar que o período freemium é de 30 dias, defina freemiumDuration como 30 e freemiumDurationType como DAY.

N/A Não
freemiumDurationType

Período do período freemium com freemiumDuration. Valores válidos:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Não
freemiumUnit

Quantidade freemium. O valor pode ser o número de transações ou de unidades pertencentes a um atributo personalizado registrado na política de registro de transações.

N/A Não
frequencyDuration

Válida apenas para taxas recorrentes. Período entre as cobranças de taxas recorrentes e frequencyDurationType. Por exemplo, para especificar que o período entre as cobranças de taxas é de 30 dias, defina frequencyDuration como 30 e frequencyDurationType como DAY.

N/A Não
frequencyDurationType Válida apenas para taxas recorrentes. Período entre as cobranças de taxas recorrentes e frequencyDuration. Estes são os valores válidos:
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR
N/A Não
isPrivate Sinalização que especifica se o plano de tarifa é público ou privado. O padrão é false (público). Para mais informações, consulte Planos de tarifas públicos x privados. N/A Não
monetizationPackage

ID do pacote de produtos da API referente ao plano de tarifas.

N/A Não
name

Nome do plano de tarifa.

N/A Sim
organization

ID da organização para o plano de tarifas.

N/A Sim
paymentDueDays

Válida apenas para taxas recorrentes. Número de dias em que as taxas são devidas. Por exemplo, defina o valor como 30 para indicar que as taxas são devidas em 30 dias.

N/A Não
proRate

Válida apenas para taxas recorrentes. Sinalização que especifica se a taxa recorrente é proporcional quando um desenvolvedor inicia ou encerra um plano durante o mês. Os valores válidos incluem:

  • true: a taxa inicial é proporcional, com base no número de dias até o final do período (ou no número de dias usados no período).
  • false: o desenvolvedor é cobrado pela taxa inicial completa, independentemente de quando o plano é iniciado (ou encerrado). Esse é o padrão.
false Não
published

Sinalização que especifica se o plano de tarifas precisa ser publicado para visualização pelos desenvolvedores. Valores válidos:

  • true: publique o plano de tarifas.
  • false: não publique o plano de tarifas.
N/A Sim
ratePlanDetails

Detalhes do plano de tarifa (consulte Propriedades de configuração para detalhes do plano de tarifa).

N/A Sim
recurringFee

Taxa que é cobrada do desenvolvedor de forma contínua até o encerramento do plano.

N/A Não
recurringStartUnit

Válida apenas se recurringType estiver definido como CALENDAR. Dia do mês em que a taxa recorrente será cobrada. Por exemplo, se a taxa recorrente for cobrada mensalmente e recurringStartUnit for definido como 1, a taxa recorrente vai ser cobrada no primeiro dia de cada mês.

N/A Não
recurringType

Agendar a taxa recorrente. Valores válidos:

  • CALENDAR: programado com base em uma agenda.
  • CUSTOM: programado com base em uma configuração de data personalizada.
N/A Não
setUpFee

Taxa única cobrada de cada desenvolvedor na data de início do plano (ou seja, na data em que o desenvolvedor compra o plano).

N/A Não
startDate

Data de início do plano. Os desenvolvedores poderão ver o plano de tarifa a partir dessa data.

N/A Sim
type

Tipo de plano de tarifa. Especifique uma destas opções:

  • STANDARD. Aplicável a todos os desenvolvedores.
  • DEVELOPER_CATEGORY. Aplicável a todos os desenvolvedores em uma categoria selecionada.
  • DEVELOPER: aplica-se a um desenvolvedor ou empresa específica.
N/A Sim

Propriedades de configuração dos detalhes do plano de tarifas

Ao criar o plano de tarifa, é possível especificar qualquer uma das propriedades de configuração a seguir como parte da matriz ratePlanDetails.

Nome Descrição Padrão Obrigatório?
aggregateFreemiumCounters

Sinalização que especifica se os contadores agregados estão ativados ou não para determinar se o uso de um produto da API está dentro do intervalo sem custo financeiro. Os contadores agregados precisam estar ativados para configurar um plano freemium para um produto. Valores válidos:

  • true: ativa contadores agregados.
  • false: não ativa contadores agregados.
N/A Não
aggregateStandardCounters

Sinalização que especifica se contadores agregados são usados ou não para determinar a faixa de uso (como uma faixa de volume para um plano de tabela de preços). O valor pode ser um dos seguintes:

  • true: use contadores agregados.
  • false: não use contadores agregados.
N/A Não
aggregateTransactions

OBSERVAÇÃO: no momento, essa propriedade não é usada para monetização e pode ser ignorada.

verdadeiro Não
currency

Moeda

N/A Não
duration

Período da frequência de cálculo com durationType, em que os valores de duration permitidos são de 1 a 24.

Por exemplo, defina duration como 2 e durationType como MONTH para especificar uma frequência de cálculo de dois meses.

N/A Não
durationType

Período da frequência de cálculo, junto com duration. O único valor válido é MONTH.

Consulte duration para conferir um exemplo de uso

N/A Não
freemiumDuration

Período do período freemium de um produto de API individual com freemiumDurationType. Por exemplo, para especificar que o período freemium de um produto da API é de 30 dias, defina freemiumDuration como 30 e freemiumDurationType como DAY.

N/A Não
freemiumDurationType

Período do período freemium de um produto de API individual com freemiumDuration. Valores válidos:

  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

Por exemplo, para especificar que o período freemium de um produto da API é de 30 dias, defina freemiumDuration como 30 e freemiumDurationType como DAY.

N/A Não
freemiumUnit

Quantidade freemium para um produto da API. O valor pode ser o número de transações ou o número de unidades pertencentes a um atributo personalizado registrado na política de registro de transações.

N/A Não
meteringType

Modelo de cobrança para um plano de tabela de preços. Valores válidos:

  • UNIT: modelo de cobrança de taxa fixa.
  • VOLUME: modelo de carregamento de faixa de volume.
  • STAIR_STEP: modelo de carregamento em pacote.
  • DEV_SPECIFIC: modelo de carregamento de notificação ajustável. Não é válido para qualquer outro modelo de receita.
N/A sim
organization

ID da organização.

N/A Não
paymentDueDays

Data de vencimento do pagamento de um desenvolvedor pós-pago. Por exemplo, defina o valor como 30 para indicar que o pagamento vence em 30 dias.

N/A Não
product

Informações do produto da API, como o ID.

N/A Não
ratePlanRates

Detalhes das taxas do plano de tarifas, como o tipo (REVSHARE ou RATECARD), a taxa e a participação na receita de um plano de participação na receita e o intervalo (unidade inicial e final a que a taxa do plano de preços se aplica).

N/A Sim
ratingParameter

Base do plano de tarifa. O plano de tarifa é baseado em transações ou em um atributo personalizado. Valores válidos:

  • VOLUME: o plano de tarifas é baseado no volume de transações.
  • custom_attribute : nome de um atributo personalizado definido na política de registro de transações do produto da API e válido somente para planos de tabelas de preços. O nome do atributo personalizado não pode ser definido como VOLUME.
VOLUME Sim
ratingParameterUnit

A unidade que se aplica ao ratingParameter. Only required if ratingParameter é definida como um atributo personalizado (ou seja, não definida como VOLUME).

N/A Sim
revenueType

Base da participação na receita em um plano de participação na receita. Valores válidos:

  • GROSS: a participação na receita é baseada em uma porcentagem do preço bruto de uma transação.
  • NET: a participação na receita é baseada em uma porcentagem do preço líquido de uma transação.
N/A Não
type

Tipo de plano de tarifa. Valores válidos:

  • REVSHARE: modelo de participação na receita.
  • RATECARD: modelo da tabela de preços.
  • REVSHARE_RATECARD: modelo de tabela de preços e participação na receita.
  • USAGE_TARGET: modelo de notificação ajustável.

Para mais informações sobre os tipos de plano de tarifa, consulte Tipos de plano de tarifas compatíveis.

N/A Sim