Planos de tarifas de compra usando a API

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

Esta seção descreve como adquirir um plano de tarifas publicado e expirar ou cancelar um plano de tarifas plano de tarifação, se desejado, usando a API.

Como comprar um plano de tarifas publicado usando a API

Depois que um plano de tarifas é publicado, um desenvolvedor ou empresa pode comprá-lo (ou "aceitá-lo") emitir uma solicitação POST para /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, em que {org_name} é o nome da organização e {developer_or_company_id} é o ID do desenvolvedor ou da empresa.

Para isentar as taxas de configuração ao comprar um plano de tarifas, defina o parâmetro de consulta waivefees para true. Essa sinalização é útil ao migrar desenvolvedores para monetização, como descritas em Migração de desenvolvedores para monetização.

A tabela a seguir resume as propriedades de configuração que podem ser especificadas no corpo da solicitação, os valores padrão e se são ou não obrigatórios.

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

Data de início do plano de tarifação. Por exemplo: 2017-03-24.

N/A Sim
endDate

Data de término do plano de tarifação. Por exemplo: 2017-09-24.

O plano de tarifação ficará em vigor até o fim do dia a data especificada. Se você quiser que um plano de tarifas expire em 1o de dezembro de 2017, por exemplo, defina o valor endDate para 2017-11-30. Neste caso o plano de tarifas expire ao final do dia, em 30 de novembro de 2017. todas as solicitações em 1o de dezembro de 2017 será bloqueado.

N/A Não
developer

id que define o ID do desenvolvedor ou da empresa que é a compra do plano de tarifas.

N/A Sim
quotaTarget

Número desejado de transações permitidas para o desenvolvedor do app. É possível configurar se e quando notificações são enviadas com base na porcentagem do número desejado que alcançados, como 90%, 100% ou 150%. Transações adicionais não são bloqueadas após o e o número da meta seja atingido.

Defina esse valor como um número inteiro positivo ou 0 para desativar as notificações de um app desenvolvedor.

0 Não
ratePlan

id que define o ID do plano de tarifas.

O ID do plano de tarifação é diferente do nome de exibição. Para visualizar detalhes do plano de tarifa incluindo o ID, consulte Como explorar a página de planos de tarifas

N/A Sim
suppressWarning

Sinalização que especifica se o erro deve ser suprimido se o desenvolvedor tentar comprar um plano que se sobrepõe a outro plano comprado. O valor pode ser um dos seguinte:

  • true - A monetização encerra todos os planos de tarifas comprados que desenvolvedor precisa dos pacotes de API que contêm os produtos de API conflitantes. Em seguida, compra um novo pacote de API para o desenvolvedor.
  • false: um erro é gerado quando há uma sobreposição. plano de tarifação.
N/A Não
waveTerminationCharge

Sinalização que especifica se há isenção das taxas de rescisão quando um plano de tarifas ativo é encerrado como parte da ativação do novo plano de tarifas. O valor pode ser um dos seguinte:

  • true: renunciar à taxa de rescisão quando um plano de tarifas ativo for encerrado como parte da ativação do novo plano de tarifas.
  • false: não renuncia à taxa de rescisão quando um plano de tarifas ativo for encerrado como parte da ativação do novo plano de tarifas.
N/A Não

Por exemplo, a solicitação a seguir compra o plano de tarifas location_&_messaging. para o desenvolvedor especificado:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

Neste exemplo, a propriedade suppressWarning está definida como false. Em Nesse caso, será gerado um erro em caso de conflito. Por exemplo, se o desenvolvedor tentar comprar um plano que se sobrepõe a outro plano adquirido, um erro será gerado. Isso permite que um aplicativo que fornece uma interface de usuário para monetização intercepte o erro e exibir os produtos conflitantes ao desenvolvedor para confirmação (conforme apropriado). Se suppressWarning está definido como true, a monetização encerra todas as compras os planos de preços que o desenvolvedor tem para os pacotes de API que contêm os produtos conflitantes. Em seguida, compra um novo pacote de API para o desenvolvedor.

A solicitação a seguir compra um plano de taxa de notificação ajustável e define o número desejado de transações para 4.000.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

Em um dos exemplos acima, se a seguinte mensagem de erro for retornada:

Developer legal name not specified. 

Em seguida, você precisa definir os atributos de monetização MINT_DEVELOPER_ADDRESS e MINT_DEVELOPER_LEGAL_NAME e repita a chamada de API.

Expiração de um plano de tarifas comprado por um desenvolvedor usando a API

Para expirar (ou cancelar) um plano de tarifas que foi comprado por um desenvolvedor, atualize o plano adquirido detalhes do plano de tarifação e especifique a propriedade endDate no corpo da solicitação em uma solicitação PUT para o recurso /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

O plano de tarifação ficará em vigor até o fim do dia. data especificada. Se você quiser que um plano de tarifas expire em 1o de dezembro de 2017, por exemplo, defina o valor endDate para 2017-11-30. Nesse caso, o plano de tarifas vencerá ao final do dia, em 30 de novembro de 2017. todas as solicitações em 1o de dezembro, 2017 será bloqueado.

O valor de {developer_rateplan_id} é retornado na resposta quando você faz a compra o plano de tarifação publicado.

Exemplo:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

Como alternativa, você pode acessar o {developer-rateplan-id} do ao plano de preços do desenvolvedor emitindo uma solicitação GET para /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, em que {developer_id} é o endereço de e-mail do desenvolvedor. Para mais da Web, consulte Como visualizar todos os planos de preços comprados por um desenvolvedor.

A solicitação a seguir atualiza a data de término para 1o de dezembro de 2017. Ou seja, o plano de tarifas Expira no final do dia, em 30 de novembro de 2017. todas as solicitações de 1o de dezembro de 2017 serão bloqueado.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'