在这种与 Merchant API 交互的方法中,您可以直接向 API 端点发出原始请求,通常是通过 HTTP(S) 进行。您需要手动处理请求正文的构建、标头的设置(包括身份验证)和响应的解析等事宜。
第 1 步:注册为开发者
如需使用 Merchant API,您必须注册开发者联系信息。
注册可实现以下目的:
- 通过向用户分配
API developer
角色,为您的 Merchant Center 账号创建技术联系人。这样一来,Google 就可以专门发送与 API 和开发者正在使用的功能相关的重要更新,例如服务公告和有关新功能的信息,这些信息可能对非开发者不太重要。 - 让您无需多次注册即可使用多个商家账号。注册时,用于向 Merchant API 进行身份验证的 Google Cloud 项目 ID 会与您的 Merchant Center 账号(具有技术联系人 [
API developer
])相关联。这样一来,只要使用已注册的 Google Cloud 项目完成身份验证,您就可以接收您管理的所有商家账号的重要更新。
注册时,请遵守注册中详述的前提条件和限制。
如需使用 developerRegistration.registerGcp
方法进行注册,您可以从以下示例开始,将请求正文中的 {DEVELOPER_EMAIL}
替换为相应的电子邮件地址。
POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp
{
"developerEmail": "{DEVELOPER_EMAIL}"
}
如果调用成功,则会返回 DeveloperRegistration
资源,以确认项目与账号之间的关联。
{
"name": "accounts/{ACCOUNT_ID}/developerRegistration",
"gcpIds": [
"123456789012345"
]
}
第 2 步:管理开发者联系信息和权限
注册时:
- 如果该电子邮件地址属于 Merchant Center 账号中的用户,则系统会向该用户授予
API_DEVELOPER
角色。 - 如果该电子邮件地址不属于现有用户,系统会向该地址发送邀请。收件人必须接受邀请,才能以具有
API_DEVELOPER
角色的新用户身份被添加。
完成初始注册后,我们建议您添加多位开发者,并向他们授予额外的访问权限。
第 2a 步。授予其他权限
API_DEVELOPER
角色是接收重要通知所必需的,但它在 Merchant Center 中的权限非常有限。如需允许此用户在 Merchant Center 界面中进行其他 API 调用或管理设置,您需要向其授予其他角色,例如 STANDARD
或 ADMIN
。如需了解详情,请参阅访问类型。
您可以使用 accounts.users.patch
方法更新用户的访问权限。
以下示例展示了如何更新用户,以向其授予 ADMIN
和 API_DEVELOPER
角色。这样,他们就可以完全管理该账号,并且还会收到与 API 相关的通信。
PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
"access_rights": [
"ADMIN",
"API_DEVELOPER"
]
}
第 2b 步。添加备用开发者
为防止主开发者联系人离职后您的 API 访问权限受到影响,您应至少添加一名备用开发者。
您可以使用 accounts.users.create
方法添加用户,也可以使用 accounts.users.patch
方法更新用户。我们建议您同时向此用户授予 ADMIN
和 API_DEVELOPER
角色。
第 3 步:创建主要商品数据源
如需插入商品,您需要一个主要商品数据源。以下请求展示了如何创建可用于向您的账号中插入商品的数据源:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources
{
"primaryProductDataSource": {
"contentLanguage": "en",
"countries": [
"US"
],
"feedLabel": "US"
},
"name": "primary-data-source",
"displayName": "Primary Products Data Source"
}
将 {ACCOUNT_ID} 替换为您创建的 Merchant Center 账号的 ID。
成功运行此请求后,您应该会看到以下响应:
{
"name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
"dataSourceId": "{DATASOURCE_ID}",
"displayName": "Primary Products Data Source",
"primaryProductDataSource": {
"feedLabel": "US",
"contentLanguage": "en",
"countries": [
"US"
],
"defaultRule": {
"takeFromDataSources": [
{
"self": true
}
]
}
},
"input": "API"
}
复制 name
字段的值。您需要使用此 ID 来插入商品。
您可以在 Merchant Center 界面中查看此数据源。如需了解详情,请参阅如何找到“数据源”标签页。
第 4 步:插入产品
创建数据源后,尝试向其中插入商品。运行以下命令,并提供正确的 ACCOUNT_ID
。将 {DATASOURCE_NAME} 替换为您之前复制的值。
POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME}
{
"contentLanguage": "en",
"feedLabel": "US",
"name": "Red T-shirt",
"productAttributes": {
"gender": "MALE",
"brand": "New brand"
},
"offerId": "tshirt-123"
}
成功运行此请求后,您应该会看到以下响应:
{
"name": "accounts/{ACCOUNT_ID}/productInputs/en~US~tshirt-123",
"product": "accounts/{ACCOUNT_ID}/products/en~US~tshirt-123",
"offerId": "tshirt-123",
"contentLanguage": "en",
"feedLabel": "US",
"productAttributes": {
"brand": "New brand",
"gender": "MALE"
}
}
新创建的商品的商品 ID 为 en~US~tshirt-123
。您可以使用 accounts.products.get
方法检索有关此商品的详细信息。您还可以使用 Merchant Center 界面查看此商品。请参阅查看商品数据。