Aktualizuje abonament. Użyj tej metody, aby zaktualizować abonament na okres próbny (30 dni) lub abonament elastyczny na abonament roczny z płatnościami miesięcznymi lub rocznymi.
Sposób aktualizowania planu zależy od planu i usług. Więcej informacji znajdziesz w artykule Zarządzanie subskrypcjami.
Żądanie HTTP
POST https://reseller.googleapis.com/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan
Może to być nazwa domeny podstawowej klienta lub jego unikalny identyfikator. Jeśli nazwa domeny klienta ulegnie zmianie, nie będzie można jej używać do uzyskiwania dostępu do klienta, ale zawsze można użyć jego unikalnego identyfikatora (zwracanego przez interfejs API). W stosownych przypadkach zalecamy przechowywanie w swoich systemach unikalnego identyfikatora.
subscriptionId
string
To jest wymagana usługa. subscriptionId to identyfikator subskrypcji, który jest unikalny dla każdego klienta. Ponieważ identyfikator subscriptionId zmienia się po zaktualizowaniu subskrypcji, zalecamy, aby nie używać tego identyfikatora jako klucza do danych trwałych. Wartość subscriptionId można znaleźć, korzystając z metody pobierania wszystkich subskrypcji sprzedawcy.
Określa zasób jako prośbę o zmianę abonamentu subskrypcji. Wartość: subscriptions#changePlanRequest
planName
string
Właściwość planName jest wymagana. To jest nazwa abonamentu. Więcej informacji o planach płatności Google znajdziesz w artykule Koncepcje interfejsu API.
Możliwe wartości:
ANNUAL_MONTHLY_PAY – roczny plan z miesięcznymi płatnościami
ANNUAL_YEARLY_PAY – abonament roczny z płatnościami rocznymi
To jest wymagana usługa. Właściwość seats to liczba licencji na stanowiska użytkowników.
purchaseOrderId
string
To jest właściwość opcjonalna. Informacje o zamówieniu (numer zamówienia) są przeznaczone dla sprzedawców i służą do śledzenia wykorzystania przez ich firmę. Jeśli podana jest wartość purchaseOrderId, pojawia się ona w odpowiedziach interfejsu API i na fakturze. Właściwość ta może zawierać maksymalnie 80 znaków zwykłego tekstu.
dealCode
string
Kod wydany przez Google (maksymalnie 100 znaków) uprawniający do rabatu na abonamenty. Aby otrzymać zniżkę, należy podać kod oferty w changePlan. Ta właściwość jest opcjonalna. Jeśli kod rabatowy został już dodany do subskrypcji, możesz pozostawić to pole puste, a obecna stawka z rabatem będzie nadal obowiązywać (jeśli nie jest puste, podaj tylko kod rabatowy, który jest już obecny w subskrypcji). Jeśli kod rabatowy nigdy nie został dodany do subskrypcji i ta właściwość jest pusta, obowiązują ceny regularne.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[],[],null,["# Method: subscriptions.changePlan\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [ChangePlanRequest](#ChangePlanRequest)\n - [JSON representation](#ChangePlanRequest.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nUpdates a subscription plan. Use this method to update a plan for a 30-day trial or a flexible plan subscription to an annual commitment plan with monthly or yearly payments.\n\nHow a plan is updated differs depending on the plan and the products. For more information, see the description in [manage subscriptions](https://developers.google.com/workspace/admin/reseller/v1/how-tos/manage_subscriptions#update_subscription_plan).\n\n### HTTP request\n\n`POST https://reseller.googleapis.com/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `customerId` | `string` This can be either the customer's primary domain name or the customer's unique identifier. If the domain name for a customer changes, the old domain name cannot be used to access the customer, but the customer's unique identifier (as returned by the API) can always be used. We recommend storing the unique identifier in your systems where applicable. |\n| `subscriptionId` | `string` This is a required property. The `subscriptionId` is the subscription identifier and is unique for each customer. Since a `subscriptionId` changes when a subscription is updated, we recommend to not use this ID as a key for persistent data. And the `subscriptionId` can be found using the [retrieve all reseller subscriptions](https://developers.google.com/workspace/admin/reseller/v1/how-tos/manage_subscriptions#get_all_subscriptions) method. |\n\n### Request body\n\nThe request body contains an instance of [ChangePlanRequest](/workspace/admin/reseller/reference/rest/v1/subscriptions/changePlan#ChangePlanRequest).\n\n### Response body\n\nIf successful, the response body contains an instance of [Subscription](/workspace/admin/reseller/reference/rest/v1/subscriptions#Subscription).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/apps.order`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent).\n\nChangePlanRequest\n-----------------\n\nJSON template for the subscriptions.changePlan rpc request.\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"kind\": string, \"planName\": string, \"seats\": { object (/workspace/admin/reseller/reference/rest/v1/subscriptions#Seats) }, \"purchaseOrderId\": string, \"dealCode\": string } ``` |\n\n| Fields ||\n|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `kind` | `string` Identifies the resource as a subscription change plan request. Value: `subscriptions#changePlanRequest` |\n| `planName` | `string` The `planName` property is required. This is the name of the subscription's payment plan. For more information about the Google payment plans, see [API concepts](https://developers.google.com/workspace/admin/reseller/v1/how-tos/concepts.html). Possible values are: - `ANNUAL_MONTHLY_PAY` - The annual commitment plan with monthly payments **Caution:** `ANNUAL_MONTHLY_PAY` is returned as `ANNUAL` in all API responses. - `ANNUAL_YEARLY_PAY` - The annual commitment plan with yearly payments - `FLEXIBLE` - The flexible plan - `TRIAL` - The 30-day free trial plan \u003cbr /\u003e |\n| `seats` | `object (`[Seats](/workspace/admin/reseller/reference/rest/v1/subscriptions#Seats)`)` This is a required property. The seats property is the number of user seat licenses. |\n| `purchaseOrderId` | `string` This is an optional property. This purchase order (PO) information is for resellers to use for their company tracking usage. If a `purchaseOrderId` value is given it appears in the API responses and shows up in the invoice. The property accepts up to 80 plain text characters. |\n| `dealCode` | `string` Google-issued code (100 char max) for discounted pricing on subscription plans. Deal code must be included in `changePlan` request in order to receive discounted rate. This property is optional. If a deal code has already been added to a subscription, this property may be left empty and the existing discounted rate will still apply (if not empty, only provide the deal code that is already present on the subscription). If a deal code has never been added to a subscription and this property is left blank, regular pricing will apply. |"]]