En esta página se describe cómo gestionar los derechos de los clientes de los productos de Google Workspace y Google Chrome.
Requisito previo
Antes de continuar, determina si tu cuenta de distribuidor tiene una sola cuenta de facturación de Google Workspace o varias. Para obtener más información sobre este tema, consulta la guía de inicio para varias cuentas de facturación de Google Workspace.
Crear derecho
Antes de empezar
Para continuar, debes configurar Customer
.
Para crear un derecho, siga estos pasos:
Con el nombre del cliente, llama a
listPurchasableSkus
para obtener una lista dePurchasableSkus
ListPurchasableSkusRequest { "customer": "accounts/123/customers/abc", "createEntitlementPurchase": { "product": "products/-" } } ListPurchasableSkusResponse { "purchasableSkus": [ { "sku": { "name": "products/product_id/skus/sku_id1", "product": { "name": "products/product_id", } } }, { "sku": { "name": "products/product_id/skus/sku_id2", "product": { "name": "products/product_id", }, } } ] }
Con el PurchasableSku seleccionado, usa el método
queryEligibleBillingAccounts
para encontrar un conjunto deBillingAccount
de Google Workspace que se pueda usar para pagar el derecho.- Si quieres pagar en una moneda específica, selecciona una cuenta de facturación con esa moneda.
QueryEligibleBillingAccountsRequest { "customer": "accounts/123/customers/abc", "skus": ["products/product_id/skus/sku_id1"] } QueryEligibleBillingAccountsResponse { "skuPurchaseGroups": [ { "skus": [ "products/product_id/skus/sku_id1" ], "billingAccountPurchaseInfos": [ { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id1", "displayName": "Google_Workspace_USD_US_1", "currencyCode": "USD", "regionCode": "US" } }, { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id2", "displayName": "Google_Workspace_CAD_CA_1", "currencyCode": "CAD", "regionCode": "CA" } } ] } ] }
Con los valores de PurchasableSku y BillingAccount seleccionados, usa el método
listPurchasableOffers
para encontrar el valor dePurchasableOffer
disponible.ListPurchasableOffersRequest { "customer": "accounts/123/customers/abc", "createEntitlementPurchase": { "sku": "products/product_id/skus/sku_id1", "billingAccount": "accounts/123/billingAccounts/billing_account_id2" } } ListPurchasableOffersResponse { "purchasableOffers": [ { "offer": { "name": "accounts/123/offers/offer_id1", }, "sku": { "name": "products/product_id/skus/sku_id1", }, "plan": { "paymentPlan": "FLEXIBLE", "paymentCycle": { "duration": 1, "periodType": "MONTH" } }, "priceReferenceId": "price_reference_id_123" } ], }
En este punto, deberías tener la BillingAccount que pagará el
Entitlement
y el PurchasableOffer. Empieza a crear el derecho con el métodocreate
.- Crea un objeto Entitlement y rellena los campos offer, billingAccount y cualquier otro parámetro obligatorio. Rellene el ID de referencia de precio en el derecho cuando esté presente en PurchasableOffer para asegurarse de que el nuevo derecho tenga el precio indicado anteriormente. Sin este ID de referencia de precio, no se garantiza que el descuento y el precio vigente devueltos por ListPurchasableOffersResponse sean los mismos en esta llamada CreateEntitlement. Si rellenas este ID de referencia de precio, se asegurará de que el precio coincida en este nuevo derecho.
CreateEntitlementRequest { "parent": "accounts/123/customers/abc", "entitlement": { "offer": "accounts/123/offers/offer_id1", "maxUnits": 100, "billingAccount": "accounts/123/billingAccounts/billing_account_id2", "priceReferenceId": "price_reference_id_123" } } CreateEntitlementResponse { "name": "operations/operation_id1" }
Cambiar el plan de pagos de los derechos de Google Workspace
Antes de empezar
Los derechos de Google Workspace con un pago gratuito o de prueba plan
no tienen una cuenta de facturación de Google Workspace. Para cambiar el plan de pagos de un derecho a un plan de pagos de pago, hay que seguir un par de pasos adicionales para seleccionar una cuenta de facturación de Google Workspace.
Para cambiar el plan de pagos de los derechos de Google Workspace, sigue estos pasos:
Los dos primeros pasos solo son obligatorios si el derecho tiene un plan de pago gratuito o de prueba.
Con la Oferta, utiliza el método
lookupOffer
para encontrar información sobreSku
en la Oferta.LookupOfferRequest { "entitlement": "accounts/123/customers/abc/entitlements/entitlement_id1" } LookupOffer respones { "name": "accounts/123/offers/offer_id1", "sku": { "name": "products/product_id/skus/sku_id1", } }
Con Customer y Sku, usa el método queryEligibleBillingAccounts para encontrar un conjunto de BillingAccount que se pueda usar para pagar este Entitlement. Si quieres pagar en una moneda específica, selecciona una cuenta de facturación con esa moneda.
QueryEligibleBillingAccountsRequest { "customer": "accounts/123/customers/abc", "skus": ["products/product_id/skus/sku_id1"] } QueryEligibleBillingAccountsResponse { "skuPurchaseGroups": [ { "skus": [ "products/product_id/skus/sku_id1" ], "billingAccountPurchaseInfos": [ { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id1", "displayName": "Google_Workspace_USD_US_1", "currencyCode": "USD", "regionCode": "US" } }, { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id2", "displayName": "Google_Workspace_CAD_CA_1", "currencyCode": "CAD", "regionCode": "CA" } } ] } ] } ```
Con Entitlement y BillingAccount, usa el método
listPurchasableOffers
para encontrar cualquier PurchasableOffer. No es necesario indicar BillingAccount si el derecho ya tiene un plan de pago. En ese caso, se usará el BillingAccount que ya exista. Para cambiar el plan de pagos, el campo purchase_option debe serchangeOfferPurchase
.ListPurchasableOffersRequest { "customer": "accounts/123/customers/abc", "changeOfferPurchase": { "entitlement": "accounts/123/customers/abc/entitlements/entitlement_id1", "billingAccount": "accounts/123/billingAccounts/billing_account_id2" } } ListPurchasableOffersResponse { "purchasableOffers": [ { "offer": { "name": "accounts/123/offers/offer_id1", }, "sku": { "name": "products/product_id/skus/sku_id1", }, "plan": { "paymentPlan": "FLEXIBLE", "paymentCycle": { "duration": 1, "periodType": "MONTH" } }, "priceReferenceId": "price_reference_id_123" } ], }
En este punto, deberías tener los objetos Entitlement, Offer y BillingAccount. Empieza a cambiar el plan de pagos con el método
changeOffer
. Rellena el ID de referencia de precio en el derecho cuando esté presente en PurchasableOffer para asegurarte de que el nuevo derecho tenga el precio indicado anteriormente. Sin este ID de referencia de precio, no se garantiza que el descuento y el precio efectivo devueltos por ListPurchasableOffersResponse sean los mismos en esta llamada ChangeOffer. Si rellena este ID de referencia de precio, se asegurará de que el precio coincida en este nuevo derecho.ChangeOfferRequest { "name": "accounts/abc/customers/123/entitlements/entitlement_id1", "offer": "accounts/abc/offers/offer_id1", "billing_account": "accounts/abc/billingAccounts/billing_account_id2", "parameters": [{ "name": "max_units", "value": { "int64Value": "100" } }], "priceReferenceId": "price_reference_id_123" } ChangeOfferResponse { "name": "operations/operation_id1" }
Cambiar a una edición superior o inferior de Google Workspace
Para cambiar a una edición superior o inferior de Google Workspace, sigue estos pasos:
Con el derecho, llama al método
listPurchasableSkus
para obtener una lista de PurchasableSkus que se puedan usar para cambiar a un plan superior o inferior.ListPurchasableSkusRequest { "customer": "accounts/123/customers/abc", "changeOfferPurchase": { "entitlement": "accounts/123/customers/abc/entitlements/entitlement_id1", "changeType": "UPGRADE" } } ListPurchasableSkusResponse { "purchasableSkus": [ { "sku": { "name": "products/product_id/skus/sku_id1", "product": { "name": "products/product_id", } } }, { "sku": { "name": "products/product_id/skus/sku_id2", "product": { "name": "products/product_id", }, } } ] }
Con PurchasableSku, usa el método
queryEligibleBillingAccounts
para buscar un conjunto de BillingAccounts que se puedan usar para pagar el derecho.- Si quieres pagar en una moneda específica, selecciona una cuenta de facturación con esa moneda.
QueryEligibleBillingAccountsRequest { "customer": "accounts/123/customers/abc", "skus": ["products/product_id/skus/sku_id1"] } QueryEligibleBillingAccountsResponse { "skuPurchaseGroups": [ { "skus": [ "products/product_id/skus/sku_id1" ], "billingAccountPurchaseInfos": [ { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id1", "displayName": "Google_Workspace_USD_US_1", "currencyCode": "USD", "regionCode": "US" } }, { "billingAccount": { "name": "accounts/123/billingAccounts/billing_account_id2", "displayName": "Google_Workspace_CAD_CA_1", "currencyCode": "CAD", "regionCode": "CA" } } ] } ] } ```
Con Entitlement y BillingAccount, usa el método
listPurchasableOffers
para encontrar cualquier PurchasableOffer.ListPurchasableOffersRequest { "customer": "accounts/123/customers/abc", "changeOfferPurchase": { "entitlement": "accounts/123/customers/abc/entitlements/entitlement_id1", "billingAccount": "accounts/123/billingAccounts/billing_account_id2" } } ListPurchasableOffersResponse { "purchasableOffers": [ { "offer": { "name": "accounts/123/offers/offer_id1", }, "sku": { "name": "products/product_id/skus/sku_id1", }, "plan": { "paymentPlan": "FLEXIBLE", "paymentCycle": { "duration": 1, "periodType": "MONTH" } }, "priceReferenceId": "price_reference_id_123" } ], } ```
En este punto, deberías tener los objetos Entitlement, PurchasableOffer y BillingAccount. Empieza a cambiar a una versión superior o inferior con el método
changeOffer
.- Crea un objeto Entitlement y rellena los campos name, offer, billingAccount y los parámetros obligatorios. Rellene el ID de referencia de precio en el derecho cuando esté presente en PurchasableOffer para asegurarse de que el nuevo derecho tenga el precio indicado anteriormente. Sin este ID de referencia de precio, no se garantiza que el descuento y el precio efectivo devueltos por ListPurchasableOffersResponse sean los mismos en esta llamada ChangeOffer. Si se rellena este ID de referencia de precio, se garantiza que el precio coincida con el de este nuevo derecho.
ChangeOfferRequest { "name": "accounts/abc/customers/123/entitlements/entitlement_id1", "offer": "accounts/abc/offers/offer_id1", "billing_account": "accounts/abc/billingAccounts/billing_account_id2", "parameters": [{ "name": "max_units", "value": { "int64Value": "100" } }], "priceReferenceId": "price_reference_id_123" } ChangeOfferResponse { "name": "operations/operation_id1" } ```
Transferir derechos
En esta sección se explica cómo transferir derechos de clientes de Google Workspace y Chrome a su anterior partner.
Para obtener ayuda sobre cómo transferir clientes en Partner Sales Console, consulta nuestras guías sobre cómo transferir clientes a una cuenta de partner o a una cuenta de Google.
Los clientes de Google Workspace solo pueden comprar derechos a un partner o a un partner y a Google.
Durante la transferencia, los derechos se cancelan automáticamente antes de que se vuelvan a crear con el nuevo partner. Si un cliente tiene derechos de planes con compromiso, estos iniciarán un nuevo periodo de compromiso después de la transferencia.
Antes de empezar
Para gestionar los derechos de un cliente, necesitas un token de transferencia generado por el cliente. Ponte en contacto con el cliente y facilítale tu identificador público de partner para que pueda generar un token de transferencia. Una vez que haya creado un token, el cliente deberá enviártelo para completar el proceso. Estos tokens caducan 14 días después de su creación. También necesitas el dominio o el ID de Cloud Identity del cliente.
Cuando el cliente crea su token de transferencia, selecciona los derechos que quiere transferir a su nuevo distribuidor. Debes transferir todos los derechos seleccionados durante el proceso.
Para transferir derechos, sigue estos pasos:
Si solo tienes el dominio del cliente, puedes usar la API Cloud Channel para devolver su ID de Cloud Identity. Llama a
checkCloudIdentityAccountsExist
con el dominio del cliente y, si el dominio existe, la API devolverá el ID de Cloud Identity del cliente.
Para iniciar la transferencia, usa el método
customers.import
para importar los datos del cliente.ImportCustomerRequest { "parent": "accounts/abc", "domain": "domain" }
Con el ID de Cloud Identity del cliente, llama a
listTransferableSkus
para obtener una lista de lostransferableSku
Comprueba eltransferEligibility
de cada objeto para asegurarte de que puedes comprar el SKU asociado.ListTransferableSkusRequest { "parent": "accounts/abc", "cloudIdentityId": "cloud_identity_id" } ListTransferableSkusResponse { "transferableSku": [ { "sku": { "name": "products/product_id/skus/voice_sku_id1", }, }, { "sku": { "name": "products/product_id/skus/google_workspace_sku_id2", }, }, { "sku": { "name": "products/product_id/skus/google_workspace_chrome_sku_id3", }, } ], }
Ahora que tienes una lista de TransferableSkus, debes determinar qué BillingAccount usar para pagar los derechos. Usa el método
queryEligibleBillingAccounts
para encontrar un conjunto de BillingAccount que se pueda usar en cada TransferableSku.- Ten en cuenta que algunos TransferableSkus deben compartir la misma cuenta de facturación de Google Workspace, por lo que
queryEligibleBillingAccounts
devuelve un grupo de SKUs que te indica qué TransferableSkus deben usar la misma BillingAccount. Si hay varias cuentas de facturación de Google Workspace para un SKU concreto, puedes elegir una de ellas y usarla para todos los SKUs transferibles del grupo.
QueryEligibleBillingAccountsRequest { "customer": "accounts/123/customers/abc", "skus": ["products/product_id/skus/voice_sku_id1","products/product_id/skus/google_workspace_sku_id2","google_workspace_chrome_sku_id3"] } QueryEligibleBillingAccountsResponse { "skuPurchaseGroups": [ { "skus": [ "products/product_id/skus/voice_sku_id1" ], "billingAccountPurchaseInfos": [ { "billingAccount": { "name": "accounts/123/billingAccounts/voice_billing_account_id1", "displayName": "Google_Workspace_Voice_USD_US_1", "currencyCode": "USD", "regionCode": "US" } } ] }, { "skus": [ "products/product_id/skus/google_workspace_sku_id2","google_workspace_chrome_sku_id3" ], "billingAccountPurchaseInfos": [ { "billingAccount": { "name": "accounts/123/billingAccounts/gw_billing_account_id1", "displayName": "Google_Workspace_USD_US_1", "currencyCode": "USD", "regionCode": "US" } }, { "billingAccount": { "name": "accounts/123/billingAccounts/gw_billing_account_id2", "displayName": "Google_Workspace_CAD_CA_1", "currencyCode": "CAD", "regionCode": "CA" } } ] } ] } ```
- Ten en cuenta que algunos TransferableSkus deben compartir la misma cuenta de facturación de Google Workspace, por lo que
Para cada par TransferableSku y BillingAccount, usa el método
listTransferableOffers
para encontrar losTransferableOffers
disponibles. En este punto, deberías tener la lista de tuplas del cliente que consta de TransferableSku, BillingAccounts y TransferableOffer.ListTransferableOffersRequest { "parent": "accounts/abc", "cloudIdentityId": "cloud_identity_id", "sku": "products/product_id/skus/voice_sku_id1", "billingAccount": "ccounts/123/billingAccounts/voice_billing_account_id1" } ListTransferableOffersResponse { "transferableOffers": [ { "offer": { "name": "accounts/123/offers/voice_offer_id1", }, "sku": { "name": "products/product_id/skus/voice_sku_id1", }, "plan": { "paymentPlan": "FLEXIBLE", "paymentCycle": { "duration": 1, "periodType": "MONTH" } }, "priceReferenceId": "price_reference_id_voice_offer_12" } ], }
Por cada tupla, crea un objeto Entitlement correspondiente. Cada objeto Entitlement necesita un objeto Offer, un objeto BillingAccount y los parámetros obligatorios. Rellena el ID de referencia de precio en el derecho cuando esté presente en PurchasableOffer para asegurarte de que el nuevo derecho tenga el precio indicado anteriormente. Si no se incluye este ID de referencia de precio, no se garantiza que el descuento y el precio efectivo devueltos por ListPurchasableOffersResponse sean los mismos en esta llamada TransferEntitlements. Si rellenas este ID de referencia de precio, se asegurará de que el precio coincida en este nuevo derecho. Para realizar la transferencia, llama al método
transferEntitlements
.TransferEntitlementsRequest { "parent": "accounts/abc/customers/123", "entitlements": [ { "offer": "accounts/123/offers/voice_offer_id1", "maxUnits": 100, "billingAccount": "accounts/123/billingAccounts/voice_billing_account_id1", "priceReferenceId": "price_reference_id_voice_offer_12" }, { "offer": "accounts/123/offers/gw_offer_id2", "maxUnits": 150, "billingAccount": "accounts/123/billingAccounts/gw_billing_account_id1" } { "offer": "accounts/123/offers/gw_chrome_offer_id3", "maxUnits": 200, "billingAccount": "accounts/123/billingAccounts/gw_billing_account_id1", "priceReferenceId": "price_reference_id_chrome_offer_34" } ] } TransferEntitlementsResponse { "name": "operations/operation_id1" }