Como comprar e gerenciar assinaturas de produtos de API usando a API

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Se você quiser criar um portal personalizado ou gerenciar o processo de compra manualmente, as seções a seguir descrevem como comprar e gerenciar assinaturas de produtos da API usando a API. Consulte também Integrar a monetização à Apigee no portal do desenvolvedor baseado no Drupal.

Como comprar assinaturas de produtos de API usando a API

Para comprar uma assinatura de produtos de API, emita uma solicitação POST para a seguinte API: https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

Configure a solicitação de assinatura de produtos de API transmitindo os campos necessários no corpo da solicitação, conforme descrito em Recurso: assinaturas.

Por exemplo, a seguinte chamada de API compra uma assinatura do produto HelloworldProduct da API para o desenvolvedor especificado:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{"apiproduct":"HelloworldProduct"}'

Em que $TOKEN está definido como seu token de acesso OAuth 2.0, conforme descrito em Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl usadas neste exemplo, consulte Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como definir variáveis de ambiente para solicitações de API da Apigee.

Veja a seguir um exemplo de resposta: startTime é definido como o horário atual.

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Para mais informações, consulte API para comprar assinatura de produtos de API

Como expirar uma assinatura de produtos de API imediatamente

Para expirar uma assinatura de produtos de API imediatamente, emita uma solicitação POST para a seguinte API: https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION:expire

Por exemplo, a seguinte chamada de API expira a assinatura do produto de API com o nome 69f8bb42-a8e4-4a2c-b932-d82b51d37b72 para o desenvolvedor especificado:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72:expire" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

Em que $TOKEN está definido como seu token de acesso OAuth 2.0, conforme descrito em Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl usadas neste exemplo, consulte Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como definir variáveis de ambiente para solicitações de API da Apigee.

Veja a seguir um exemplo de resposta: endTime é definido como o horário atual.

{
  "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
  "apiproduct": "WeatherReport",
  "startTime": "1613494852000",
  "endTime" : "1617894954000",
  "createdAt": "1613494852000",
  "lastModifiedAt": "1613494852000"
}

Como listar todas as assinaturas de produtos de API para um desenvolvedor

Para listar todas as assinaturas de produtos de API de um desenvolvedor, emita uma solicitação GET para a seguinte API: https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

Opcionalmente, você pode transmitir os seguintes campos para suportar a paginação:

  • startKey para especificar o nome da assinatura do produto da API em que a lista de assinaturas começará a ser exibida. Se omitida, a lista começará no primeiro item. Use com count para fornecer uma filtragem mais segmentada. Por exemplo, para ver as assinaturas do produto da API de 51 a 150, defina o valor de startKey como o nome da 51a assinatura e defina o valor de count como 100.
  • count para especificar o número de planos de tarifas a serem retornados na chamada da API. Use com startKey para fornecer uma filtragem mais segmentada. O limite máximo é 1.000. O padrão é 100.

Por exemplo, a chamada de API a seguir lista todas as assinaturas de produtos da API do desenvolvedor especificado:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

Em que $TOKEN está definido como seu token de acesso OAuth 2.0, conforme descrito em Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl usadas neste exemplo, consulte Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como definir variáveis de ambiente para solicitações de API da Apigee.

Veja a seguir um exemplo de saída:

{
  "developerSubscriptions": [
    {
      "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
      "apiproduct": "HelloworldProduct",
      "startTime": "1615987132000",
      "createdAt": "1615903252000",
      "lastModifiedAt": "1615903252000"
    },
    {
      "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
      "apiproduct": "WeatherReport",
      "startTime": "1614124552000",
      "createdAt": "1613494852000",
      "lastModifiedAt": "1613494852000"
    }
  ]
}

Para mais informações, consulte a API para listar as assinaturas de produtos de API.

Como ver detalhes de uma assinatura de produtos de API

Para ver os detalhes de uma assinatura de produtos de API de um desenvolvedor, emita uma solicitação GET para a seguinte API: https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION

Por exemplo, a chamada de API a seguir lista todas as assinaturas de produtos da API do desenvolvedor especificado:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

Em que $TOKEN está definido como seu token de acesso OAuth 2.0, conforme descrito em Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl usadas neste exemplo, consulte Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como definir variáveis de ambiente para solicitações de API da Apigee.

Veja a seguir um exemplo de saída:

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

Para mais informações, consulte API para obter assinatura de produtos de API.