- Resource: AccountService
- ProductsManagement
- CampaignsManagement
- AccountManagement
- AccountAggregation
- Handshake
- ApprovalState
- Actor
- Mutability
- Methods
Resource: AccountService
The AccountService
message represents a specific service that a provider account offers to a merchant account.
AccountService
defines the permissions and capabilities granted to the provider, allowing for operations such as product management or campaign management.
The lifecycle of an AccountService
involves a proposal phase, where one party suggests the service, and an approval phase, where the other party accepts or rejects it. This handshake mechanism ensures mutual consent before any access is granted. This mechanism safeguards both parties by ensuring that access rights are granted appropriately and that both the merchant and provider are aware of the services enabled. In scenarios where a user is an admin of both accounts, the approval can happen automatically.
The mutability of a service is also managed through AccountService
. Some services might be immutable, for example, if they were established through other systems or APIs, and you cannot alter them through this API.
JSON representation |
---|
{ "name": string, "providerDisplayName": string, "handshake": { object ( |
Fields | |
---|---|
name |
Identifier. The resource name of the account service. |
providerDisplayName |
Output only. The human-readable display name of the provider account. |
handshake |
Output only. Information about the state of the service in terms of establishing it (e.g. is it pending approval or approved). |
mutability |
Output only. Whether the service is mutable (e.g. through Approve / Reject RPCs). A service that was created through another system or API might be immutable. |
externalAccountId |
Immutable. An optional, immutable identifier that Google uses to refer to this account when communicating with the provider. This should be the unique account ID within the provider's system (for example, your shop ID in Shopify). If you have multiple accounts with the same provider - for instance, different accounts for various regions — the |
Union field service_type . The payload specified has to correspond to the service_type . service_type can be only one of the following: |
|
productsManagement |
Service type for managing products. This allows the provider to handle product data on behalf of the merchant, including reading and writing product listings. It's commonly used when the provider offers inventory management or catalog synchronization services to keep the merchant's product information up-to-date across platforms. |
campaignsManagement |
Service type for managing advertising campaigns. Grants the provider access to create and manage the merchant's ad campaigns, including setting up campaigns, adjusting bids, and optimizing performance. |
accountManagement |
Service type for account management. Enables the provider to perform administrative actions on the merchant's account, such as configuring account settings, managing users, or updating business information. |
accountAggregation |
Service type for account aggregation. This enables the provider, which is a Multi-Client Account (MCA), to manage multiple sub-accounts (client accounts). Through this service, the MCA provider can perform administrative and operational tasks across all linked sub-accounts. This is useful for agencies, aggregators, or large retailers that need centralized control over many merchant accounts. |
provider |
Output only. The provider of the service. Either the reference to an account such as |
ProductsManagement
This type has no fields.
ProductsManagement
payload.
CampaignsManagement
This type has no fields.
CampaignManagement
payload.
AccountManagement
This type has no fields.
AccountManagement
payload.
AccountAggregation
This type has no fields.
AccountAggregation
payload.
Handshake
The current status of establishing of the service. (for example, pending approval or approved).
JSON representation |
---|
{ "approvalState": enum ( |
Fields | |
---|---|
approvalState |
Output only. The approval state of this handshake. |
actor |
Output only. The most recent account to modify the account service's |
ApprovalState
The approal state of a handshake.
Enums | |
---|---|
APPROVAL_STATE_UNSPECIFIED |
Unspecified approval status. |
PENDING |
The service was proposed and is waiting to be confirmed. |
ESTABLISHED |
Both parties have confirmed the service. |
REJECTED |
The service proposal was rejected. |
Actor
The various actors that can be involved in a handshake.
Enums | |
---|---|
ACTOR_UNSPECIFIED |
Unspecified actor. |
ACCOUNT |
The last change was done by the account who has this service. |
OTHER_PARTY |
The last change was done by the other party who this service points to. |
Mutability
The list of mutability option settings a service can have.
Enums | |
---|---|
MUTABILITY_UNSPECIFIED |
Unused default value |
MUTABLE |
The service can be mutated without restrictions. |
IMMUTABLE |
The service is read-only and must not be mutated. |
Methods |
|
---|---|
|
Approve an account service proposal. |
|
Retrieve an account service. |
|
List account services for the specified accounts. |
|
Propose an account service. |
|
Reject an account service (both proposed and approve services can be rejected). |