即將推出
Zonos 支援透過規則進階自訂帳戶內的計算方式。規則可用於在計算的不同部分新增緩衝值、自訂費用等。如欲全面瞭解 Zonos 如何處理規則(包括所有可能的規則類型清單),請參閱我們的規則分類文件。規則可透過 Zonos 儀表板或 GraphQL API 進行管理。
重要事項: 規則是進階功能,使用不當可能會導致 Zonos 的行為和計算方式出現各種意想不到的後果。
若要在儀表板內管理規則,請執行下列步驟:
在「規則」頁面上,您可以查看與 Zonos 帳戶相關聯的所有規則、篩選規則,並快速啟用或停用規則。
若要在儀表板內建立新規則,請執行下列步驟:
規則可以選擇有開始日期、結束日期或兩者。開始和結束日期可控制規則何時變為有效,並可用於建立僅在特定時期內有效的規則,例如季節性折扣或其他時間敏感的情況。
每條規則都需要指定條件,以決定其適用的項目及規則執行時可用的變數。換言之,條件決定規則是否應該執行及何時執行。不同的條件有不同的可用選項。
例如,如果選擇「運送業者」作為條件,可以進一步選擇哪個業者是條件的一部分,如果只是為特定業者設定緩衝值,可能會用到此項。
規則每個僅支援一個條件,並且不支援複雜邏輯,例如「else if」、「and/or」或類似術語。如果要鏈結規則,最好考慮如何透過多條規則而非一條複雜的規則實現相同的邏輯。
規則的動作是在滿足其條件後發生的情況。與條件類似,有各種可能的動作,每個都有不同的選項。
例如,如果想要只為特定的運送業者新增緩衝值,您可以將動作設定為「套用緩衝值」,並輸入緩衝值的金額及其適用範圍。然後,您可以透過在規則的條件中指定該項目來控制緩衝值適用的確切業者。
與條件類似,規則每個僅支援一個動作。如果要多個動作,最好考慮如何透過多條規則而非一條複雜的規則實現相同的邏輯。
在系統的運作方式中,不可能就地更新規則。這是因為我們需要保持可追蹤的歷史記錄,記錄在哪些情況下應用了哪些規則,以及規則執行時執行的作業。或者,您可以封存並重新建立規則,並傳入變更的值,有效地實現對規則的「更新」。
此範例 mutation 展示瞭如何組合 ruleArchive 和 ruleCreate mutation 以實現此行為:
ruleArchive
ruleCreate
mutation ruleUpdate(
$ruleId: ID!
$action: String!
$condition: String!
$context: String!
$description: String!
$name: String!
) {
ruleArchive(id: $ruleId)
ruleCreate(
input: {
action: $action
condition: $condition
context: $context
name: $name
description: $description
}
id
action
context
condition
新增規則後,可以輕鬆啟用或停用規則來決定它們是否應影響計算。手動啟用或停用規則會覆蓋規則中包含的任何開始和結束日期型邏輯。
可以逐一從「編輯規則」畫面或使用「所有規則」畫面上每條規則旁邊的核取方塊來批量啟用或停用規則。
我們為處理規則提供了一些全域查詢,這對於瞭解規則在幕後的運作方式、在規則上建立 UI 等都很有用。這些適用於所有使用者,不受特定組織限制,並為了方便而提供。此查詢會傳回規則可以屬於的所有可能內容的清單。規則內容決定了規則何時執行及有哪些變數可用。
query {
ruleContexts {
name
variables {
ruleTokenType
value
規則
進階規則
即將推出
Zonos 支援透過規則進階自訂帳戶內的計算方式。規則可用於在計算的不同部分新增緩衝值、自訂費用等。如欲全面瞭解 Zonos 如何處理規則(包括所有可能的規則類型清單),請參閱我們的規則分類文件。規則可透過 Zonos 儀表板或 GraphQL API 進行管理。
查看規則
若要在儀表板內管理規則,請執行下列步驟:
在「規則」頁面上,您可以查看與 Zonos 帳戶相關聯的所有規則、篩選規則,並快速啟用或停用規則。
建立規則
若要在儀表板內建立新規則,請執行下列步驟:
指定開始和結束日期
規則可以選擇有開始日期、結束日期或兩者。開始和結束日期可控制規則何時變為有效,並可用於建立僅在特定時期內有效的規則,例如季節性折扣或其他時間敏感的情況。
規則行為
指定規則條件
每條規則都需要指定條件,以決定其適用的項目及規則執行時可用的變數。換言之,條件決定規則是否應該執行及何時執行。不同的條件有不同的可用選項。
例如,如果選擇「運送業者」作為條件,可以進一步選擇哪個業者是條件的一部分,如果只是為特定業者設定緩衝值,可能會用到此項。
規則每個僅支援一個條件,並且不支援複雜邏輯,例如「else if」、「and/or」或類似術語。如果要鏈結規則,最好考慮如何透過多條規則而非一條複雜的規則實現相同的邏輯。
指定規則動作
規則的動作是在滿足其條件後發生的情況。與條件類似,有各種可能的動作,每個都有不同的選項。
例如,如果想要只為特定的運送業者新增緩衝值,您可以將動作設定為「套用緩衝值」,並輸入緩衝值的金額及其適用範圍。然後,您可以透過在規則的條件中指定該項目來控制緩衝值適用的確切業者。
與條件類似,規則每個僅支援一個動作。如果要多個動作,最好考慮如何透過多條規則而非一條複雜的規則實現相同的邏輯。
更新規則
在系統的運作方式中,不可能就地更新規則。這是因為我們需要保持可追蹤的歷史記錄,記錄在哪些情況下應用了哪些規則,以及規則執行時執行的作業。或者,您可以封存並重新建立規則,並傳入變更的值,有效地實現對規則的「更新」。
此範例 mutation 展示瞭如何組合
ruleArchive和ruleCreatemutation 以實現此行為:mutation ruleUpdate($ruleId: ID!$action: String!$condition: String!$context: String!$description: String!$name: String!) {ruleArchive(id: $ruleId)ruleCreate(input: {action: $actioncondition: $conditioncontext: $contextname: $namedescription: $description}) {idactioncontextcondition}}封存規則
新增規則後,可以輕鬆啟用或停用規則來決定它們是否應影響計算。手動啟用或停用規則會覆蓋規則中包含的任何開始和結束日期型邏輯。
可以逐一從「編輯規則」畫面或使用「所有規則」畫面上每條規則旁邊的核取方塊來批量啟用或停用規則。
列出所有可能的規則內容
我們為處理規則提供了一些全域查詢,這對於瞭解規則在幕後的運作方式、在規則上建立 UI 等都很有用。這些適用於所有使用者,不受特定組織限制,並為了方便而提供。此查詢會傳回規則可以屬於的所有可能內容的清單。規則內容決定了規則何時執行及有哪些變數可用。
query {ruleContexts {namecontextvariables {ruleTokenTypevalue}}}這個頁面有幫助嗎?