本页介绍了如何以编程方式创建和更新数据源,以便您插入商品。借助自动化数据源,您可以更轻松地向 Google 发送商品数据。自动化数据源可确保您网站上与相关商品有关的最新信息能够及时传达给 Google。
您只能使用 Content API for Shopping 创建主要数据源。借助 Merchant Data Sources API,您可以创建以下类型的数据源:
您只能使用文件输入来管理 Content API for Shopping 中的数据源。 借助 Merchant API,您可以同时使用文件和 API 输入来管理数据源。
使用 Merchant Data sources API,您可以执行以下操作:
- 使用特定的
feedLabel
和contentLanguage
创建新的主数据源。 - 创建一个未设置
feedLabel
和contentLanguage
字段的数据源。使用此类数据源,您可以为商品定位多个国家/地区,因为您可以将具有不同feedLabel
和contentLanguage
组合的商品插入到单个数据源中。 - 创建补充数据源以关联到现有的主要数据源。
- 为文件数据源设置时间表。
- 注册您的账号,以便自动管理数据源。
- 管理 API 数据源。
- 使用主要商品数据源管理数据源的默认规则。
- 使用其他类型的数据源,例如促销活动。
您无法使用 Merchant API 在同时包含实体店商品和在线商品的数据源中插入商品。如需详细了解数据源渠道,请参阅渠道。
前提条件
- 您的账号必须已迁移到单语言区域 Feed。
如需验证账号是否已迁移到数据目标拆分,请使用数据源列表或 get 方法。如果您不符合条件,则会收到以下例外情况消息,并且应与支持团队联系。
This account is in the data sources migration process and can't be used with this API yet. Contact support for more info on when this account will be able to use the data sources endpoint.
创建新的数据源
主要数据源是 Merchant Center 商品目录的主要数据源。您只能使用主要数据源添加或移除商品。如果您添加到主要数据源中的每件商品都符合 Merchant Center 的数据和资格要求,则无需再创建更多数据源。
如需创建具有特定 feedLabel
和 contentLanguage
的新主要数据源,请在类型专用配置中设置 feedLabel
和 contentLanguage
字段。如需详细了解这些字段,请参阅 PrimaryProductDataSource
。
以下示例请求演示了如何创建主要商品数据源:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{ACCOUNT_ID}/dataSources
{
"displayName": "{DISPLAY_NAME}",
"primaryProductDataSource": {
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"countries": [
"{COUNTRY}"
],
"channel": "ONLINE_PRODUCTS"
}
}
替换以下内容:
- {ACCOUNT_ID}:您的 Merchant Center 账号的唯一标识符。
- {DISPLAY_NAME}:数据源的显示名称。
- {CONTENT_LANGUAGE}:数据源中商品的双字母 ISO 639-1 语言代码。
- {FEED_LABEL}:数据源的 Feed 标签。
- {COUNTRY}:将使用此数据源上传的商品的目标国家/地区的 CLDR 地区代码。
请求成功运行后,您会看到以下响应:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATA_SOURCE_ID}",
"dataSourceId": "{DATA_SOURCE_ID}",
"displayName": "{DISPLAY_NAME}",
"primaryProductDataSource": {
"channel": "ONLINE_PRODUCTS",
"feedLabel": "{FEED_LABEL}",
"contentLanguage": "{CONTENT_LANGUAGE}",
"countries": [
"{COUNTRY}"
],
"defaultRule": {
"takeFromDataSources": [
{
"self": true
}
]
}
},
"input": "API"
}
如需详细了解如何创建数据源,请参阅 accounts.dataSources.create 方法。
如需查看新创建的数据源,请使用 accounts.dataSources.get 或 accounts.dataSources.list 方法。
创建新的主要数据源,以便定位到多个国家/地区
如需创建可帮助您定位到多个国家/地区的新主要 Feed,请使用 PrimaryProductDataSource
配置数据源,并勿设置 feedLabel
和 contentLanguage
字段。
使用 Content API for Shopping 时,系统只会为您创建一个 API 数据源。使用 Merchant Data Sources API,您可以拥有多个 API 数据源,其中一些 API 数据源可以不设置 feedLabel
和 contentLanguage
字段。
只有使用 API 输入的数据源可以不设置 feedLabel
和 contentLanguage
字段。文件输入不支持此类数据源。
创建补充数据源并将其关联到主要数据源
补充数据源仅用于更新一个或多个主要数据源中已存在的商品数据。您可以提供多个补充数据源,且每个数据源可以补充任意个主要数据源中的数据。
您可以使用补充数据源对商品数据进行部分更新,方法是在调用 accounts.productInputs.insert
和 accounts.productInputs.delete
方法时将数据源的唯一标识符添加为查询参数。您只能使用补充数据源更新现有商品。
如需创建补充数据源,请使用 SupplementalProductDataSource
配置数据源,然后通过更新主要数据源的 defaultRule
字段将其关联起来。
补充文件数据源必须设置 feedLabel
和 contentLanguage
字段。补充 API 数据源的 feedLabel
和 contentLanguage
字段始终必须处于未设置状态。
为文件数据源设置时间表
如需为文件 Feed 设置时间表,请使用 FileInput
字段将数据源配置为文件数据源,然后使用 FileInput.FetchSettings
字段设置 fetchsettings
。
删除数据源
如需从您的账号中删除现有数据源,请使用 accounts.dataSources.delete
方法。
提取数据源
如需提取在数据源中配置的文件,请使用 accounts.dataSources.fetch
方法。此方法会立即对您账号中的数据源执行数据提取。此方法仅适用于设置了文件输入的数据源。
获取数据源
如需检索账号的数据源配置,请使用 accounts.dataSources.get
方法。
列出数据源
如需列出您账号的数据源配置,请使用 accounts.dataSources.list
方法。
补丁数据源
如需更新现有数据源的配置,请使用 accounts.dataSources.patch
方法。
关联数据源
借助主要商品数据源,您可以管理数据源的默认规则。默认规则是指应用于数据源中所有属性的规则。您可以在创建数据源时设置默认规则,也可以通过“默认规则”字段更新现有数据源。
如需详细了解如何设置规则,请参阅为您的商品数据源设置规则。
以下示例配置可确保先从具有唯一标识符 1001
的数据源中获取所有属性。然后,系统会从主要数据源添加缺失的属性。最后,如果任何其他数据源中尚未提供剩余属性,系统会从具有唯一标识符 1002
的补充数据源中获取这些属性。如果多个数据源中提供了相同的属性,系统会选择列表中较高的值。
defaultRule {
takeFromDataSources: [
'1001', // Supplemental product data source
'self', // Self reference to the primary data source
'1002' // Supplemental product data source
]
}
自动管理 Feed
如需为您的账号注册自动管理数据源的功能,您必须执行以下操作:
- 请调用
accounts.autofeedSettings.getAutofeedSettings
方法,检查您的账号是否符合注册条件。 - 请确保您的账号不是购物平台账号。
您的账号符合注册条件后,您可以使用 accounts.autofeedSettings.updateAutofeedSettings
方法启用自动管理数据源的功能。启用自动管理数据源功能后,Google 会自动从您的网店添加商品,并确保这些商品在 Google 平台上始终保持最新状态。
检索文件上传状态
如需获取使用文件、提取或电子表格的数据源的状态,您可以调用 accounts.dataSources.fileUploads
服务的 GET
方法。如需在数据源处理完成后异步计算数据源上次检索的结果,请使用名称标识符 latest
。
GET https://merchantapi.googleapis.com/accounts/v1beta/{ACCOUNT_ID}/datasources/{DATASOURCE_ID}/fileUploads/latest
文件上传状态可能包含商品的详细视图,包括任何潜在问题。
请注意,如果文件从未上传,则可能不存在文件上传状态。 如果您在文件上传后立即请求,文件上传状态可能会显示为“正在处理”。