借助 ShippingSettings
资源,您可以检索和更新账号的配送设置。
Google 可以自动更新某些商品的预计送货时间。如需了解详情,请参阅启用自动改进。
读取、写入或更新配送设置
如需使用 Merchant API 配送服务,请执行以下操作:
- 发出
GET
请求以检索您账号的完整配送设置。 - 修改配送设置。
- 使用修改后的配送设置发出
INSERT
请求。
ETag
Etag 是一种编码令牌,用于避免异步更新。当任何配送设置数据发生变化时,etag 也会随之更改。用户需要将从 GET
请求中获取的 etag 复制到 INSERT
请求正文。
如果配送设置数据在 GET
请求和 INSERT
请求之间发生变化,您会收到一条错误消息,要求您发出另一个 GET
请求以检索最新的 etag 令牌。您需要调用 GET
请求以检索新的 etag 令牌,并将新的 etag 令牌复制到 INSERT
请求正文。
添加配送设置
使用 shippingsettings.insert
为您的账号添加或更新配送设置。以下示例请求会将账号 10 下名为 GSA Shipping - Free Ship Over $49.99 的配送服务的 maxTransitDays
更新为 7。
POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{accountId}/shippingSettings/
{
"services": [
{
"name": "FedEx",
"active": true,
"deliveryCountries": ["US"],
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 4,
"maxTransitDays": 6,
"minHandlingDays": 0,
"maxHandlingDays": 0
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 5990000,
"currencyCode": "USD"
}
},
"name": "All products"
}
]
},
{
"name": "GSA Shipping - Free Ship Over $49.99",
"active": true,
"deliveryCountries": "US",
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 3,
"maxTransitDays": 7,
"minHandlingDays": 1,
"maxHandlingDays": 2
},
"rateGroups": [
{
"mainTable": {
"rowHeaders": {
"prices": [
{
"amountMicros": 49990000,
"currencyCode": "USD"
},
{
"amountMicros": -1,
"currencyCode": "USD"
}
]
},
"rows": [
{
"cells": [
{
"flatRate": {
"amountMicros": 6990000,
"currencyCode": "USD"
}
}
]
},
{
"cells": [
{
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
]
}
]
},
"name": "Free Ship Over $49.99"
}
]
}
]
}
设置仓库
以下 JSON 示例展示了如何使用商家配送设置服务管理商家账号的仓库信息:
"warehouses": [
{
"name": "warehouse 1",
"shippingAddress": {
"streetAddress": {street_address},
"city": {city},
"administrativeArea": {administrative_area},
"postalCode": {postal_code},
"regionCode": {region_code}
},
"cutoffTime": {
"minutes": {minutes}
},
"handlingDays": {handling_days},
"businessDaysConfig": {
"businessDays": [
"MONDAY", "SUNDAY"
]
}
}
]
替换以下内容:
- {street_address}:仓库地址的街道级部分。
- {city}:仓库所在的城市、镇或自治市。
- {administrative_area}:该国家/地区的行政区划。例如,省级行政区。
- {postal_code}:邮政编码。
- {region_code}:国家/地区代码(字符串)。
- {minutes}:下单截止时间(仓库当天处理订单的截止时间)的分钟部分。
- {handling_days}:此仓库打包和配送商品所需的天数。
warehouses
资源是仓库的列表。每个仓库都可以通过配送服务的仓库配送时间通过 warehouse.name
引用。
管理仓库
如需使用 Merchant API 管理仓库,请按以下步骤操作:
- 发出
GET
请求以检索所有现有的shippingsettings
和仓库。 将
GET
请求中的shippingsettings
复制到UPDATE
请求。如果您想在
INSERT
请求的warehouses
部分中使用仓库,请填充这些仓库。发出包含
shippingsettings
和warehouses
资源的UPDATE
请求。
以下示例 INSERT
请求正文包含一个仓库,即从纽约更新为山景的仓库 1:
{
"services": [
{
"name": "Standard Shipping",
"active": true,
"deliveryCountries": ["US", "UK"],
"currencyCode": "USD",
"deliveryTime": {
"minHandlingDays": 0,
"maxHandlingDays": 1,
"warehouseBasedDeliveryTimes": [
{"carrier": "Fedex"
"carrierService": "ground"
"warehouse": "Warehouse 1"
},
{"carrier": "Fedex"
"carrierService": "2 days"
"warehouse": "Warehouse 2"
}
]
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
},
"name": "Standard Shipping"
}
],
},
{
"name": "Expedited",
"flatRate": {
"amountMicros": 9990000,
"currencyCode": "USD"
}
},
"name": "Expedited"
}
],
}
],
"warehouses": [
{
"name": "Warehouse1",
"shippingAddress": [
{
"streetAddress": "1111 shoreline street"
"city": "Mountain View",
"administrativeArea": "CA"
}
]
},
{
"name": "Warehouse 2",
"country": "US",
"postalCodeRanges": [
{
"streetAddress": "1111 5th avenue"
"city": "New York",
"administrativeArea": "NY"
}
]
}
]
}
添加当天送达服务
如果您有本地商品目录,则可以使用 Content API for Shopping 配置当天送达配送服务。当天送达配送服务的 shipment_type
为 local_delivery
。目前,所有 local_delivery
配送服务都被视为当天送达。
您无法更改本地配送的 delivery_time
信息。使用 shippingsettings.insert
为本地商品目录商品设置当天送达服务。
以下示例请求正文会为您账号的所有商店添加当天送达服务:
{
"name": "accounts/accountId/shippingSettings",
"services": [
{
"name": "Local Delivery",
"active": true,
"shipmentType": "local_delivery",
"deliveryCountries": "US",
"currencyCode": "USD",
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
}
],
"storeConfig": {
"storeServiceType": "all stores",
"storeCodes": [],
"cutoffConfig": {
"storeCloseOffsetHours": 2,
"noDeliveryPostCutoff": true
},
"serviceRadius": {
"value": 4,
"unit": "Miles"
}
}
}
]
}
添加次日送达服务
默认情况下,在当天送达截止时间之后下单的订单会安排在次日送达。如需关闭次日送达,请将 no_delivery_post_cutoff
字段设置为 true。如果您关闭次日送达服务,则您的配送服务只会在每天的截止时间之前显示。
只有当 shipment_type
为 local_delivery
时,才支持次日送达。
了解详情
如需了解如何从 Content API for Shopping 迁移,请参阅迁移配送设置管理。