透過 Content API,您可以透過 shippingsettings 和 accounttax 服務,指定適用於帳戶中所有產品的稅金和運費。如要更精確地指定稅金和運費,你可以透過 products 服務,在商品層級指定稅金和運費。
如要瞭解 Google 政策,以及指定稅金和運送方式的完整選項,請參閱下列說明中心文章:
請注意,tax
屬性 (以及使用 accounttax 服務) 僅適用於指定美國的產品。
accounttax 和 shippingsettings Content API 服務會反映 Merchant Center UI 的功能。
簡單範例
在法國,運費為 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 美元 (視訂單價格而定),且重量低於此值的訂單可免費運送,請使用以下語法:
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 的參考說明文件。