建立中繼資料封存
安裝 cartridge 之前,請確保您有一個已安裝 SFRA 的工作沙箱站點。然後建立一個站點匯入中繼資料封存:
- 在您提取的 Zonos LINK cartridge 中,將
/link_zonos/metadata/sites/RefArch資料夾重新命名為您的 SFCC 站點 ID。例如,如果您的站點 ID 是「GlobalEcom」,重新命名以便您的資料夾結構中有/link_zonos/metadata/sites/GlobalEcom。 - 建立您的
/link_zonos/metadata資料夾的 Zip 封存,並將 zip 封存命名為metadata.zip。注意: 在 zip 封存中包含/metadata資料夾本身。
匯入中繼資料封存
準備好 metadata.zip 後,將其匯入到您的 SFCC 沙箱:
- 轉到 Business Manager > Administration > Site Development > Site Import & Export。
- 使用本地上傳選項上傳
metadata.zip。 - 上傳後,在列表中找到該封存,然後點擊匯入。

此步驟建立 Zonos 整合所使用的必需站點偏好設定、服務、認證和自訂物件。
新增 cartridge 到 cartridge 路徑
將 int_zonos cartridge 新增到您的站點 cartridge 路徑以啟用其控制器、指令碼和範本:
- 轉到 Administration > Sites > Manage Sites > [您的目標站點] > Settings。
- 在基本 SFRA 店面 cartridge (
app_storefront_base) 之前的 cartridge 路徑中插入int_zonos。

設定管道別名
cartridge 包含 2 個自訂管道,應在 Business Manager 中新增管道別名:
Zonos-OrderConfirmation
這用於 Zonos 結帳中完成訂單後 SFCC 中的自訂訂單確認。使用者將被重新導向到此處。例如,別名可以是 zonos-order-confirmation。請為您的業務選擇並新增適當的別名,該別名應與您用於原生 SFCC/SFRA 結帳訂單確認頁面的別名 (COSummary-Submit) 不同。
Zonos-PlaceSFCCOrder
這用於建立 Zonos 訂單的自訂端點,在 SFCC/SFRA 中,假設別名是 zonos-placesfccorder。如果您在此處使用不同的別名,當您到達服務設定時需要記下此別名。這不是面向公眾的 URL,因此建議為初始設定使用 zonos-placesfccorder 以保持此 cartridge 的易用性。
要設定這兩個別名,在 Business Manager 中,轉到 Merchant Tools > URL Rules > Pipeline URLs。

設定 SFCC 服務
在第 2 步的站點匯入中,建立了兩個 SFCC 服務(具有附帶的設定檔和認證):zonos.api.graphql 和 create.order.api.sfra。
單個站點設定
如果您的組織在 SFCC 組織內有單個店面站點,此處無需執行任何其他操作,您可以繼續進行下一步。
多個站點設定
如果您的組織有多個店面站點,或計劃在 SFCC 組織內有多個店面站點,您需要對 SFCC 服務進行更新/新增。當您有多個將使用 Zonos 整合的 SFCC 站點時,您需要為每個站點提供一個建立訂單 API 服務。對於每個站點,執行以下操作:
- 建立一個名稱為
create.order.api.[siteID]的新認證。 - 將認證 URL 設定為:
https://[Sandbox Host]/s/[Site ID]/Zonos-PlaceSFCCOrder(例如:https://wxyz-001.dx.commercecloud.salesforce.com/s/RefArch/zonos-placesfccorder)。 - 建立一個名稱為
create.order.api.[siteID]的新服務,並將create.order.api設定檔和在第 1 步中建立的create.order.api.[siteID]認證指派給它。
完成後,您應該為每個站點都有一個建立訂單 API 服務。
注意: 如果您沒有將原始
create.order.api.sfra服務重新命名為其中一個站點的建立訂單服務,並且它仍然存在,您可以刪除它。保留zonos.api.graphql服務名稱不變。即使有多個站點,您也只需要一個 Zonos API 服務。
設定 Zonos 自訂站點偏好設定
在 Business Manager 中,轉到 Merchant Tools > Site Preferences > Custom Preferences,然後點擊 zonos 偏好設定群組以存取 Zonos 自訂站點偏好設定。
為您的站點設定以下站點偏好設定:
| 偏好設定名稱↕ | 說明↕ |
|---|---|
| Zonos Enabled | 用於啟用/停用店面上 Zonos 整合的功能開關。如果未設定,則使用預設值(否)。 |
| Main Zonos Script | (必需) Zonos 整合的用戶端(瀏覽器)端指令碼的 URL。由 Zonos 提供。如果未設定,則使用預設值(https://cdn.jsdelivr.net/npm/@zonos/elements/dist/scripts/loadZonos.js)。 |
| Blur OnInit Script | (選用)當啟用自動貨幣轉換時,用於模糊初始價格值的用戶端(瀏覽器)端指令碼的 URL。由 Zonos 提供。 |
| Public API Token | (必需) 公開整合令牌。此值可在您的 Zonos Dashboard 中找到(Settings > Integrations > API Keys:Public Credential)。 |
| Private API Token | (必需) 私有整合令牌。此值可在您的 Zonos Dashboard 中找到(Settings > Integrations > API Keys:Zonos API)。 |
| Zonos Store ID | (必需) Zonos 提供的商店 ID。此值可在您的 Zonos Dashboard 中找到(Settings > Integrations > App credentials:Store ID)。 |
| Currency Element Selector | (選用)jQuery 風格的選擇器字串(不含引號),用於 Zonos 應套用貨幣轉換的價格值。 |
| Place Order (Checkout) Button Selector | (選用)jQuery 風格的選擇器字串(不含引號),用於應啟動 Zonos 模式結帳的按鈕。 |
| Zonos Payment Method ID | 在 SFCC 中建立 Zonos 訂單時使用的 SFCC 支付方法 ID。資料匯入中包含的是新付款方式和付款處理器,兩者的 id 都是 ZONOS。此新付款方法 id 也是此自訂站點偏好設定的預設值。如果您希望有不同的付款方式與 Zonos 訂單相關聯,可以將此處的值變更為在 Business Manager 中設定的任何有效付款方式的 ID。 |
| Zonos Ship Method Mapping | JSON 對應,將 Zonos 訂單詳情回應中的運送方法 ID 對應到在 SFCC 中放置 Zonos 訂單時的 SFCC 運送方法 ID。設定預設對應,以便如果沒有明確對應,未對應的 Zonos 運送方法會對應到預設 SFCC 運送方法。查看下面的「設定運送方法」部分以獲得更詳細的說明。 |
| Place Order Password | (必需) 此值由 SFCC 用於確保訂單建立 API 要求來自受信任的內部(即 SFCC 工作)來源。此值可以是您喜歡的任何字元字串(大小寫字母、數字和標準特殊字元)。範例:X$7eo$33B!z= |
| SFCC Storefront Password | SFCC 站點的店面密碼(如果受保護)。 |
| Place Order Service Name | (必需) 在第 5 步中設定的建立訂單 API 服務的名稱。注意:此名稱必須完全符合服務名稱。 |
| Origin Shipping Address | 運送倉庫的原點位址,傳送到 Zonos,JSON 格式。範例:{"administrativeArea": "Pennsylvania", "administrativeAreaCode": "PA", "countryCode": "US", "line1": "975 S Tech Ridge Dr", "line2": "", "locality": "Harrisburg", "postalCode": "17025"} |
| Zonos Default HS Code | (必需) 如果產品值為空,則使用的 Zonos 預設 HS 代碼。如果留白,將使用預設值(6109.10)。 |
設定運送方法
在 Zonos 模式結帳期間,購物者選擇在您的 Zonos Dashboard 中定義的運送方法。當這些訂單匯入到 SFCC 時,其運送方法必須對應到有效的 SFCC 運送方法。要支援此功能:
- 在 SFCC 中設定一個或多個運送方法,您的 Zonos 運送方法應對應到這些方法。
- 在上面描述的 Zonos Ship Method Mapping 自訂站點偏好設定中,建立您的 Zonos 運送方法與 SFCC 運送方法之間的一個或多個運送方法對應。
運送方法對應
運送方法對應採用 JSON 物件的形式,將您的 Zonos 運送方法對應到您的 SFCC 運送方法。此對應必須為每個可能在 Zonos 結帳中選擇的潛在 Zonos 運送方法(服務級別)都有對應記錄。強烈建議您也包含一個 default 對應記錄,它將在 Zonos 訂單使用沒有對應到 SFCC 運送方法的運送方法時使用,從而防止由於 SFCC 訂單中缺少運送方法而導致的下游失敗。
JSON 物件的格式為:
{
"[Zonos Shipping Service Level Code]": "[SFCC Shipping Method ID]",
...
"default": "[Default SFCC Shipping Method ID]"
}
範例
假設您在 Zonos Dashboard 中啟用了以下服務級別:

無論您的原因如何(例如,後端辦公室要求、其他第三方運送服務整合等),您可能受限於 SFCC 中為您的站點提供以下運送方法:

當收到新的 Zonos 訂單然後放入 SFCC 時,運送方法必須來自此列表。
要建立您的對應,登入您的 Zonos Dashboard,轉到 Shipping > Manage Rates,然後點擊顯示的每個已啟用服務級別,您會看到類似以下的顯示:

在每一個中,點擊編輯詳情以取得(或設定)Zonos 運送服務級別代碼(見下文)。

使用運送服務級別代碼,建立一個對應記錄,將其對應到您希望在選擇該運送服務級別(Zonos 運送方法)時出現在您的 SFCC 訂單上的 SFCC 運送方法。
為每個已啟用的運送服務級別代碼新增一條記錄,以及一個 default 運送方法對應,您的 Zonos Ship Method Mapping JSON 物件應該看起來類似於以下內容:
{
"ups.worldwide_saver": "004",
"ups.standard": "002",
"ups.worldwide_expedited": "012",
"ups.worldwide_express": "012",
"default": "001"
}
注意: 因為這只是 Zonos 運送方法到 SFCC 運送方法的對應,重要的是在對應中包含所有 Zonos 運送方法。無需在對應中包含每個 SFCC 運送方法。
設定工作
安裝中包含兩個 SFCC 工作以支援 Zonos 整合:
CreateOrdersFromZonos
此工作在 zonosOrders 自訂物件儲存中查找新建立的 Zonos 訂單參考,從 Zonos 取得完整訂單詳情,並在 SFCC 中建立對應訂單。
排程: 您可以排程此工作以符合您的業務需求,但通常,此工作應配置為按間隔基礎相對頻繁地執行(即每 5-10 分鐘),以及每週的每一天。

自訂參數: CreateOrdersFromZonos 工作不包含任何自訂參數。
CreateMissingZonosOrders
雖然應該很少見,但有可能由於不可預見的情況,可能會有在 Zonos 中下達但無法通過正常流程進入您的 SFCC 執行個體的訂單。因此,我們包含了 CreateMissingZonosOrders 工作。此工作在您的 Zonos 訂單歷史記錄和 SFCC 之間執行交叉檢查,以識別並匯入任何遺漏的訂單。
排程: 您可以排程此工作以符合您的業務需求,但您應排程此工作的運行頻率低於 CreateOrdersFromZonos 工作。在為此工作的運行頻率進行排程時,請考慮以下事項:
- 與所有工作一樣,在考慮了所有事項(包括處理負載/頻寬和您的業務需求)之後,您應排程此工作的運行頻率應該儘可能低。
- 由於此工作將查詢一段時間內的所有訂單,高流量站點應更頻繁地運行此工作(因此每次工作運行處理的訂單較少),而低流量站點可以使用較低的頻率。
- 我們為
CreateMissingZonosOrders建議的基準頻率是我們認為對大多數站點都有效的,是每 90 分鐘一次。

自訂參數: 與 CreateMissingZonosOrders 工作步驟相關聯有兩個自訂參數,您應設定:
- LookBackHours: 這是工作從運行時間向後查詢 Zonos 尋找遺漏訂單的小時數。根據您為工作排程的頻率,此值應至少等於工作運行之間的時間,理想情況下應有重疊。例如,如果工作排程為每 90 分鐘執行一次,請將
LookBackHours設定為2(小時)。預設值(如果未設定值):2 - OrderSize: 每個 Zonos 內部查詢要檢索的最大訂單數。將其視為工作在查詢 Zonos 訂單時使用的頁面大小。預設值(如果未設定值):
20

設定 Zonos Hello
Zonos Hello 提供用戶端側本地化功能,例如動態語言選擇、關稅/稅收訊息和內聯貨幣轉換。一旦在站點偏好設定中啟用 Zonos,Hello 會透過 Zonos 用戶端指令碼自動載入到您的店面上。
Zonos 用戶端指令碼使用位於以下重疊範本底部的 Zonos-ClientScriptInclude 端點的 SFCC 遠端包含進行新增:
/cartridge/templates/default/common/layout/page.isml/cartridge/templates/default/common/layout/checkout.isml

如果您的專案在優先度較高的 cartridge 中覆寫這些範本,請確保遠端包含已新增到您的自訂版本中:
<isinclude url="${URLUtils.url('Zonos-ClientScriptInclude', 'pageType', pdict.action)}"/>
深入瞭解 Zonos Hello。
設定貨幣轉換
Zonos Hello 會自動將店面上顯示的價格值轉換為購物者的當地貨幣。為了正確進行:
- 價格值必須包含在使用可以透過 jQuery 選擇的類名或 ID 的 HTML 元素中。例如:
<p class="text-right sub-total zonos-price">${pdict.totals.subTotal}</p> - 這些選擇器值必須包含在 Currency Element Selector 站點偏好設定中(或在您的 Zonos Dashboard 中)。
價格顯示程式碼變更
Zonos cartridge 包含以下重疊範本,用於在整個參考架構站點中呈現價格的位置,使用指派給包含這些各種價格的 HTML 元素的類名 zonos-list-price、zonos-sales-price 和 zonos-price:
/cartridge/templates/default/cart/productCard/cartCouponDisplay.isml/cartridge/templates/default/cart/cartTotals.isml/cartridge/templates/default/checkout/billing/billingSummary.isml/cartridge/templates/default/checkout/cart/miniCart.isml/cartridge/templates/default/chackout/productCard/productCardProductTotalPrice.isml/cartridge/templates/default/product/components/pricing.isml/cartridge/templates/default/product/components/setPrice.isml
如果沒有 cartridge 包含這些範本並在 int_zonos 的 cartridge 路徑中配置得更高,則 Zonos Hello 無需程式碼變更即可轉換您站點上這些價格呈現的貨幣。如果您在 cartridge 路徑中 int_zonos 上方有一個或多個 cartridge 中的這些範本的自訂版本,您必須在那些自訂範本中的 HTML 包裝器周圍的價格中包含唯一的類名(如上所示)。
設定價格元素選擇器字串
貨幣選擇器字串是 jQuery 風格的選擇器字串值,由 Zonos 指令碼用於識別包含應接收貨幣轉換更新的價格值的 HTML 元素。此值應該是空格分隔的 CSS 類名和/或指派給前面步驟中描述的站點價格顯示周圍的 HTML 元素的 ID 列表,其中類名前置 . 和 ID 前置 #(不含引號)。例如,如果您的站點將使用 Zonos cartridge 中包含的用於價格顯示的範本,選擇器字串將是 .zonos-list-price .zonos-sales-price .zonos-price(不含引號)。
貨幣選擇器字串可以透過您的 Zonos Dashboard 或 Business Manager 中的 Zonos 自訂站點偏好設定中的 Currency Element Selector 進行設定。
注意: 如果在兩個地方進行設定,Business Manager 中的值將優先。
深入瞭解 Zonos Hello 貨幣轉換。
設定結帳按鈕
結帳按鈕選擇器字串是 jQuery 選擇器字串值,由 Zonos 指令碼用於識別您站點上作為按鈕控制項的 HTML 元素,點擊時會帶客戶進入您站點的結帳流程。
當購物者點擊由您設定的選擇器字串相符的結帳按鈕時,Zonos 會自動攔截操作並開啟模式結帳。
結帳按鈕選擇器字串可以透過您的 Zonos Dashboard 或 Business Manager 中的 Zonos 自訂站點偏好設定中的 Place Order (Checkout) Button Selector 進行設定。
瞭解訂單確認和自訂物件
當使用者在 Zonos 託管的結帳中完成訂單時,他們會被重新導向到在 SFCC 中顯示訂單確認的自訂管道 (Zonos-OrderConfirmation)。此訂單確認的主要呈現範本是 /int_zonos/cartridge/templates/default/checkout/confirmation/zonosConfirmation.isml。
此訂單確認頁面使用與原生 SFCC/SFRA 訂單確認頁面相同的樣式,並與原生 SFCC/SFRA 訂單確認頁面共用一些 .isml 檔案。這可能需要進行一些樣式更新以符合已對站點進行的任何自訂樣式更新。Zonos 訂單確認範本使用的基本呈現範本包括:
app_storefront_base\cartridge\templates\default\checkout\confirmation\confirmationDetails.ismlapp_storefront_base\cartridge\templates\default\checkout\shipping\shippingSummary.ismlint_zonos\cartridge\templates\default\checkout\billing\billingSummary.ismlapp_storefront_base\cartridge\templates\default\checkout\orderProductSummary.ismlapp_storefront_base\cartridge\templates\default\checkout\orderTotalSummary.isml
除了為使用者顯示訂單確認外,與此自訂管道相關的基礎功能與包含在資料匯入中的新自訂物件型別相關:zonosOrders。當訂單確認為使用者顯示時,SFCC 使用在訂單確認 URL 中顯示的 Zonos 訂單 ID,並為自訂物件建立對應的自訂物件,以 Zonos 訂單 ID 作為自訂物件的關鍵屬性。然後使用此來透過工作 CreateOrdersFromZonos 在 SFCC 中放置訂單。此工作將迭代透過所有 createdStatus = - None - 的 zonosOrders 型別的自訂物件。該工作將執行以下幾項任務:
- 查詢 Zonos 以獲得訂單詳情。
- 使用此回應根據為運送方法和支付方法配置的設定在 SFCC 中建立訂單,以及回應中的項目、運送、結帳和客戶詳情。
- 透過突變使用 SFCC 訂單編號更新 Zonos,以將其與 Zonos Dashboard 中的 Zonos 訂單編號相關聯。
如果上述步驟成功,自訂物件屬性 createdStatus 將設定為 created 以從未來的考慮中刪除物件。如果上述步驟不成功,自訂物件屬性 createdStatus 將設定為 failed,錯誤訊息將在物件的 errorResponse 屬性(Zonos)或 sfccErrorResponse 屬性(SFCC)中記下,具體取決於在流程中回應出現錯誤的系統。
如果您需要重試放置訂單,只需將 createdStatus 重新設定為 - None -,這將在下一次工作運行中被考慮。
調整進階設定
(選用) 以下設定是進階設定。已有預設值,因此無需採取任何操作。如果您想要進行調整,請遵循以下準則:
在匯入時建立發票
預設設定為是。Zonos 會在訂單匯入時建立發票。如果您選擇停用此功能,您將需要建立自己的發票,Zonos 會將詐欺審查保留設定為 zonos_hold 狀態。一旦詐欺被解除,我們將恢復為先前的狀態。
客戶登入
預設設定為否。如果要求簽出帳戶,請切換為是。您還需要轉到 Customer configuration > Login options 並將 Redirect Customer to Account Dashboard after Logging In 更新為否。
SFCC 訂單匯出
如果您使用或計劃使用 SFCC 訂單匯出,請確保指派給訂單和產品物件的 Zonos 自訂屬性包含在您的 SFCC 訂單匯出檔案中。從 Merchant Tools > Site Preferences > Orders,將訂單匯出結構描述版本設定為最新版本。

測試您的整合
現在您已設定了帳戶和應用程式,您已準備好測試您的整合。測試時,您需要在 SFCC 中啟用 Checkout 和 Hello。要執行此操作:
- 轉到 Merchant Tools > Site Preferences > Custom Preferences > zonos。
- 將 Zonos Enabled 切換為是。
一旦您在站點的自訂站點偏好設定中設定了 Zonos 帳戶資訊,並且 Zonos Enabled 功能開關設定為 YES,您可以透過向您的站點 URL 新增以下參數來測試您的店面上的 Zonos 功能:zCountry=[您在 Zonos Dashboard 中啟用的國家/地區的國家/地區代碼]
例如,如果您啟用了加拿大:https://abcd-001.dx.commercecloud.salesforce.com/on/demandware.store/Sites-RefArch-Site?zCountry=CA
注意: 這僅對非生產環境中的測試是必需的,其中您的 Zonos 公開 API 令牌使用測試認證令牌進行設定。使用您的即時/生產 API 令牌進行設定時,不需要或不會出現
zCountryURL 參數。
如果您還沒有準備好上線,請記住在完成測試後將 Zonos Enabled 切換回否。測試完成後,使用上述相同的步驟啟用 Zonos。
解除安裝結帳
解除安裝 cartridge 必須由經驗豐富的 SFCC 開發人員執行。有關解除安裝協助,請聯絡您的 SFCC 開發團隊或 Zonos 支援。
我應該提供哪些產品資訊以獲得關於關稅、稅收和運送成本的最準確報價?
產品資訊會影響到期的關稅和稅收金額,以及運送成本。您向 Zonos 提供的產品資訊越多,傳回的報價就會越精確。即使沒有此資訊,Zonos 也可以生成報價,但建議提供以下關鍵產品詳情以提高精度:
- 重量: 重量會影響您的運送成本,進而可能影響關稅或稅收。您的 SFCC 產品清單中的重量會由 Zonos 在現有時自動使用。
- 尺寸: 尺寸可能會影響您的運送成本,進而可能影響關稅或稅收。Zonos 可以使用在 SFCC 中設定的每個產品上的產品尺寸(長度、寬度和高度),但您必須在 Zonos 自訂站點偏好設定中對其進行對應才能進行正確整合。
- HS 代碼: HS 代碼會影響關稅稅率,有時可能會影響稅收。Zonos 可以使用在 SFCC 的產品清單中設定的 HS 代碼,但您必須在 Zonos 自訂站點偏好設定中對應 HS 代碼欄位。
- 原產地國家/地區: 產品的原產地國家/地區會影響關稅稅率,並可能影響稅收。在您的 SFCC 產品清單中設定的原產地國家/地區會由 Zonos 在現有時自動使用。
注意: 或者,您可以在目錄中輸入資訊,覆寫儲存並從 SFCC 傳遞的資訊。
深入瞭解按平台的產品資訊。
Salesforce Commerce Cloud 的結帳功能
使用 Zonos Checkout 為您的 SFCC 商店轉變國際商務。
Zonos Checkout 直接整合到您的 Salesforce Commerce Cloud (SFCC) 店面,啟用無縫的國際交易,包括內建的到岸成本計算、本地化支付選項,以及 Zonos 與 SFCC Business Manager 之間的自動訂單管理。
為您的客戶: 以他們的語言和貨幣進行本地化結帳,含預先計算的到岸成本、詐欺保護,以及沒有運送時的隱藏費用。
為您的團隊: 無縫的國際計算、在 SFCC Business Manager 中進行訂單管理並自動同步,以及由 Zonos 完整處理的安全支付處理。