透過 Content API,你可以使用 shippingsettings 和 accounttax 服務,為帳戶內的所有產品指定稅金和運送資訊。如要更精確地指定稅金和運費,可以透過產品服務在商品層級進行設定。
如要瞭解 Google 政策,以及指定稅金和運送方式的完整選項,請參閱下列說明中心文章:
請注意,tax 屬性 (因此帳戶稅務服務) 僅適用於以美國為目標的產品。
accounttax 和 shippingsettings Content API 服務會反映 Merchant Center 使用者介面的功能。
簡單範例
法國的運費為 8 歐元,美國的運費則依貨運公司費率而定,且每項運送服務的運送時間為 3 到 7 天:
PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
"accountId": <account_id>,
"services": [
{
"name": "Livraison Prioritaire",
"deliveryCountry": "FR",
"currency": "EUR",
"rateGroups": [
{
"singleValue": {
"flatRate": { "currency": "EUR", "value": "8" }
}
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
},
{
"name": "UPS in US",
"deliveryCountry": "US",
"currency": "USD"
"rateGroups": [
{
"singleValue": { "carrierRateName": "ups" },
"carrierRates": [
{
"name": "ups",
"carrierName": "UPS",
"carrierService": "Ground",
"originPostalCode": "10011"
}
]
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
}
]
}如要擷取可用的貨運公司名稱和服務,請使用 getsupportedcarriers 方法。
複雜範例
如要在紐約州周邊各州建立免運費促銷活動 (不收取運費),並在美國其他地區使用 UPS,以及為美國各州套用不同稅率,請使用 Content API 的 accounttax 和 shippingsettings 服務提出要求,如下所示。請先設定運送設定:
PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
"accountId": <account_id>,
"services": [
{
"name": "Eligible for free shipping",
"deliveryCountry": "US",
"rateGroups": [
{
"mainTable": {
"rowHeaders": {
"locations": [
{ "locationIds": ["21167"] }, // NY
{ "locationIds": ["21164", "21139"] } // NJ, CT
]
},
"rows": [
{
"cells": [
{
"flatRate": { "currency": "USD", "value": "0" }
}
]
},
{
"cells": [
{
"flatRate": { "currency": "USD", "value": "0" }
}
]
}
]
}
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
"currency": "USD"
},
{
"name": "UPS in US",
"deliveryCountry": "US",
"rateGroups": [
{
"singleValue": { "carrierRateName": "UPS mainland" },
"carrierRates": [
{
"name": "UPS mainland",
"carrierName": "UPS",
"carrierService": "Ground",
"originPostalCode": "10011", // currently only US, AU, and DE postal codes
"percentageAdjustment": "1.05",
"flatAdjustment": { "currency": "USD", "value": "0.75" }
}
]
}
],
"active": true,
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
"currency": "USD"
}
],
"postalCodeGroups": [
{
"name": "More cities", // An alternative using postal codes
"country": "US",
"postalCodeRanges": [
{ "postalCodeRangeBegin": "94041" },
{ "postalCodeRangeBegin": "94042" },
{ "postalCodeRangeBegin": "94043", "postalCodeRangeEnd": "94045" },
{ "postalCodeRangeBegin": "9405*" },
{ "postalCodeRangeBegin": "9406*", "postalCodeRangeEnd": "9408*" }
]
}
]
}請注意,地點 ID 可用來代表行政區域。
接著設定稅金費用:
PUT /content/v2.1/<merchant_id>/accounttax/<account_id>
{
"accountId": <account_id>,
"rules": [
{
"country": "US", // currently only US is supported, may be omitted
"locationId": 21167,
"useGlobalRate": true,
"shippingTaxed": false
},
{
"locationId": 21137,
"useGlobalRate": false,
"shippingTaxed": true,
"ratePercent": "2.15"
}
// ...
]
}注意:貨運公司費率僅適用於美國、德國和澳洲。營業地點群組目前僅適用於美國和澳洲。
複雜的運送規則:二維表格和子表格
如要定義運費促銷活動,在美國提供 $7 美元的運費優惠,在紐約市提供 $3 美元或 $5 美元的運費優惠 (視訂單價格而定,訂單重量超過 10 磅時適用),重量未達 10 磅的訂單則免運費,請使用下列值:
PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id> { "accountId": <account_id>, "services": [ { "name": "Custom shipping rules", "deliveryCountry": "US", "rateGroups": [ { "mainTable": { "rowHeaders": { "postalCodeGroupNames": [ "NYC", "all other locations" ] }, "columnHeaders": { "weights": [ { "unit": "lb", "value": "10" }, { "unit": "lb", "value": "infinity" } ] }, "rows": [ { "cells": [ { "flatRate": { "value": "0", "currency": "USD" } }, { "subtableName": "NYC large packages" } ] }, { "cells": [ { "flatRate": { "value": "7", "currency": "USD" } }, { "flatRate": { "value": "7", "currency": "USD" } } ] } ] }, "subtables": [ { "name": "NYC large packages", "rowHeaders": { "prices": [ {"value": "100", "currency": "USD"}, {"value": "infinity", "currency": "USD"}] }, "rows": [ { "cells": [ { "flatRate": { "value": "3", "currency": "USD" } } ] }, { "cells": [ { "flatRate": { "value": "5", "currency": "USD" } } ] } ] } ] } ], "active": true, "currency": "USD", "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 } } ], "postalCodeGroups": [ { "name": "NYC", // Approximation of NYC using postal codes "country": "US", "postalCodeRanges": [ { "postalCodeRangeBegin": "10000", postalCodeRangeEnd: "11999" } ] } ] }
複雜的運送規則:將運送標籤分配給多項服務
在運送設定中,每項運送服務最多只能包含 20 個運送費率群組。由於運費群組是用來透過運送標籤區分運費,這似乎表示只能透過運送標籤強制執行 20 種不重複的運費。不過,每個國家/地區最多可以有 20 項運送服務。如果為同一個國家/地區的運送服務指定不同的運送標籤,並將運送費率拆分到多項服務中,最多可透過運送標籤區分 400 種不同的運送費率。
注意:如果你有多項服務,系統會針對特定國家/地區的每項產品,檢查該國家/地區的所有運送服務,計算可能的運送費率。如果多項服務為同一產品傳回不同費率,系統會使用最低費率。
以下範例會使用兩種不同服務,以獨一無二的費率拆分 40 個運送標籤。在這個範例中,運送資源的其他詳細資料 (例如實際費率) 會隱藏在省略號後方。
PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
"accountId": <account_id>,
"services": [
{
"name": "labels_0_19",
"deliveryCountry": "US",
"active": true,
"currency": "USD",
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
"rateGroups": [
{ "applicableShippingLabels": ["shipping_label_0"], ... }
{ "applicableShippingLabels": ["shipping_label_1"], ... }
{ "applicableShippingLabels": ["shipping_label_2"], ... }
{ "applicableShippingLabels": ["shipping_label_3"], ... }
{ "applicableShippingLabels": ["shipping_label_4"], ... }
{ "applicableShippingLabels": ["shipping_label_5"], ... }
{ "applicableShippingLabels": ["shipping_label_6"], ... }
{ "applicableShippingLabels": ["shipping_label_7"], ... }
{ "applicableShippingLabels": ["shipping_label_8"], ... }
{ "applicableShippingLabels": ["shipping_label_9"], ... }
{ "applicableShippingLabels": ["shipping_label_10"], ... }
{ "applicableShippingLabels": ["shipping_label_11"], ... }
{ "applicableShippingLabels": ["shipping_label_12"], ... }
{ "applicableShippingLabels": ["shipping_label_13"], ... }
{ "applicableShippingLabels": ["shipping_label_14"], ... }
{ "applicableShippingLabels": ["shipping_label_15"], ... }
{ "applicableShippingLabels": ["shipping_label_16"], ... }
{ "applicableShippingLabels": ["shipping_label_17"], ... }
{ "applicableShippingLabels": ["shipping_label_18"], ... }
{ "applicableShippingLabels": ["shipping_label_19"], ... }
]
},
{
"name": "labels_20_39",
"deliveryCountry": "US",
"active": true,
"currency": "USD",
"deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
"rateGroups": [
{ "applicableShippingLabels": ["shipping_label_20"], ... }
{ "applicableShippingLabels": ["shipping_label_21"], ... }
{ "applicableShippingLabels": ["shipping_label_22"], ... }
{ "applicableShippingLabels": ["shipping_label_23"], ... }
{ "applicableShippingLabels": ["shipping_label_24"], ... }
{ "applicableShippingLabels": ["shipping_label_25"], ... }
{ "applicableShippingLabels": ["shipping_label_26"], ... }
{ "applicableShippingLabels": ["shipping_label_27"], ... }
{ "applicableShippingLabels": ["shipping_label_28"], ... }
{ "applicableShippingLabels": ["shipping_label_29"], ... }
{ "applicableShippingLabels": ["shipping_label_30"], ... }
{ "applicableShippingLabels": ["shipping_label_31"], ... }
{ "applicableShippingLabels": ["shipping_label_32"], ... }
{ "applicableShippingLabels": ["shipping_label_33"], ... }
{ "applicableShippingLabels": ["shipping_label_34"], ... }
{ "applicableShippingLabels": ["shipping_label_35"], ... }
{ "applicableShippingLabels": ["shipping_label_36"], ... }
{ "applicableShippingLabels": ["shipping_label_37"], ... }
{ "applicableShippingLabels": ["shipping_label_38"], ... }
{ "applicableShippingLabels": ["shipping_label_39"], ... }
]
}
],
"postalCodeGroups": [ ... ]
}
即使運送標籤共用相同的運送費率,也可能需要將運送標籤劃分至不同費率群組,因為每個費率群組的applicableShippingLabels 欄位最多只能有 30 個運送標籤。舉例來說,如果所有運送標籤都採用相同的費率結構,shippingsettings單一國家/地區最多可處理 12000 個運送標籤:每個費率群組 30 個運送標籤、每個運送服務 20 個費率群組,以及每個國家/地區 20 個運送服務。
詳情請參閱 accounttax 和 shippingsettings 的參考說明文件。