Memperbarui paket langganan. Gunakan metode ini untuk memperbarui paket uji coba 30 hari atau langganan paket fleksibel ke paket komitmen tahunan dengan pembayaran bulanan atau tahunan.
Cara memperbarui paket berbeda-beda, bergantung pada paket dan produk. Untuk mengetahui informasi selengkapnya, lihat deskripsi di mengelola langganan.
Permintaan HTTP
POST https://reseller.googleapis.com/apps/reseller/v1/customers/{customerId}/subscriptions/{subscriptionId}/changePlan
Ini dapat berupa nama domain utama pelanggan atau ID unik pelanggan. Jika nama domain untuk pelanggan berubah, nama domain lama tidak dapat digunakan untuk mengakses pelanggan, tetapi ID unik pelanggan (seperti yang ditampilkan oleh API) selalu dapat digunakan. Sebaiknya simpan ID unik di sistem Anda jika ada.
subscriptionId
string
Ini adalah properti yang wajib ada. subscriptionId adalah ID langganan dan bersifat unik untuk setiap pelanggan. Karena subscriptionId berubah saat langganan diperbarui, sebaiknya jangan gunakan ID ini sebagai kunci untuk data persisten. Selain itu, subscriptionId dapat ditemukan menggunakan metode ambil semua langganan reseller.
Mengidentifikasi resource sebagai permintaan paket perubahan langganan. Nilai: subscriptions#changePlanRequest
planName
string
Properti planName wajib diisi. Ini adalah nama paket pembayaran langganan. Untuk mengetahui informasi selengkapnya tentang paket pembayaran Google, lihat Konsep API.
Nilai yang mungkin adalah:
ANNUAL_MONTHLY_PAY - Paket komitmen tahunan dengan pembayaran bulanan
ANNUAL_YEARLY_PAY - Paket komitmen tahunan dengan pembayaran tahunan
Ini adalah properti yang wajib ada. Properti kursi adalah jumlah lisensi kursi pengguna.
purchaseOrderId
string
Ini adalah properti opsional. Informasi pesanan pembelian (PO) ini ditujukan untuk digunakan oleh reseller untuk penggunaan pelacakan perusahaan mereka. Jika nilai purchaseOrderId diberikan, nilai tersebut akan muncul dalam respons API dan muncul di invoice. Properti ini menerima hingga 80 karakter teks biasa.
dealCode
string
Kode yang diterbitkan Google (maks. 100 karakter) untuk harga diskon pada paket langganan. Kode promo harus disertakan dalam permintaan changePlan agar dapat menerima tarif diskon. Properti ini bersifat opsional. Jika kode promo telah ditambahkan ke langganan, properti ini dapat dibiarkan kosong dan tarif diskon yang ada akan tetap berlaku (jika tidak kosong, hanya berikan kode promo yang sudah ada di langganan). Jika kode promo belum pernah ditambahkan ke langganan dan properti ini dibiarkan kosong, harga reguler akan berlaku.
[null,null,["Terakhir diperbarui pada 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. |"]]