通过 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
时,才能享受次日送达服务。