Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Agrupar um ou mais produtos de API em um único contêiner monetizado, chamado de pacote de produtos de API, conforme descrito nas seções a seguir.
O que é um pacote de produtos de API?
Um pacote de produtos de API é um conjunto de produtos de API apresentado aos desenvolvedores como um grupo e normalmente associado a um ou mais planos de preços para monetização. É possível criar vários pacotes de produtos de API e incluir um ou mais produtos de API em cada um. É possível colocar os mesmos produtos da API em pacotes diferentes e associá-los a planos de preços diferentes (ou iguais).
Os desenvolvedores só podem registrar seus aplicativos para usar um pacote de produtos de API comprando um dos planos de tarifas em vigor no momento. Um pacote de produtos de API não fica visível para os desenvolvedores até que você adicione e publique (como público) um plano de preços para o pacote de produtos (com uma data de início na data atual ou em uma data futura), conforme descrito em Como gerenciar planos de tarifas. Depois que você adicionar e publicar um plano de tarifas, os desenvolvedores que fizerem login no portal do desenvolvedor poderão selecionar o pacote de produtos da API e escolha o plano de tarifação. Como alternativa, é possível aceitar um plano de tarifas para um desenvolvedor usando a API de gerenciamento. Para mais informações, consulte Comprar planos de tarifas publicados usando a API.
Depois de adicionar um produto de API a um pacote de produtos de API, talvez seja necessário configurar faixas de preços para o produto de API. Você só precisará fazer isso se todas as condições a seguir forem verdadeiras:
- Você configura um plano de taxas de participação na receita para o produto de API.
- Os desenvolvedores cobram de terceiros pelo uso de recursos no produto de API.
- Há uma restrição mínima ou máxima no valor que os desenvolvedores podem cobrar, e você quer para notificar os desenvolvedores sobre a restrição.
Os preços mínimo e máximo são exibidos nos detalhes do pacote de produtos da API.
Como explorar a página "Pacotes de produtos"
Acesse a página "Pacotes de produtos", conforme descrito abaixo.
Edge
Para acessar a página de pacotes de produto da API usando a interface do Edge, selecione Publicar > Monetização > Pacotes de produtos na barra de navegação à esquerda.
Conforme destacado na figura anterior, a página "Pacotes de produtos" permite:
- Conferir informações resumidas de todos os pacotes de produtos, incluindo o nome do pacote e a lista de produtos de API que ele contém
- Adicionar um pacote de produtos
- Editar um pacote de produtos
- Pesquise a lista de pacotes de produtos em qualquer campo visível.
Use somente a API para gerenciar os produtos de API em um pacote ou excluir um pacote de produtos (se nenhum plano de tarifas estiver definido).
Edge clássico (nuvem privada)
Para acessar a página de pacotes de API usando a IU do Classic Edge, selecione Publicar > Packages na barra de navegação superior.
Na página "Pacotes de API", é possível:
- Exibir informações resumidas de todos os pacotes de API, incluindo os produtos de API contidos e os planos de tarifas associados
- Adicionar um pacote de API
- Editar um pacote de API
- Adicionar e gerenciar planos de tarifas
- Alternar a configuração de acesso ao plano de tarifa (público/privado)
- Filtrar a lista de pacotes
Use somente a API para gerenciar os produtos de API em um pacote de API ou excluir um pacote de API (se nenhum plano de tarifas estiver definido).
Como adicionar um pacote de produtos
Para adicionar um pacote de produtos da API:
- Clique em + Pacote de produtos da API na página de pacotes de produtos.
- Digite um nome para o pacote de produtos de API.
Digite o nome de um produto da API no campo Adicionar um produto.
Conforme você digita o nome de um produto de API, uma lista de produtos de API que contêm a string é exibida em um menu suspenso. Clique no nome de um produto de API para adicioná-lo ao pacote. Repita essas etapas para adicionar outros produtos de API.
- Repita a etapa 3 para adicionar outros nomes de produtos de API.
- Para cada produto de API adicionado, configure a política de registro de transações.
- Clique em Salvar pacote de produtos.
Como editar um pacote de produtos
Para editar um pacote de produtos:
Na página Pacotes de produtos, clique na linha do pacote que você quer editar.
O painel do pacote de produtos é exibido.
Edite os campos do pacote de produtos conforme necessário.
Consulte Configurar a política de registro de transações para mais informações.
- Clique em Atualizar pacote de produtos.
Como gerenciar pacotes de produtos de API usando a API
As seções a seguir descrevem como gerenciar pacotes de produtos da API usando a API.
Como criar um pacote de produtos de API usando a API
Para criar um pacote de produtos de API, emita uma solicitação POST para
/organizations/{org_name}/monetization-packages
: Ao emitir a solicitação, você
precisa:
- Identifique os produtos de API a serem incluídos no pacote de produtos de API.
- Especifique um nome e uma descrição para o pacote de produtos da API.
- Defina um indicador de status para o pacote de produtos da API. O indicador de status pode ter um dos seguintes valores: CREATED, ACTIVE, INACTIVE. Atualmente, o valor do indicador de status que você especifica é mantido no pacote de produtos da API, mas não é usado para nenhuma finalidade.
Também é possível especificar a organização.
Consulte as propriedades de configuração do pacote de produtos da API para uma lista das opções expostas a a API.
Exemplo:
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "description": "payment messaging package", "displayName": "Payment Messaging Package", "name": "Payment Messaging Package", "organization": { "id": "{org_name}" }, "product": [ { "id": "messaging" }, { "id": "payment" } ], "status": "CREATED" }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \ -u email:password
Veja a seguir um exemplo de resposta:
{ "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { "id" : "{org_name}", "separateInvoiceForFees" : false }, "status" : "CREATED" }], "status" : "CREATED" }
A resposta inclui informações adicionais sobre os produtos da API e quaisquer atributos especificados para esses produtos de API. Os atributos personalizados são especificados quando você cria um produto de API). Os atributos personalizados de um produto de API podem ser considerados em vários planos de preços. Para exemplo, se você configurar um plano de tabela de preços em que cobra o desenvolvedor por cada transação, É possível definir a taxa do plano com base em um atributo personalizado, como o número de bytes transmitidos em uma transação.
Como gerenciar produtos de API em um pacote de produtos de API usando a API
É possível adicionar ou excluir um produto de API de um pacote de produtos de API usando a API, conforme descrito nas nas seções a seguir.
Como adicionar um produto de API a um pacote de produtos de API
Para adicionar um produto de API a um pacote de produtos de API, emita uma solicitação POST para
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
em que {org_name}
especifica o nome da organização, {package_id}
.
especifica o nome do pacote de produtos da API, e {product_id}
especifica o ID da API.
produto.
Exemplo:
$ curl -H "Accept:application/json" -X POST -d \ '{}'\ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Como adicionar um produto de API a um pacote de produtos de API com API planos de preços específicos do produto
Adicionar um produto de API a um pacote de produtos de API que tenha um ou mais planos de preços específicos de produto de API
definida (tabela de preços ou participação nos lucros), emita uma solicitação POST para
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
em que {org_name}
especifica o nome da organização, {package_id}
.
especifica o nome do pacote de produtos da API, e {product_id}
especifica o ID da API.
produto.
É preciso transmitir os detalhes do plano de tarifação para o novo produto da API no corpo da solicitação. Exceto
a matriz ratePlanRates
, os valores do plano de tarifação devem corresponder àqueles especificados para todas
outros produtos de API. Para mais informações sobre os atributos do plano de tarifas que podem ser definidos, consulte
Propriedades de configuração
para planos de tarifas.
Exemplo:
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "ratePlan": [ { "id": "mypackage_rateplan1", "ratePlanDetails": [ { "currency": { "id": "usd" }, "duration": 1, "durationType": "MONTH", "meteringType": "UNIT", "organization" : { "id": "{org_name}", "paymentDueDays": "30", "ratePlanRates": [ { "rate": "1.99", "startUnit": "0", "type": "RATECARD" } ], "ratingParameter": "VOLUME", "type": "RATECARD" } ] } ] }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Como excluir um produto de API de um pacote de produtos de API
Para excluir um produto de API de um pacote de produtos de API, emita uma solicitação DELETE para o
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}
,
em que {org_name}
especifica o nome da organização, {package_id}
.
especifica o nome do pacote de produtos da API, e {product_id}
especifica o ID da API.
produto.
Exemplo:
$ curl -H "Accept:application/json" -X DELETE \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \ -u email:password
Como visualizar pacotes de produtos de API usando a API
É possível recuperar um pacote de produtos de API específico ou todos os pacotes de produtos de API em uma organização. Você também pode recuperar pacotes de produto de API que tenham transações em determinado período, ou seja, somente pacotes para quais usuários invocam aplicativos que acessam APIs nesses pacotes com início e fim especificados data.
Visualização de um pacote de produtos de API específico: para recuperar um pacote de produtos de API, emita uma solicitação GET
para /organizations/{org_name}/monetization-packages/{package_id}
, onde
{package_id} é a identificação do pacote de produtos da API (o ID é retornado na
quando você criar o pacote de produtos da API). Exemplo:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \ -u email:password
Visualização de todos os pacotes de produtos da API: para recuperar todos os pacotes de produtos da API de uma organização, emita um GET
para /organizations/{org_name}/monetization-packages
. Exemplo:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \ -u email:password
É possível transmitir 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 produtos da API precisam ser retornados. Se definido como false, o número de pacotes de produtos da API retornados por página será
definida pelo parâmetro de consulta size . O padrão é false. |
size |
Número de pacotes de produtos da API retornados por página. O padrão é 20. Se a 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 for definido como true , essa
será ignorado. |
A resposta para visualizar todos os pacotes de produtos de API em uma organização deve ser assim (somente parte da resposta é exibida):
{ "monetizationPackage" : [ { "description" : "payment messaging package", "displayName" : "Payment Messaging Package", "id" : "payment_messaging_package", "name" : "Payment Messaging Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Messaging", "displayName" : "Messaging", "id" : "messaging", "name" : "messaging", "organization" : { ... }, "status" : "CREATED" }, { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" }, { "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" }, { "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "Payment", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED" } ], "status" : "CREATED" } ], "totalRecords" : 3 }
Visualização de pacotes de produtos de API com transações: para recuperar pacotes de produtos de API com transações em um
em um determinado período, emita uma solicitação GET para
/organizations/{org_name}/packages-with-transactions
Quando você fizer a solicitação,
você precisa especificar como parâmetros de consulta uma data de início e uma data de término para o período. Para
exemplo, a solicitação a seguir recupera pacotes de produtos da API com transações durante o mês de
Agosto de 2013.
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \ -u email:password
A resposta deve ser semelhante a esta (apenas parte da resposta é exibida):
{ "monetizationPackage" : [ { "description" : "Payment Package", "displayName" : "Payment Package", "id" : "payment_package", "name" : "Payment Package", "organization" : { ... }, "product" : [ { "customAtt1Name" : "user", "customAtt2Name" : "response size", "customAtt3Name" : "content-length", "description" : "payment api product", "displayName" : "payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "status == 'SUCCESS'" } ], "status" : "CREATED" }, { "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" }, ... } ] }
Visualizar pacotes de produtos de API aceitos por um desenvolvedor ou empresa usando a API
Emitir um GET para conferir os pacotes de produtos de API aceitos por um desenvolvedor ou uma empresa específica para as seguintes APIs, respectivamente:
/organizations/{org_name}/developers/{developer_id}/monetization-packages
, em que {developer_id} é o ID (endereço de e-mail) do desenvolvedor./organizations/{org_name}/companies/{company_id}/monetization-packages
, em que {company_id} é o ID da empresa.
Ao emitir a solicitação, você tem a opção de especificar os seguintes parâmetros de consulta:
Parâmetro de consulta | Descrição | Padrão |
---|---|---|
current |
Sinalização que especifica se você quer recuperar apenas pacotes de produtos da API ativos (current=true ) ou todos
(current=false ). Todos os planos de tarifação em um pacote ativo são considerados
disponíveis. |
current=false |
allAvailable |
Sinalização que especifica se todos os pacotes de produtos de API disponíveis (allAvailable=true ) ou
Somente pacotes de produtos de API disponíveis especificamente para o desenvolvedor ou a empresa (allAvailable=false ).
Todos disponíveis se referem aos pacotes de produtos de API disponibilizados para o desenvolvedor ou a empresa especificada, além de
outros desenvolvedores ou empresas. Os pacotes de produtos de API disponíveis especificamente para uma empresa ou um desenvolvedor contêm apenas planos de preços
disponíveis exclusivamente para essa empresa ou desenvolvedor. |
allAvailable=true |
Por exemplo, a solicitação a seguir recupera todos os pacotes de produtos de API aceitos por uma desenvolvedor:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \ -u email:password
A seguinte solicitação recupera apenas pacotes ativos de API aceitos por uma empresa específica:
$ curl -H "Accept:application/json" -X GET \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \ -u email:password
Como excluir um pacote de produtos de API usando a API
Só é possível excluir um pacote de produtos de API se ele não tem planos de tarifas definidos.
Para excluir um pacote de produtos de API que não tenha planos de tarifas definidos, emita uma solicitação DELETE
para organizations/{org_name}/monetization-packages/{package_id}
,
em que {org_name}
especifica o nome da organização
e {package_id}
especifica o nome do pacote de produtos da API.
Exemplo:
$ curl -H "Accept:application/json" -X DELETE \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \ -u email:password
Propriedades de configuração do pacote de produtos da API para a API
As seguintes opções de configuração de pacote de produtos de API são expostas à API:
Nome | Descrição | Padrão | Obrigatório? |
---|---|---|---|
description |
Uma descrição do pacote de produtos da API. |
N/A | Sim |
displayName |
O nome a ser exibido para o pacote de produtos da API (por exemplo, em um catálogo de APIs . |
N/A | Sim |
name |
O nome do pacote de produtos da API. |
N/A | Sim |
organization |
A organização que contém o pacote de produtos da API. |
N/A | Não |
product |
Uma matriz de um ou mais produtos no pacote de produtos da API. |
N/A | Não |
status |
Um indicador de status para o pacote de produtos da API. O indicador de status pode ter um dos seguintes valores: CREATED, ACTIVE, INACTIVE. |
N/A | Sim |