Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Agrupe 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 é uma coleção de produtos de API que é apresentada aos desenvolvedores como um grupo e geralmente associada a um ou mais planos de taxas para monetização. É possível criar vários pacotes de produtos de API e incluir um ou mais produtos de API em cada um deles. Você pode colocar o mesmo produto ou produtos de API em pacotes diferentes e associá-los a planos de taxas diferentes (ou iguais).
Os desenvolvedores só podem registrar os apps para usar um pacote de produtos de API comprando um dos planos de taxas em vigor. 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 taxas para o pacote de produtos (com uma data de início da data atual ou uma data futura), conforme descrito em Gerenciar planos de taxas. Depois de adicionar e publicar um plano de taxas, os desenvolvedores que fizerem login no portal do desenvolvedor poderão selecionar o pacote de produtos de API e escolher o plano de taxas. Como alternativa, é possível aceitar um plano de taxas para um desenvolvedor usando a API Management. Para mais informações, consulte Comprar planos de taxas publicados usando a API.
Depois de adicionar um produto de API a um pacote de produtos de API, talvez seja necessário configurar os preços do produto de API. Você só precisa fazer isso se todas as condições a seguir forem verdadeiras:
- Você configurou 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 notificar os desenvolvedores sobre a restrição.
Os preços mínimos e máximos são mostrados nos detalhes do pacote de produtos de 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 produtos de 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:
- Ver informações de resumo 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
- Pesquisar a lista de pacotes de produtos em qualquer campo visível
Só é possível gerenciar os produtos de API em um pacote de produtos ou excluir um pacote de produtos (se nenhum plano de taxas estiver definido) usando a API.
Edge clássico (nuvem privada)
Para acessar a página de pacotes de API usando a interface clássica do Edge, selecione Publicar > Pacotes na barra de navegação superior.
A página "Pacotes de API" permite:
- Ver informações de resumo de todos os pacotes de API, incluindo os produtos de API que ele contém e os planos de taxas associados
- Adicionar um pacote de API
- Editar um pacote de API
- Adicionar e gerenciar planos de taxas
- Alternar a configuração de acesso ao plano de taxas (público/privado)
- Filtrar a lista de pacotes
É possível gerenciar os produtos de API em um pacote de API ou excluir um pacote de API (se nenhum plano de taxas estiver definido) usando a API.
Como adicionar um pacote de produtos
Para adicionar um pacote de produtos de API:
- Clique em + Pacote de produtos de API na página Pacotes de produtos.
- Insira um nome para o pacote de produtos de API.
Insira o nome de um produto de API no campo "Adicionar um produto".
À medida que você digita o nome de um produto de API, uma lista de produtos de API que contêm a string aparece em um menu suspenso. Clique no nome de um produto de API para adicioná-lo ao pacote. Repita 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 gravação 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 de produtos que você quer editar.
O painel do pacote de produtos é mostrado.
Edite os campos do pacote de produtos conforme necessário.
Consulte Configurar a política de gravação 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 de 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:
- Identificar os produtos de API a serem incluídos no pacote de produtos de API.
- Especificar um nome e uma descrição para o pacote de produtos de API.
- Definir um indicador de status para o pacote de produtos de API. O indicador de status pode ter um dos seguintes valores: CREATED, ACTIVE, INACTIVE. Atualmente, o valor do indicador de status especificado é mantido no pacote de produtos de API, mas não é usado para nenhuma finalidade.
Opcionalmente, é possível especificar a organização.
Consulte Propriedades de configuração do pacote de produtos de API para uma lista de opções expostas 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" }
Observe que a resposta inclui informações adicionais sobre os produtos de API e todos os atributos personalizados especificados para esses produtos de API. Os atributos personalizados são especificados ao criar um produto de API. Os atributos personalizados de um produto de API podem ser considerados em vários planos de taxas. Por exemplo, se você configurar um plano de tabela de preços, em que cobra o desenvolvedor por cada transação, você poderá definir a taxa do plano com base em um atributo personalizado, como o número de bytes transmitidos em uma transação.
Como gerenciar os 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 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 sua organização, {package_id}
especifica o nome do pacote de produtos de API e {product_id} especifica o ID do produto de API.
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 planos de taxas específicos do produto de API
Para adicionar um produto de API a um pacote de produtos de API que tenha um ou mais planos de taxas específicos do produto de API
definidos (tabela de preços ou participação na receita), emita uma solicitação POST para
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id},
em que {org_name} especifica o nome da sua organização, {package_id}
especifica o nome do pacote de produtos de API e {product_id} especifica o ID do produto de API.
É necessário transmitir os detalhes do plano de taxas para o novo produto de API no corpo da solicitação. Com exceção de
a matriz ratePlanRates, os valores do plano de taxas precisam corresponder aos especificados para todos
os outros produtos de API. Para mais informações sobre os atributos do plano de taxas que podem ser definidos, consulte
Propriedades de configuração
para planos de taxas.
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 sua organização, {package_id}
especifica o nome do pacote de produtos de API e {product_id} especifica o ID do produto de
API.
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. Também é possível recuperar pacotes de produtos de API que têm transações em um determinado período, ou seja, apenas pacotes para os quais os usuários invocam apps que acessam APIs nesses pacotes em uma data de início e término especificada.
Como visualizar um pacote de produtos de API específico:para recuperar um pacote de produtos de API específico, emita uma solicitação GET
para /organizations/{org_name}/monetization-packages/{package_id}, em que
{package_id} é a identificação do pacote de produtos de API (o ID é retornado na
resposta quando você cria o pacote de produtos de 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
Como visualizar todos os pacotes de produtos de API:para recuperar todos os pacotes de produtos de API de uma organização, emita uma solicitação 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 de API serão retornados. Se definido como false, o número de pacotes de produtos de API retornados por página será
definido pelo size parâmetro de consulta. O padrão é "false". |
size |
Número de pacotes de produtos de API retornados por página. O padrão é 20. Se o parâmetro de consulta all
estiver definido como true, esse parâmetro será ignorado. |
page |
Número da página que você quer retornar (se o conteúdo estiver paginado). Se
o parâmetro de consulta all estiver definido como true, esse
parâmetro será ignorado. |
A resposta para visualizar todos os pacotes de produtos de API em uma organização precisa ser semelhante a esta (apenas parte da resposta é mostrada):
{ "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 }
Como visualizar pacotes de produtos de API com transações:para recuperar pacotes de produtos de API com transações em um
determinado período, emita uma solicitação GET para
/organizations/{org_name}/packages-with-transactions. Ao emitir a solicitação,
é necessário especificar como parâmetros de consulta uma data de início e uma data de término para o período. Por
exemplo, a solicitação a seguir recupera pacotes de produtos de 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 precisa ser semelhante a esta (apenas parte da resposta é mostrada):
{ "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" }, ... } ] }
Como visualizar pacotes de produtos de API aceitos por um desenvolvedor ou empresa usando a API
Visualize os pacotes de produtos de API aceitos por um desenvolvedor ou empresa específica emitindo uma solicitação GET 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, é possível especificar os seguintes parâmetros de consulta:
| Parâmetro de consulta | Descrição | Padrão |
|---|---|---|
current |
Sinalização que especifica se apenas os pacotes de produtos de API ativos (current=true) ou todos
os pacotes (current=false) serão recuperados. Todos os planos de taxas 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
apenas pacotes de produtos de API disponíveis especificamente para o desenvolvedor ou empresa (allAvailable=false) serão recuperados.
"Todos os disponíveis" se refere aos pacotes de produtos de API que estão disponíveis para o desenvolvedor ou empresa especificados, além de
outros desenvolvedores ou empresas. Os pacotes de produtos de API disponíveis especificamente para uma empresa ou desenvolvedor contêm apenas planos de taxas
que estão 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 um desenvolvedor específico:
$ 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 solicitação a seguir recupera apenas os pacotes de API ativos 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 tiver planos de taxas definidos.
Para excluir um pacote de produtos de API que não tenha planos de taxas definidos, emita uma solicitação DELETE
para organizations/{org_name}/monetization-packages/{package_id},
em que {org_name} especifica o nome da sua organização
e {package_id} especifica o nome do pacote de produtos de 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 de API para a API
As seguintes opções de configuração do pacote de produtos de API são expostas à API:
| Nome | Descrição | Padrão | Obrigatório? |
|---|---|---|---|
description |
Uma descrição do pacote de produtos de API. |
N/A | Sim |
displayName |
O nome a ser mostrado para o pacote de produtos de API (por exemplo, em um catálogo de pacotes de API ). |
N/A | Sim |
name |
O nome do pacote de produtos de API. |
N/A | Sim |
organization |
A organização que contém o pacote de produtos de API. |
N/A | Não |
product |
Uma matriz de um ou mais produtos no pacote de produtos de API. |
N/A | Não |
status |
Um indicador de status para o pacote de produtos de API. O indicador de status pode ter um dos seguintes valores: CREATED, ACTIVE, INACTIVE. |
N/A | Sim |