Merchant API 引入了专用 Homepage 资源。此资源提供了一些新方法来管理您的首页声明,这些方法提供的功能超出了经典版 Content API for Shopping 的范围。
要使用网店功能,您需要完成两个步骤:先验证所有权,然后为您的账号声明网站。如需完成最后一步,请使用 accounts.homepage.claim。
主要差异
与 Content API for Shopping 相比,Merchant API 在首页方面做出了多项更改:
- 专用资源:Merchant API 提供了一个单独的 Homepage资源 (accounts.homepage),用于执行所有与首页相关的操作。(在 Content API for Shopping 中,您可以使用accounts.claimwebsite执行声明操作,首页网址 (website_url) 是Account资源的一部分,而声明状态 (website_claimed) 是AccountStatus资源的一部分。)
- 精细方法:Merchant API 提供以下特定方法:
- 检索首页详细信息:accounts.homepage.getHomepage
- 更新首页 URI:accounts.homepage.updateHomepage
- 声明首页:accounts.homepage.claim
- 声明主页:accounts.homepage.unclaimContent API for Shopping 使用accounts.claimwebsite进行声明操作,accounts.update设置网址(通过设置空网址来有效声明),以及accounts.get/accountstatuses.get分别检索网址和声明状态。
 
- 检索首页详细信息:
- 集中式信息:Merchant API Homepage资源直接包含uri(首页网址)和claimed状态。对Homepage资源进行操作的所有方法都会返回此资源,从而提供有关当前状态的即时反馈。在 Content API for Shopping 中,accounts.claimwebsite不会返回更新后的状态,需要单独调用。
- 明确声明:在 Content API for Shopping 中,声明通常通过将 Account.website_url更新为空字符串来实现。 Merchant API 提供了一个专用方法homepage.unclaim。
- 覆盖版权主张:在版权主张流程中,这两个 API 都支持 overwrite参数,以便在可以验证所有权的情况下从其他账号接管版权主张。
请求
Merchant API 使用不同的 RESTful 端点来管理首页的不同方面。
| 请求说明 | Content API for Shopping | Merchant API | 
|---|---|---|
| 获取首页详细信息 | accounts.get(读作Account.website_url),accountstatuses.get(读作AccountStatus.website_claimed) | GET /accounts/v1/accounts/{account}/homepage | 
| 更新首页 URI | accounts.update(设置Account.website_url) | PATCH /accounts/v1/accounts/{account}/homepage | 
| 声明首页所有权或重新验证首页 | POST /content/v2.1/{merchantId}/accounts/{accountId}/claimwebsite(针对使用accounts.update设置的Account.website_url采取了行动) | POST /accounts/v1/accounts/{account}/homepage:claim | 
| 声明首页 | accounts.update(将Account.website_url设置为空字符串) | POST /accounts/v1/accounts/{account}/homepage:unclaim | 
标识符
Merchant API 中的资源标识已得到简化。
| 标识符说明 | Content API for Shopping | Merchant API | 
|---|---|---|
| 用于资源访问的账号标识符 | 路径中的 merchantId(高级账号)和accountId(子账号) | account(name字段的一部分,例如accounts/{account_id}/homepage) | 
| 首页资源标识符 | 不适用(隐式适用于 Account资源) | name:accounts/{account_id}/homepage(用于标识Homepage子资源) | 
方法
Content API for Shopping 中的 accounts.claimwebsite 方法侧重于声明操作,现在已成为 Merchant API 的 Homepage 资源中更广泛的功能集的一部分。
| Content API for Shopping 方法 | Merchant API 方法 | 适用范围和备注 | 
|---|---|---|
| accounts.claimwebsite | accounts.homepage.claim | 直接发起或重新验证网站声明。对之前使用 homepage.update设置的uri进行操作。包含overwrite参数。返回Homepage资源及其当前uri和claimed状态。 | 
| accounts.get(读作Account.website_url),accountstatuses.get(读作AccountStatus.website_claimed) | accounts.homepage.getHomepage | 新增了专用方法,可通过一次调用检索当前首页 uri及其claimed状态。 | 
| accounts.update(用于设置Account.website_url) | accounts.homepage.updateHomepage | 用于设置或更改首页的新专用方法 uri。 | 
| accounts.update(将Account.website_url设置为空字符串,作为取消声明的解决方法) | accounts.homepage.unclaim | 新增了用于明确取消声明主页的专用方法。 | 
详细的字段更改
首页信息的结构和访问方式发生了重大变化,现在更倾向于使用 Merchant API 中的显式 Homepage 资源。
| Content API for Shopping | Merchant API | 说明 | 
|---|---|---|
| merchantId(accounts.claimwebsite的路径参数) | name(Homepage方法的路径参数,格式:accounts/{account}/homepage) | Merchant API 中 name字符串的account部分对应于 Content API for Shopping 中的accountId。 | 
| accountId(accounts.claimwebsite的路径参数) | name(Homepage方法的路径参数,格式:accounts/{account}/homepage) | 正在管理首页的特定账号的标识符。 | 
| overwrite(ContentAccountsClaimwebsiteRequest正文和AccountsCustomBatchRequestEntry中的布尔值) | ClaimHomepageRequest.overwrite(homepage.claim请求正文中的布尔值) | 可选。如果 true,则尝试声明对相应网站的所有权,如果请求账号可以验证所有权,则可能会移除另一账号的现有所有权声明。 | 
| Account.website_url(Account资源中的字段,使用accounts.update设置,使用accounts.get读取) | Homepage.uri(Homepage资源中的字段) | 商店首页的 URI (网址)。在 Merchant API 中,这是 Homepage资源中的一个显式字段。该值使用accounts.homepage.updateHomepage设置,并由所有Homepage方法返回。 | 
| AccountStatus.website_claimed(AccountStatus资源中的字段,使用accountstatuses.get读取) | Homepage.claimed(Homepage资源中的 output_only 布尔值字段) | 指明 uri是否已声明并经过验证。此状态直接显示在所有相关联的 Merchant API 方法返回的Homepage资源中。 | 
| 不适用 | UpdateHomepageRequest.update_maskaccounts.homepage.updateHomepage请求正文参数) | homepage.update的可选字段掩码,用于指定要返回哪些字段(例如,Homepage资源的uri正在更新。 |