本文档介绍了使用 CSS API 的一些最佳实践。本页面提供的建议并非使用此 API 的强制性要求,但可能有助于阐明某些预期用途。
设置环境
如需设置开发环境,请按照快速入门文档中的步骤操作。
- 在 Google Cloud 控制台中生成用户和权限 JSON 文件
- 在 Google Cloud 控制台中启用 CSS API
- 将具有管理员权限的用户添加到您的 CSS 账号(组或网域)
客户端库现已包含在大多数编程语言的标准代码库中。您可以在我们的客户端库页面上找到这些库的列表。
适合新手的良好方法
我们建议您使用以下方法进行测试:
ListChildAccounts
ListChildAccounts 是一个只读调用,用于列出您的所有 CSS 网域(如果针对 CSS 组进行调用)或商家(如果针对 CSS 网域进行调用)。因此,这是一种很好的方法,可用于测试所有设置是否正确。
插入/列出/更新/删除商品
确认 API 本身可以正常运行后,请尝试添加商品。请务必使用您能记住的 raw_provided_id
。
- 使用 InsertCssProductInput 插入测试商品。如果您需要有关要发送哪些属性的帮助,我们提供了示例代码。
- 使用 ListCssProducts 列出您的所有商品。商品在插入后会有一个小小的处理延迟时间,因此如果您没有看到该商品,请在几秒钟后重试。
- 使用
cssproductinput.name
通过 UpdateCssProductInput 更新单个商品。您只需发送需要更新的属性。请参阅此处的示例代码。 - 使用 DeleteCssProductInput 删除测试商品。您需要使用
raw_provided_id
。
使用 Async 提高性能
CSS API 专为并行调用而设计。您会发现,单个操作的性能可能会很慢,但如果并行多次调用同一操作,速度会快得多。如需使用此功能,最好的方法是使用编程语言的异步功能。
以下是一些编程语言的示例:
- 对于 Java,请使用 insertCssProductInputCallable().futureCall()
- 对于 Python,请使用 CssProductInputsServiceAsyncClient
- 对于 C#,请使用 InsertCssProductInputAsync
查找并使用编程语言的 Async 功能,以同时插入多件商品。您无需担心我们的系统会过载,因为我们有配额限制。
如需了解详情,请参阅我们的效果页面。
更新商品
商品上传后,除非更新、删除或过期,否则会一直保留在我们的系统中。
- 您可以使用最初使用的
raw_provided_id
再次发送InsertCssProductInput
请求,以更新整个商品。目前,即使只有部分属性(可能仅限价格/库存状况)发生了变化,您也需要发送完整的商品数据。 - 您可以使用 PATCH 方法
UpdateCssProductInput
更新商品的部分内容,指定商品名称以及包含要为商品更新的数据的 JSON 正文。与InsertCssProductInput
不同,UpdateCssProductInput
只要求您指定要更改的字段,而不需要提供所有适用的字段。 - 您可以使用相同的
raw_provided_id
调用DeleteCssProductInput
来删除商品。 - 商品会在最近一次更新后大约一个月自动过期。
连续操作模式
连续操作模式可能如下所示:
- 将您自己的内部 ID 用作
raw_provided_id
。 - 定期(例如每周)重新上传所有商品。这将确保有效商品不会过期。
- 收到商家发来的更改数据后,请立即更新各个商品。
- 如果您无法立即对更改做出回应,请经常(可能每小时)查找所有更改后的商品,并仅重新上传这些商品。
- 对于不再有货的商品,您可以使用删除调用,也可以将可用商品数量设置为 0。
- 请勿频繁向我们发送未更改的商品。这些调用将计入您的 API 配额。每周刷新一次就足够了。
选择主推优惠
主推优惠不一定是您网站上最热门的优惠或最便宜的优惠,但必须以醒目的方式呈现。如果您的主推优惠价格快速变化,您可以使用此功能:您可以选择另一个价格更稳定的优惠。
不时重新检查此文档
我们收到了有关如何改进此 API 的反馈,并正在努力提供其中的一些改进。当我们推出可简化 CSS API 使用的新功能时,会更新此页面。