Migrate account management from the Content API for Shopping

This document explains how you can migrate from Content API v2.1 to Merchant API.

Overview of changes from Content API v2.1 to Merchant API

Merchant API introduces significant improvements over Content API v2.1, aiming to enhance usability, consistency, and flexibility for developers and businesses.

Granular resource structure

Resources in Merchant API represent single concepts, such as account, businessDetails, user, homepage, and program. They are organized hierarchically to reflect their relationships. For example, an account is the parent resource for a user.

Unified account services

All account services (for example, account aggregation for MCAs and their sub-accounts or between third-party service providers and accounts) are managed through a unified accountService resource. Service providers can manage their relationships using the accountRelationship resource.

Simplified URL structure

URLs now use a single account ID (for example, merchantapi.googleapis.com/accounts/v1beta/accounts/{accountId}) instead of multiple IDs. URL paths mirror the granular resource structure.

Other improvements

  • Enhanced program and user management: Programs like Shopping Ads and Free Listings are consolidated under a single program resource. The user resource includes comprehensive management capabilities with granular access rights.
  • Structured business information and business identity: There are dedicated resources for businessInfo and businessIdentity. They include compliance support with fields for region-specific data. For example, Korean business registration number.
  • Streamlined homepage claiming: A dedicated homepage resource manages the store's homepage URL. Methods like claim and unclaim handle website claiming directly through the API.
  • Compliance with Google API guidelines: Merchant API aims to align with Google's API improvement proposals.

Migration of account management

You can use the accounts resource to create and manage your merchant account. For more information, see Overview of Merchant Accounts API.

This page describes how you can migrate account management from Content API to Merchant API.

Requests

Use the following request URL format for the Merchant Accounts API:

https://merchantapi.googleapis.com/accounts/v1beta/{ACCOUNT_ID}/accounts

Here's a sample comparison of the Content API for Shopping to the Merchant Accounts API for account creation and management requests:

  Content API for Shopping Merchant Accounts API
URL https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/accounts/{accountId}/ https://merchantapi.googleapis.com/accounts/v1beta/{name=accounts/*}
Identifiers merchantId,accountId ``name

Resources

The account data is passed using the Account resource in Content API for Shopping. Merchant Accounts API provides multiple resources to pass accounts data. These resources include Account, User, BusinessInfo, and BusinessIdentity resources.

The following table provides a comparison between the Account resource in Content API for Shopping and the Account resource in Merchant Accounts API.

Content API for Shopping Merchant Accounts API
id name
name accountName
kind Not available
websiteUrl uri field in the Homepage resource
adultContent adultContent
sellerId accountIdAlias field in the AccountRelationship resource
users In User resource
youtubeChannelLinks Not available yet
googleMyBusinessLink Not available yet
businessInformation In businessInfo resource
businessIdentity In businessIdentity resource
automaticImprovements Not available yet
adsLinks campaignsManagement field in the AccountService resource
cssId Available only in the CSS API
labelIds Available only in the CSS API
accountManagement accountManagement field in the AccountService resource
automaticLabelIds Available only in the CSS API
conversionSettings Not available yet

The following table provides a comparison between the AccountUser resource in Content API for Shopping and the User resource in Merchant Accounts API.

Content API for Shopping Merchant Accounts API
emailAddress email is part of the name (accounts/{account}/users/{email}).
admin user#accessRights.ADMIN
orderManager Not available
paymentsManager Not available
paymentsAnalyst Not available
reportingManager user#accessRights.PERFORMANCE_REPORTING

The following table provides a comparison between the AccountBusinessInformation resource in Content API for Shopping and its equivalent resource businessInfo in Merchant Accounts API.

Content API for Shopping Merchant Accounts API
address address
phoneNumber phone
phoneVerificationStatus phoneVerificationState
customerService customerService
koreanBusinessRegistrationNumber koreanBusinessRegistrationNumber

The following table provides a comparison between the AccountBusinessIdentity resource in Content API for Shopping and businessIdentity resource in Merchant Accounts API.

Content API for Shopping Merchant Accounts API
blackOwned blackOwned
womenOwned womenOwned
veteranOwned veteranOwned
latinoOwned latinoOwned
smallBusiness smallBusiness
includeForPromotions promotionsConsent
- true signifies PROMOTION_CONSENT_GIVEN
- false signifies PROMOTION_CONSENT_DENIED

The AccountIdentityType resource in the Content API is represented by the IdentityAttribute type and its field identityDeclaration in MerchantAPI.

Content API for Shopping Merchant Accounts API
self_identified identityDeclaration
- true signifies SELF_IDENTIFIES_AS
- false signifies DOES_NOT_SELF_IDENTIFY_AS

Methods

The following methods have been introduced in the Merchant Accounts API:

Content API for Shopping Merchant Accounts API
accounts.authinfo GET https://merchantapi.googleapis.com/accounts/v1beta/accounts with no filter
accounts.claimwebsite POST https://merchantapi.googleapis.com/accounts/v1beta/{parent=accounts/*}/homepage:claim For more information, see Method: accounts.v1beta.accounts.homepage.claim
accounts.custombatch Not available. Custom batch is not supported in Merchant API.
accounts.delete DELETE https://merchantapi.googleapis.com/accounts/v1beta/{name=accounts/*}
accounts.get GET https://merchantapi.googleapis.com/accounts/v1beta/{name=accounts/*}`
accounts.insert POST https://merchantapi.googleapis.com/accounts/v1beta/accounts:createAndConfigure For more information, see Create and configure a merchant account
accounts.link AccountService resource
accounts.list GET https://merchantapi.googleapis.com/accounts/v1beta/{parent=accounts/*}:listSubaccounts
accounts.listlinks GET https://merchantapi.googleapis.com/accounts/v1beta/{parent=accounts/*}/services
accounts.requestphoneverification Not supported.
accounts.update Maps to an update request for the resource where the required field or set of fields are defined.
accounts.updatelabels Available only in the CSS API
accounts.verifyphonenumber Not supported.