即將推出
Zonos 支援透過使用規則對帳戶中的計算方式進行進階自訂。規則可用於為計算的不同部分新增緩衝、自訂費用等等。如需 Zonos 如何處理規則的完整說明(包括所有可能的規則類型清單),請參閱我們的規則說明文件。規則可透過 Zonos Dashboard 或透過 GraphQL API 進行管理。
重要: 規則是進階功能,使用不當可能會導致 Zonos 運作和計算方式出現各種非預期的後果。
若要在 Dashboard 內管理規則:
在「Rules」頁面上,您可以檢視與 Zonos 帳戶相關聯的所有規則、篩選規則,以及快速啟用或停用規則。
若要在 Dashboard 內建立新規則:
規則可選擇性地具有開始日期、結束日期或兩者。開始和結束日期控制規則何時變為作用中,並可用於建立僅在特定期間作用中的規則,例如季節性折扣或其他時間敏感的情況。
每個規則都需要指定一個條件,以判斷它套用於什麼,以及在規則執行時有哪些變數可用。換句話說,條件會判斷規則是否應該執行以及何時執行。不同的條件有不同的可用選項。
例如,如果您選擇「運輸公司」作為條件,它允許您額外選擇運輸公司的哪一個是條件的一部分,如果您正在為特定運輸公司設定緩衝,則可能會使用此選項。
規則僅支援每個規則一個條件,不支援複雜邏輯,例如「else if」、「and/or」或類似的術語。如果您想連結規則,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。
規則的動作是一旦其條件被滿足時發生的情況。就像條件一樣,可能存在各種動作,每個都有不同的選項。
例如,如果您想為特定運輸公司新增緩衝,您可以將動作設定為「套用緩衝」,然後輸入緩衝金額和適用對象。然後,您可以透過在規則的條件中指定,來控制緩衝確切適用於哪個運輸公司。
就像條件一樣,規則僅支援每個規則一個動作。如果您想要多個動作,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。
受限於我們系統的運作方式,無法直接原地更新規則。這是因為我們需要保持哪些規則在哪些情況下套用以及規則執行時做了什麼的可追蹤記錄。或者,您可以封存並重新建立規則,傳入變更後的值,有效地實現規則的「更新」。
此範例突變顯示如何結合 ruleArchive 和 ruleCreate 突變以達到此行為:
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 Dashboard 或透過 GraphQL API 進行管理。
檢視規則
若要在 Dashboard 內管理規則:
在「Rules」頁面上,您可以檢視與 Zonos 帳戶相關聯的所有規則、篩選規則,以及快速啟用或停用規則。
建立規則
若要在 Dashboard 內建立新規則:
指定開始和結束日期
規則可選擇性地具有開始日期、結束日期或兩者。開始和結束日期控制規則何時變為作用中,並可用於建立僅在特定期間作用中的規則,例如季節性折扣或其他時間敏感的情況。
規則行為
指定規則條件
每個規則都需要指定一個條件,以判斷它套用於什麼,以及在規則執行時有哪些變數可用。換句話說,條件會判斷規則是否應該執行以及何時執行。不同的條件有不同的可用選項。
例如,如果您選擇「運輸公司」作為條件,它允許您額外選擇運輸公司的哪一個是條件的一部分,如果您正在為特定運輸公司設定緩衝,則可能會使用此選項。
規則僅支援每個規則一個條件,不支援複雜邏輯,例如「else if」、「and/or」或類似的術語。如果您想連結規則,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。
指定規則動作
規則的動作是一旦其條件被滿足時發生的情況。就像條件一樣,可能存在各種動作,每個都有不同的選項。
例如,如果您想為特定運輸公司新增緩衝,您可以將動作設定為「套用緩衝」,然後輸入緩衝金額和適用對象。然後,您可以透過在規則的條件中指定,來控制緩衝確切適用於哪個運輸公司。
就像條件一樣,規則僅支援每個規則一個動作。如果您想要多個動作,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。
更新規則
受限於我們系統的運作方式,無法直接原地更新規則。這是因為我們需要保持哪些規則在哪些情況下套用以及規則執行時做了什麼的可追蹤記錄。或者,您可以封存並重新建立規則,傳入變更後的值,有效地實現規則的「更新」。
此範例突變顯示如何結合
ruleArchive和ruleCreate突變以達到此行為: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}}}這個頁面有幫助嗎?