Class: Google::Apis::MerchantapiAccountsV1beta::AccountService

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/merchantapi_accounts_v1beta/classes.rb,
lib/google/apis/merchantapi_accounts_v1beta/representations.rb,
lib/google/apis/merchantapi_accounts_v1beta/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AccountService

Returns a new instance of AccountService.



417
418
419
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 417

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#account_aggregationGoogle::Apis::MerchantapiAccountsV1beta::AccountAggregation

AccountAggregation payload. Corresponds to the JSON property accountAggregation



348
349
350
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 348

def 
  @account_aggregation
end

#account_managementGoogle::Apis::MerchantapiAccountsV1beta::AccountManagement

AccountManagement payload. Corresponds to the JSON property accountManagement



353
354
355
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 353

def 
  @account_management
end

#campaigns_managementGoogle::Apis::MerchantapiAccountsV1beta::CampaignsManagement

CampaignManagement payload. Corresponds to the JSON property campaignsManagement



358
359
360
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 358

def campaigns_management
  @campaigns_management
end

#comparison_shoppingGoogle::Apis::MerchantapiAccountsV1beta::ComparisonShopping

ComparisonShopping payload. Corresponds to the JSON property comparisonShopping



363
364
365
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 363

def comparison_shopping
  @comparison_shopping
end

#external_account_idString

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. Corresponds to the JSON property externalAccountId

Returns:

  • (String)


374
375
376
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 374

def 
  @external_account_id
end

#handshakeGoogle::Apis::MerchantapiAccountsV1beta::Handshake

The current status of establishing of the service. (for example, pending approval, approved, established). Corresponds to the JSON property handshake



380
381
382
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 380

def handshake
  @handshake
end

#local_listing_managementGoogle::Apis::MerchantapiAccountsV1beta::LocalListingManagement

LocalListingManagement payload. Corresponds to the JSON property localListingManagement



385
386
387
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 385

def local_listing_management
  @local_listing_management
end

#mutabilityString

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. Corresponds to the JSON property mutability

Returns:

  • (String)


392
393
394
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 392

def mutability
  @mutability
end

#nameString

Identifier. The resource name of the account service. Format: accounts/ account/services/service` Corresponds to the JSON propertyname`

Returns:

  • (String)


398
399
400
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 398

def name
  @name
end

#products_managementGoogle::Apis::MerchantapiAccountsV1beta::ProductsManagement

ProductsManagement payload. Corresponds to the JSON property productsManagement



403
404
405
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 403

def products_management
  @products_management
end

#providerString

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). Corresponds to the JSON property provider

Returns:

  • (String)


410
411
412
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 410

def provider
  @provider
end

#provider_display_nameString

Output only. The human-readable display name of the provider account. Corresponds to the JSON property providerDisplayName

Returns:

  • (String)


415
416
417
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 415

def provider_display_name
  @provider_display_name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



422
423
424
425
426
427
428
429
430
431
432
433
434
435
# File 'lib/google/apis/merchantapi_accounts_v1beta/classes.rb', line 422

def update!(**args)
  @account_aggregation = args[:account_aggregation] if args.key?(:account_aggregation)
  @account_management = args[:account_management] if args.key?(:account_management)
  @campaigns_management = args[:campaigns_management] if args.key?(:campaigns_management)
  @comparison_shopping = args[:comparison_shopping] if args.key?(:comparison_shopping)
  @external_account_id = args[:external_account_id] if args.key?(:external_account_id)
  @handshake = args[:handshake] if args.key?(:handshake)
  @local_listing_management = args[:local_listing_management] if args.key?(:local_listing_management)
  @mutability = args[:mutability] if args.key?(:mutability)
  @name = args[:name] if args.key?(:name)
  @products_management = args[:products_management] if args.key?(:products_management)
  @provider = args[:provider] if args.key?(:provider)
  @provider_display_name = args[:provider_display_name] if args.key?(:provider_display_name)
end