Show / Hide Table of Contents

Class AccountService

The AccountService message represents a specific service that a provider account offers to a Merchant Center 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 business 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.

Inheritance
object
AccountService
Implements
IMessage<AccountService>
IEquatable<AccountService>
IDeepCloneable<AccountService>
IBufferMessage
IMessage
Inherited Members
object.GetHashCode()
object.GetType()
object.ToString()
Namespace: Google.Shopping.Merchant.Accounts.V1
Assembly: Google.Shopping.Merchant.Accounts.V1.dll
Syntax
public sealed class AccountService : IMessage<AccountService>, IEquatable<AccountService>, IDeepCloneable<AccountService>, IBufferMessage, IMessage

Constructors

AccountService()

Declaration
public AccountService()

AccountService(AccountService)

Declaration
public AccountService(AccountService other)
Parameters
Type Name Description
AccountService other

Properties

AccountAggregation

Service type for account aggregation. This enables the provider, which is an advanced account, to manage multiple sub-accounts (client accounts). Through this service, the advanced account 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 Center accounts.

Declaration
public AccountAggregation AccountAggregation { get; set; }
Property Value
Type Description
AccountAggregation

AccountManagement

Service type for account management. Enables the provider to perform administrative actions on the business's account, such as configuring account settings, managing users, or updating business information.

Declaration
public AccountManagement AccountManagement { get; set; }
Property Value
Type Description
AccountManagement

AccountServiceName

AccountServiceName-typed view over the Name resource name property.

Declaration
public AccountServiceName AccountServiceName { get; set; }
Property Value
Type Description
AccountServiceName

CampaignsManagement

Service type for managing advertising campaigns. Grants the provider access to create and manage the business's ad campaigns, including setting up campaigns, adjusting bids, and optimizing performance.

Declaration
public CampaignsManagement CampaignsManagement { get; set; }
Property Value
Type Description
CampaignsManagement

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 external_account_id differentiates between them, ensuring accurate linking and integration between Google and the provider.

Declaration
public string ExternalAccountId { get; set; }
Property Value
Type Description
string

Handshake

Output only. Information about the state of the service in terms of establishing it (e.g. is it pending approval or approved).

Declaration
public Handshake Handshake { get; set; }
Property Value
Type Description
Handshake

HasProvider

Gets whether the "provider" field is set

Declaration
public bool HasProvider { get; }
Property Value
Type Description
bool

LocalListingManagement

Service type for local listings management. The business group associated with the external account id will be used to provide local inventory to this Merchant Center account.

Declaration
public LocalListingManagement LocalListingManagement { get; set; }
Property Value
Type Description
LocalListingManagement

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.

Declaration
public AccountService.Types.Mutability Mutability { get; set; }
Property Value
Type Description
AccountService.Types.Mutability

Name

Identifier. The resource name of the account service. Format: accounts/{account}/services/{service}

Declaration
public string Name { get; set; }
Property Value
Type Description
string

ProductsManagement

Service type for managing products. This allows the provider to handle product data on behalf of the business, including reading and writing product listings. It's commonly used when the provider offers inventory management or catalog synchronization services to keep the business's product information up-to-date across platforms.

Declaration
public ProductsManagement ProductsManagement { get; set; }
Property Value
Type Description
ProductsManagement

Provider

Output only. The provider of the service. Either the reference to an account such as providers/123 or a well-known service provider (one of providers/GOOGLE_ADS or providers/GOOGLE_BUSINESS_PROFILE).

Declaration
public string Provider { get; set; }
Property Value
Type Description
string

ProviderDisplayName

Output only. The human-readable display name of the provider account.

Declaration
public string ProviderDisplayName { get; set; }
Property Value
Type Description
string

ServiceTypeCase

Declaration
public AccountService.ServiceTypeOneofCase ServiceTypeCase { get; }
Property Value
Type Description
AccountService.ServiceTypeOneofCase
In this article
Back to top Generated by DocFX