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. Theuser
resource includes comprehensive management capabilities with granular access rights. - Structured business information and business identity: There are dedicated
resources for
businessInfo
andbusinessIdentity
. 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 likeclaim
andunclaim
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:
POST https://merchantapi.googleapis.com/accounts/v1beta/{accountId}/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/accounts/ accountId |
Identifiers | merchantId/accounts/ accountId |
accounts/ accountId |
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](/merchant/api/reference/rest/v1/accounts.v1beta.accounts.users) resource |
youtubeChannelLinks |
Not available yet |
googleMyBusinessLink |
Not available yet |
businessInformation |
In [businessInfo](/merchant/api/reference/rest/v1/BusinessInfo) resource |
businessIdentity |
In [businessIdentity](/merchant/api/reference/rest/v1/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 |
---|---|
businessInformation |
businessInfo |
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/accounts/ accountId/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/accounts/ accountId |
accounts.get |
GET https://merchantapi.googleapis.com/accounts/v1beta/ accountId` |
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/ accountId:listSubaccounts |
accounts.listlinks |
GET https://merchantapi.googleapis.com/accounts/v1beta/ accountId/services |
accounts.update |
Maps to an update request for the resource where the required field or set of fields are defined. |