建立後設資料封存
在安裝購物架之前,請確保您已安裝了基於 SFRA 的工作沙盒網站。然後建立網站導入後設資料封存:
- 在您解壓縮的 Zonos LINK 購物架中,將
/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 沙盒:
- 前往 業務管理員 > 管理 > 網站開發 > 網站導入和匯出。
- 使用 本機 上傳選項上傳
metadata.zip。 - 上傳後,在清單中找到封存,然後點擊 導入。

此步驟會建立 Zonos 整合所使用的必要網站偏好設定、服務、認證和自訂物件。
將購物架新增到購物架路徑
將 int_zonos 購物架新增到您網站的購物架路徑以啟用其控制器、指令碼和範本:
- 瀏覽至 管理 > 網站 > 管理網站 > [您的目標網站] > 設定。
- 將
int_zonos插入購物架路徑,位於基礎 SFRA 店面購物架 (app_storefront_base) 之前。

設定管線別名
購物架中包含 2 個自訂管線,應在業務管理員中新增管線別名:
Zonos-OrderConfirmation
這用於 Zonos 結帳完成後在 SFCC 中的自訂訂單確認。使用者將被重定向到此處。例如,別名可以是 zonos-order-confirmation。請為您的業務選擇並新增適當的別名,該別名不同於您用於原生 SFCC/SFRA 結帳訂單確認頁面的別名 (COSummary-Submit)。
Zonos-PlaceSFCCOrder
這用於在 SFCC/SFRA 中建立 Zonos 訂單的自訂端點,假設別名是 zonos-placesfccorder。如果您在此處使用不同的別名,您在設定服務時需要注意這一點。這不是公開的 URL,因此建議初始設定使用 zonos-placesfccorder 以方便使用此購物架。
要設定這兩個別名,在業務管理員中,瀏覽至 商務工具 > URL 規則 > 管線 URL。

設定 SFCC 服務
通過第 2 步的網站導入,建立了兩個 SFCC 服務(伴隨配置檔和認證):zonos.api.graphql 和 create.order.api.sfra。
單一網站設定
如果您的組織在您的 SFCC 組織中有單個店面網站,這裡無需進行額外操作,您可以繼續下一步。
多個網站設定
如果您的組織在您的 SFCC 組織中有或計劃有多個店面網站,您需要對您的 SFCC 服務進行更新/新增。當您有多個將使用 Zonos 整合的 SFCC 網站時,您將需要為每個網站建立一個訂單建立 API 服務。對於每個網站,執行以下操作:
- 建立名稱為
create.order.api.[siteID]的新認證。 - 將認證 URL 分配為:
https://[沙盒主機]/s/[網站 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 自訂網站偏好設定
在業務管理員中,瀏覽至 商務工具 > 網站偏好設定 > 自訂偏好設定,然後點擊 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 儀表板中找到 (設定 > 整合 > API 金鑰:公開認證)。 |
| Private API Token | (必需) 私人整合令牌。此值可在您的 Zonos 儀表板中找到 (設定 > 整合 > API 金鑰:Zonos API)。 |
| Zonos Store ID | (必需) 由 Zonos 提供的商店 ID。此值可在您的 Zonos 儀表板中找到 (設定 > 整合 > 應用認證:商店 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 訂單相關聯,此處的值可變更為在業務管理員中設定的任何有效付款方式的 ID。 |
| Zonos Ship Method Mapping | Zonos 訂單詳情回應中的運送方式 ID 到在 SFCC 中放置 Zonos 訂單時的 SFCC 運送方式 ID 的 JSON 對應。設定預設對應,以便在未明確對應時,未對應的 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 儀表板中定義的運送方式。當這些訂單導入到 SFCC 時,它們的運送方式必須對應到有效的 SFCC 運送方式。為了支持這一點:
- 在 SFCC 中設定一個或多個運送方式,您的 Zonos 運送方式應對應到這些運送方式。
- 在上述 Zonos Ship Method Mapping 自訂網站偏好設定中,在您的 Zonos 運送方式和您的 SFCC 運送方式之間建立一個或多個運送方式對應。
運送方式對應
以 JSON 物件的形式,運送方式對應會將您的 Zonos 運送方式對應到您的 SFCC 運送方式。此對應必須為 每一個 可能在您的 Zonos 結帳中選擇的潛在 Zonos 運送方式(服務等級)都有一個對應記錄。強烈建議 您也包含一個 default 對應記錄,當 Zonos 訂單放置時使用不存在 SFCC 運送方式對應的運送方式時,此記錄將被使用,從而防止由於缺少 SFCC 訂單中的運送方式而造成的下游故障。
JSON 物件的格式為:
{
"[Zonos 運送服務等級代碼]": "[SFCC 運送方式 ID]",
...
"default": "[預設 SFCC 運送方式 ID]"
}
範例
假設您在 Zonos 儀表板中啟用了以下服務等級:

無論您的原因如何(即後台要求、額外的第三方運送服務整合等),您可能限於在您網站的 SFCC 中使用以下運送方式:

當接收到新的 Zonos 訂單然後放入 SFCC 時,運送方式必須來自此清單。
要建立您的對應,登入您的 Zonos 儀表板,前往 運送 > 管理費率,然後點擊每個顯示的 啟用服務等級,您將看到類似以下的顯示:

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

使用運送服務等級代碼,建立一個對應記錄,將其對應到在 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

如果您的專案在更高優先級購物架中覆蓋了這些範本,請確保遠程包含已新增到您的自訂版本:
<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 儀表板中)中。
價格顯示代碼變更
Zonos 購物架包含以下疊加範本,用於在整個參考架構網站中呈現價格的位置,使用分配給包含這些各種價格的 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
如果沒有在購物架路徑中比 int_zonos 更高的位置設定包含這些範本的購物架,則 Zonos Hello 轉換這些價格呈現貨幣不需要代碼變更。如果您在一個或多個購物架中自訂了這些範本的版本,該購物架在購物架路徑中比 int_zonos 更高,您將需要在這些自訂範本中的 HTML 包裝器上為價格分配唯一的類名(如上所示)。
設定價格元素選擇器字串
貨幣選擇器字串是 jQuery 風格的選擇器字串值,由 Zonos 指令碼用於識別應接收貨幣轉換更新的包含價格值的 HTML 元素。此值應是以空格分隔的 CSS 類名和/或 ID 清單,分配給在前一步驟中描述的您網站的價格顯示周圍的 HTML 元素的包裝,其中類名前綴為 .,ID 前綴為 #(無引號)。例如,如果您的網站將利用 Zonos 購物架中包含的價格顯示範本,選擇器字串將是 .zonos-list-price .zonos-sales-price .zonos-price(無引號)。
貨幣選擇器字串可通過您的 Zonos 儀表板或在業務管理員中的 Zonos 自訂網站偏好設定的 Currency Element Selector 中進行設定。
注意: 如果在兩個位置都進行了設定,業務管理員中的值將優先。
深入了解 Zonos Hello 貨幣轉換。
設定結帳按鈕
結帳按鈕選擇器字串是 jQuery 選擇器字串值,由 Zonos 指令碼用於識別您的網站上充當按鈕控制項的 HTML 元素,點擊時將客戶帶入您網站的結帳流程。
當購物者點擊由您設定的選擇器字串比對的結帳按鈕時,Zonos 會自動攔截該操作並打開模態結帳。
結帳按鈕選擇器字串可通過您的 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 中建立訂單,以及回應中項目、運送、結賬和客戶的詳細資訊。
- 通過變異向 Zonos 更新 SFCC 訂單編號,以將其與 Zonos 儀表板中的 Zonos 訂單編號相關聯。
如果上述步驟成功,自訂物件屬性 createdStatus 將設定為 created,以將物件從未來的考慮中移除。如果上述步驟不成功,自訂物件屬性 createdStatus 將設定為 failed,並且錯誤訊息將記錄在物件中屬性 errorResponse (Zonos) 或 sfccErrorResponse (SFCC) 中,具體取決於在流程中回應出錯的系統。
如果您需要重試放置訂單,只需將 createdStatus 重新設定為 - None -,這將在下一次工作運行時被納入考慮。
調整進階設定
選用 — 以下設定是進階設定。已有預設值,因此無需執行任何操作。如果您想進行調整,請遵循以下指南:
導入時建立發票
預設設定為 是。Zonos 將在訂單導入時建立發票。如果選擇停用此功能,您將需要自己建立發票,Zonos 將設定欺詐審查保留為 zonos_hold 狀態。欺詐解除後,我們將還原為之前的狀態。
客戶登入
預設設定為 否。如果您想要求帳戶用於結帳,請切換為 是。您還需要前往 客戶設定 > 登入選項 並將 登入後將客戶重定向到帳戶儀表板 更新為 否。
SFCC 訂單匯出
如果您使用或計劃使用 SFCC 訂單匯出,請確保 Zonos 自訂屬性分配給訂單和產品物件包含在您的 SFCC 訂單匯出檔案中。從 商務工具 > 網站偏好設定 > 訂單 中,將訂單匯出架構版本設定為最新版本。

測試您的整合
現在您已經設定了您的帳戶和應用,您已準備好測試您的整合。在測試時,您需要在 SFCC 中啟用 Checkout 和 Hello。執行方式如下:
- 前往 商務工具 > 網站偏好設定 > 自訂偏好設定 > zonos。
- 將 Zonos Enabled 切換為 是。
一旦您在網站的自訂網站偏好設定中設定了 Zonos 帳戶資訊,並將 Zonos Enabled 功能開關設定為 是,您可以通過將以下參數新增到網站的 URL 來在店面上測試 Zonos 功能:zCountry=[您在 Zonos 儀表板中啟用的國家的國家代碼]
例如,如果您已啟用加拿大:https://abcd-001.dx.commercecloud.salesforce.com/on/demandware.store/Sites-RefArch-Site?zCountry=CA
注意: 這僅在非生產環境中進行測試時才需要,其中您的 Zonos 公開 API 令牌配置了測試認證令牌。使用您的實時/生產 API 令牌進行設定時,不需要或期望
zCountryURL 參數。
如果您還未準備好上線,請記住在完成測試後將 Zonos Enabled 切換回 否。完成測試後,使用上述相同步驟啟用 Zonos。
卸載結帳
卸載購物架必須由有經驗的 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 業務管理員之間的自動訂單管理。
為您的客戶: 以他們的語言和貨幣提供本地化結帳體驗,提前計算著陸成本、欺詐保護,以及交付時無驚喜費用。
為您的團隊: 無縫國際計算、在 SFCC 業務管理員中進行訂單管理(自動訂單同步),以及由 Zonos 全面處理的安全付款處理。