Recuperar e atualizar uma assinatura

Depois de extrair uma assinatura, você pode usar as informações da resposta bem-sucedida para mudar o status da assinatura ou atualizá-la. Esta página se concentra nas diferentes maneiras de extrair e atualizar uma assinatura.

Extrair uma assinatura

Para recuperar uma assinatura que foi solicitada ou transferida, use a solicitação HTTP GET a seguir.

GET https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions/SUBSCRIPTION_ID

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • SUBSCRIPTION_ID: o identificador de assinatura exclusivo para cada cliente. É possível extrair esse valor usando o método Extrair todas as assinaturas de revendedor.

Esta operação não tem parâmetros no corpo da solicitação.

Uma resposta bem-sucedida retorna um código de status HTTP 200 e as configurações da assinatura. No exemplo de resposta abaixo, a propriedade isInTrial é false, mas não há propriedade trialEndTime, o que significa que esse cliente nunca fez um teste sem custo financeiro de 30 dias com esse plano.

{
  "kind": "reseller#subscription",
  "customerId": "C0123456",
  "subscriptionId": "123",
  "skuId": "1010020028",
  "billingMethod": "ONLINE",
  "creationTime": "1331647980142",
  "plan": {
    "planName": "ANNUAL",
    "isCommitmentPlan": true,
    "commitmentInterval": {
      "startTime": "1331647980142",
      "endTime": "1363183980142"
    }
  },
  "seats": {
    "kind": "subscriptions#seats",
    "numberOfSeats": 10,
    "licensedNumberOfSeats": 10
  },
  "trialSettings": {
    "isInTrial": false
  },
  "renewalSettings": {
    "kind": "subscriptions#renewalSettings",
    "renewalType": "RENEW_CURRENT_USERS_MONTHLY_PAY"
  },
  "purchaseOrderId": "example.com_annual_1",
  "status": "ACTIVE",
  "resourceUiUrl": "URL to customer's Subscriptions page in the Admin console",
  "skuName": "Google Workspace Business Standard"
}

Extrair todas as assinaturas de um cliente

Para recuperar todas as assinaturas de um cliente revendedor específico que foram pedidas ou transferidas, use a seguinte solicitação HTTP GET e inclua o token de autorização:

GET https://reseller.googleapis.com/apps/reseller/v1/subscriptions?customerId=CUSTOMER_ID value&pageToken=START_DATE&maxResults=MAX_NUMBER

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • START_DATE: a data de início no formato YYYY-MM-DD.
  • MAX_NUMBER: o número máximo de resultados retornados em uma página de resposta.

Esta operação não tem parâmetros no corpo da solicitação.

Uma resposta bem-sucedida retorna um código de status HTTP 200 e uma lista das assinaturas e configurações do cliente. A lista de assinaturas pode incluir produtos que não são gerenciados nesta versão da API Reseller.

Se você não gerenciar esse cliente, um erro 403 "Forbidden" será retornado.

Extrair todas as assinaturas transferíveis de um cliente

Para recuperar todas as assinaturas de um cliente que podem ser transferidas para a administração do revendedor, use a seguinte solicitação HTTP GET e inclua o token de autorização. O customerId é obrigatório e é o identificador exclusivo do cliente retornado ao recuperar a conta de um cliente revendido. OcustomerAuthToken é um token de transferência fornecido pelo cliente que é específico para o ID do revendedor. Depois de gerado pelo cliente, ele é válido por 30 dias. Para mais informações sobre como os clientes geram o token, consulte Transferir sua conta do Google Workspace para um revendedor.

GET https://reseller.googleapis.com/apps/reseller/v1/subscriptions?customerId=CUSTOMER_ID&customerAuthToken=AUTH_TOKEN&pageToken=START_DATE&maxResults=MAX_NUMBER

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • AUTH_TOKEN: um token de transferência fornecido pelo cliente que é específico do seu ID de revendedor. Depois de ser gerado pelo cliente, ele é válido por 30 dias. Para mais informações sobre como os clientes geram o token, consulte Transferir sua conta do Google Workspace para um revendedor. Se esse valor não for válido ou tiver expirado, a resposta da API vai retornar um erro 403 "Forbidden".
  • START_DATE: a data de início no formato YYYY-MM-DD.
  • MAX_NUMBER: o número máximo de resultados retornados em uma página de resposta.

Esta operação não tem parâmetros no corpo da solicitação.

Uma resposta bem-sucedida retorna um código de status HTTP 200 e uma lista das assinaturas transferíveis do cliente com a data de validade do token de transferência e o número mínimo de assentos necessários no pedido de transferência. Um cliente pode ter assinaturas adicionais que não são transferíveis.

{
  "kind": "reseller#subscriptions",
  "subscriptions": [
    {
      "kind": "subscriptions#subscription",
      "customerId": "custId-6543",
      "subscriptionId": "432",
      "skuId": "1010020028",
      "billingMethod": "ONLINE",
      "creationTime": "1331647980142",
      "plan": {
        "planName": "ANNUAL",
        "isCommitmentPlan": true,
        "commitmentInterval": {
          "startTime": "1331647980142",
          "endTime": "1363183980142"
        }
      },
      "seats": {
        "kind": "subscriptions#seats",
        "numberOfSeats": 10,
        "maximumNumberOfSeats": 500,
        "licensedNumberOfSeats": 10
      },
      "trialSettings": {
        "isInTrial": false
      },
      "renewalSettings": {
        "kind": "subscriptions#renewalSettings",
        "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
      },
      "transferInfo": {
        "transferabilityExpirationTime": "1333183980142",
        "minimumTransferableSeats": "20"
      },
      "purchaseOrderId": "PO_890",
      "status": "ACTIVE",
      "resourceUiUrl": "URL to customer's Subscriptions page in the Admin console",
      "skuName": "Google Workspace Business Standard"
    },
    {
      "kind": "subscriptions#subscription",
      "customerId": "custId-6543",
      "subscriptionId": "140",
      "skuId": "1010020028",
      "creationTime": "1329389322728",
      "plan": {
        "planName": "FLEXIBLE",
        "isCommitmentPlan": false
      },
      "seats": {
        "kind": "subscriptions#seats",
        "maximumNumberOfSeats": 50
        "licensedNumberOfSeats": 10
      },
      "trialSettings": {
        "isInTrial": false,
        "trialEndTime": "1331877480016"
      },
      "renewalSettings": {
        "kind": "subscriptions#renewalSettings",
        "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
      },
      "transferInfo": {
        "transferabilityExpirationTime": "1333183780159",
        "minimumTransferableSeats": "10"
      },
      "purchaseOrderId": "",
      "status": "ACTIVE",
      "resourceUiUrl": "URL to customer's Subscriptions page in the Admin console",
      "skuName": "Google Workspace Business Standard"
    },
  ],
  "nextPageToken": "token"
}

Se você planeja transferir essas assinaturas usando a operação em lote, transfira todas as assinaturas. A transferência de cada assinatura resulta em um erro. Além disso, a operação em lote só transfere assinaturas com o status ACTIVE. Para mais informações, consulte Transferir uma assinatura.

Extrair todas as assinaturas de revendedor

Para recuperar todas as assinaturas de um revendedor que foram encomendadas ou transferidas com sucesso, use a seguinte solicitação HTTP GET e inclua o token de autorização.

GET https://reseller.googleapis.com/apps/reseller/v1/subscriptions?customerNamePrefix=PREFIX &pageToken=TOKEN&maxResults=MAX_NUMBER

Substitua:

  • PREFIX: o início do nome do cliente que tem as assinaturas que você está procurando.
  • TOKEN: um token que identifica uma página específica de resultados que o servidor deve retornar.
  • MAX_NUMBER: o número máximo de resultados retornados em uma página de resposta.

Essa operação pode usar o escopo de acesso somente leitura do OAuth. As strings de consulta customerNamePrefix, pageToken e maxResults são opcionais.

O exemplo a seguir recupera todas as assinaturas de um revendedor que pertencem a clientes cujo nome começa com "exam":

GET https://reseller.googleapis.com/apps/reseller/v1/subscriptions?customerNamePrefix=exam

{
  "kind": "reseller#subscriptions",
  "subscriptions": [
    {
      "kind": "subscriptions#subscription",
      "customerId": "C0123456",
      "subscriptionId": "123",
      "skuId": "1010020028",
      "creationTime": "1331647980142",
      "billingMethod": "ONLINE",
      "plan": {
        "planName": "ANNUAL",
        "isCommitmentPlan": true,
        "commitmentInterval": {
          "startTime": "1331647980142",
          "endTime": "1363183980142"
        }
      },
      "seats": {
        "kind": "subscriptions#seats",
        "numberOfSeats": 10,
        "licensedNumberOfSeats": 10
      },
      "trialSettings": {
        "isInTrial": false
      },
      "renewalSettings": {
        "kind": "subscriptions#renewalSettings",
        "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
      },
      "purchaseOrderId": "PO_135",
      "status": "ACTIVE",
      "resourceUiUrl": "URL to customer's Subscriptions page in the Admin console",
      "skuName": "Google Workspace Business Standard"
    },
    {
      "kind": "subscriptions#subscription",
      "customerId": "custId-5678",
      "subscriptionId": "1404686",
      "skuId": "1010020028",
      "billingMethod": "ONLINE",
      "creationTime": "1329389322728",
      "plan": {
        "planName": "FLEXIBLE",
        "isCommitmentPlan": false
      },
      "seats": {
        "kind": "subscriptions#seats",
        "maximumNumberOfSeats": 50,
        "licensedNumberOfSeats": 10
      },
      "trialSettings": {
        "isInTrial": false,
        "trialEndTime": "1331877480016"
      },
      "renewalSettings": {
        "kind": "subscriptions#renewalSettings",
        "renewalType": "AUTO_RENEW"
      },
      "purchaseOrderId": "",
      "status": "ACTIVE",
      "resourceUiUrl": "URL to customer's Subscriptions page in the Admin console",
      "skuName": "Google Workspace Business Standard"
    },
  ],
  "nextPageToken": "token"
}

Atualizar um plano de assinatura

A atualização dos planos do Google Workspace varia de acordo com o plano. Antes de atualizar um plano, considere o seguinte:

  • Quando você cria uma assinatura e o cliente se qualifica, o plano da assinatura pode ser um teste de 30 dias. Os planos de pagamento flexível e anual com compromisso podem ser testes sem custo financeiro de 30 dias. Durante o teste, é possível mudar o plano de pagamento da assinatura para planos flexíveis ou anuais quantas vezes for necessário. No entanto, depois que o teste termina e o plano fica ativo, a atualização segue as mesmas regras dos planos ativos de outras assinaturas. Para mudar imediatamente uma assinatura de teste para um plano ativo, inicie um serviço pago a partir de uma assinatura de teste sem custo financeiro de 30 dias. Para mais informações sobre o teste de 30 dias e as regras de qualificação do cliente, consulte a Central de Ajuda para administradores.

  • É possível atualizar um plano flexível para um plano de compromisso anual.

  • Não é possível atualizar um plano de compromisso anual.

  • Nem todos os planos funcionam com todos os produtos. Para mais informações sobre quais produtos são usados por esses planos, consulte Produtos e SKUs.

Para atualizar um plano de teste de 30 dias ou uma assinatura de plano flexível para um plano de compromisso anual, use a seguinte solicitação HTTP POST:

POST https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions/SUBSCRIPTION_ID/changePlan

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • SUBSCRIPTION_ID: o identificador de assinatura exclusivo para cada cliente. É possível extrair esse valor usando o método Extrair todas as assinaturas de revendedor.

O exemplo a seguir atualiza a assinatura com o subscriptionId com um valor de 123. O customerId é C0123456.

POST https://reseller.googleapis.com/apps/reseller/v1/customers/C0123456/subscriptions/123/changePlan

O corpo da solicitação tem o seguinte:

{
  "kind": "reseller#changePlanRequest",
  "planName": "ANNUAL_MONTHLY_PAY",
  "seats": {
    "kind": "subscriptions#seats",
    "numberOfSeats": 10
  },
  "purchaseOrderId": "123_March2012"
}

Uma resposta bem-sucedida retorna um código de status HTTP 201 e as configurações atualizadas do plano de assinatura:

{
  "kind": "reseller#subscription",
  "customerId": "C0123456",
  "subscriptionId": "123",
  "skuId": "1010020028",
  "creationTime": "1331647980142",
  "plan": {
    "planName": "ANNUAL",
    "isCommitmentPlan": true,
    "commitmentInterval": {
      "startTime": "1331647980142",
      "endTime": "1363183980142"
    }
  },
  "seats": {
    "kind": "subscriptions#seats",
    "numberOfSeats": 10,
    "licensedNumberOfSeats": 10
  },
  "trialSettings": {
    "isInTrial": false
  },
  "renewalSettings": {
    "kind": "subscriptions#renewalSettings",
    "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
  },
  "purchaseOrderId": "123_March2012",
  "status": "ACTIVE",
  "skuName": "Google Workspace Business Standard"
}

Atualizar as licenças de uma assinatura

Atualizar uma assinatura de plano de compromisso anual usa propriedades de assinatura diferentes da atualização de uma assinatura de plano flexível do Google Workspace.

Atualizar os lugares da assinatura de um plano anual

Para atualizar as configurações da licença de usuário de uma assinatura do plano anual, use a seguinte solicitação HTTP POST:

POST https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions/SUBSCRIPTION_ID/changeSeats

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • SUBSCRIPTION_ID: o identificador de assinatura exclusivo para cada cliente. É possível extrair esse valor usando o método Extrair todas as assinaturas de revendedor.

O exemplo a seguir atualiza a assinatura com o subscriptionId 123. O customerId é C0123456. O corpo da solicitação varia de acordo com o tipo de plano:

POST https://reseller.googleapis.com/apps/reseller/v1/customers/C0123456/subscriptions/123/changeSeats

A assinatura de um plano de compromisso anual do Google Workspace usa esse corpo de solicitação para atualizar o número de licenças de usuário. O valor numberOfSeats é um total. Por exemplo, se você tinha 10 licenças de usuário e recebeu um pedido de cliente para cinco novas licenças, o total no corpo da solicitação para numberOfSeats é 15, conforme mostrado no exemplo a seguir:

{
    "kind": "subscriptions#seats",
    "numberOfSeats": 15
}

Atualizar licenças por usuário de uma assinatura de um plano flexível

A assinatura de um plano flexível do Google Workspace usa o corpo da solicitação para atualizar as licenças do usuário. O valor maximumNumberOfSeats é o total de licenças existentes e novas. Esse é o número máximo de licenças de usuário que a conta pode provisionar.

{
  "kind": "subscriptions#seats",
  "maximumNumberOfSeats": 15
}

Uma resposta bem-sucedida retorna um código de status HTTP 201 e as configurações de licença da assinatura atualizadas:

{
  "kind": "reseller#subscription",
  "customerId": "C0123456",
  "subscriptionId": "123",
  "skuId": "1010020028",
  "creationTime": "1331647980142",
  "plan": {
    "planName": "FLEXIBLE",
    "isCommitmentPlan": false
  },
  "seats": {
    "kind": "subscriptions#seats",
    "maximumNumberOfSeats": 15,
    "licensedNumberOfSeats": 10
  },
  "trialSettings": {
    "isInTrial": false
  },
  "skuName": "Google Workspace Business Standard"
}

Atualizar as configurações de renovação de uma assinatura

Para atualizar as configurações de renovação de uma assinatura de compromisso anual, use a seguinte solicitação HTTP POST:

POST https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions/SUBSCRIPTION_ID/changeRenewalSettings

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • SUBSCRIPTION_ID: o identificador de assinatura exclusivo para cada cliente. É possível extrair esse valor usando o método Extrair todas as assinaturas de revendedor.

Confira a seguir um exemplo de corpo de solicitação:

{
  "kind": "subscriptions#renewalSettings",
  "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
}

O valor da propriedade renewalType pode ser um dos seguintes:

  • AUTO_RENEW_YEARLY_PAY: no final do intervalo de um plano de compromisso anual, renove automaticamente o plano da assinatura como ANNUAL_YEARLY_PAY com o mesmo numberOfSeats.
  • AUTO_RENEW_MONTHLY_PAY: no final do intervalo de um plano de compromisso anual, renove automaticamente o plano das assinaturas como ANNUAL_MONTHLY_PAY com o mesmo numberOfSeats.
  • RENEW_CURRENT_USERS_YEARLY_PAY: no final do intervalo de um plano de compromisso anual, renove o plano da assinatura como ANNUAL_YEARLY_PAY, mas use o número total de licenças de usuário ativas atuais. Essa é a configuração padrão para planos de compromisso anual ativos (pagos anualmente).
  • RENEW_CURRENT_USERS_MONTHLY_PAY: no final do intervalo de um plano de compromisso anual, renove o plano da assinatura como ANNUAL_MONTHLY_PAY, mas use o número total de licenças de usuário ativas atuais. Essa é a configuração padrão para planos de compromisso anual ativos (pagos mensalmente).
  • RENEW_ON_PROPOSED_OFFER: no final do intervalo do plano de compromisso atual, renove na proposta de renovação mais recente com numberOfSeats como número de licenças de usuário ativo atuais ou compromisso de oferta proposto, o que for maior.
  • SWITCH_TO_PAY_AS_YOU_GO: no final do intervalo de um plano de compromisso anual, mude para um plano flexível.
  • CANCEL: no final de um intervalo do plano de compromisso anual, a assinatura é suspensa. Para entender como suspender uma conta, consulte a Central de Ajuda para administradores.

Uma resposta bem-sucedida retorna um código de status HTTP 201 e as configurações de renovação da assinatura atualizadas:

{
  "kind": "reseller#subscription",
  "customerId": "C0123456",
  "subscriptionId": "123",
  "skuId": "1010020028",
  "creationTime": "1331647980142",
  "plan": {
    "planName": "ANNUAL",
    "isCommitmentPlan": true,
    "commitmentInterval": {
      "startTime": "1331647980142",
      "endTime": "1363183980142"
    }
  },
  "seats": {
    "kind": "subscriptions#seats",
    "numberOfSeats": 15,
    "licensedNumberOfSeats": 15
  },
  "trialSettings": {
    "isInTrial": false
  },
  "renewalSettings": {
    "kind": "subscriptions#renewalSettings",
    "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
  },
  "skuName": "Google Workspace Business Standard"
}

Iniciar serviço pago com uma assinatura de teste sem custo financeiro

Para mudar imediatamente uma assinatura de teste sem custo financeiro de 30 dias para uma assinatura de serviço paga, se um plano de pagamento já tiver sido configurado para a assinatura de teste, use a seguinte solicitação HTTP POST.

POST https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions/SUBSCRIPTION_ID/startPaidService

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.
  • SUBSCRIPTION_ID: o identificador de assinatura exclusivo para cada cliente. É possível extrair esse valor usando o método Extrair todas as assinaturas de revendedor.

O exemplo a seguir tem C0123456 como customerId e o valor de subscriptionId como 123:

POST https://reseller.googleapis.com/apps/reseller/v1/customers/C0123456/subscriptions/123/startPaidService

Esta operação não tem parâmetros no corpo da solicitação.

Uma resposta bem-sucedida retorna um código de status HTTP 201 e as configurações de assinatura atualizadas:

{
  "kind": "reseller#subscription",
  "customerId": "C0123456",
  "subscriptionId": "123",
  "skuId": "1010020028",
  "creationTime": "1331647980142",
  "plan": {
    "planName": "ANNUAL",
    "isCommitmentPlan": true,
    "commitmentInterval": {
      "startTime": "1331647980142",
      "endTime": "1363183980142"
    }
  },
  "seats": {
    "kind": "subscriptions#seats",
    "numberOfSeats": 15,
    "licensedNumberOfSeats": 15
  },
  "trialSettings": {
    "isInTrial": false
  },
  "renewalSettings": {
    "kind": "subscriptions#renewalSettings",
    "renewalType": "SWITCH_TO_PAY_AS_YOU_GO"
  },
  "skuName": "Google Workspace Business Standard"
}

Fazer upgrade ou downgrade de uma assinatura

Não é possível fazer downgrade de planos anuais no meio do período e não é possível programar um downgrade usando as configurações de renovação. Recomendamos que você defina as configurações de renovação para mudar para FLEXIBLE e fazer downgrade após o período de renovação.

Para fazer upgrade ou downgrade de uma assinatura, crie uma nova assinatura com o skuId que você quer.

POST https://reseller.googleapis.com/apps/reseller/v1/customers/CUSTOMER_ID/subscriptions

Substitua:

  • CUSTOMER_ID: o nome do domínio principal do cliente ou o identificador exclusivo dele.

Essa chamada encerra a assinatura anterior e cria uma nova.

Saiba mais sobre upgrades e downgrades na página "Produtos e SKUs".