進階規則

即將推出

Zonos 支援透過使用規則對帳戶中的計算方式進行進階自訂。規則可用於為計算的不同部分新增緩衝、自訂費用等等。如需 Zonos 如何處理規則的完整說明(包括所有可能的規則類型清單),請參閱我們的規則說明文件。規則可透過 Zonos Dashboard 或透過 GraphQL API 進行管理。

重要: 規則是進階功能,使用不當可能會導致 Zonos 運作和計算方式出現各種非預期的後果。

若要在 Dashboard 內管理規則:

  1. 登入您的 Zonos Dashboard 帳戶。
  2. 瀏覽至 Settings -> Rules

在「Rules」頁面上,您可以檢視與 Zonos 帳戶相關聯的所有規則、篩選規則,以及快速啟用或停用規則。

若要在 Dashboard 內建立新規則:

  1. 登入您的 Zonos Dashboard 帳戶。
  2. 瀏覽至 Settings -> rules
  3. 按一下 Create rule
  4. 為規則新增名稱,以便稍後識別。這些只對貴組織的小組成員可見。
  5. 請遵循下方「指定規則條件」區段中的步驟,為規則新增條件。
  6. 請遵循下方「指定規則動作」區段中的步驟,為規則新增動作。
  7. 或者,您可以新增註解以提供額外的背景。這些只對貴組織的小組成員可見。
  8. 請遵循下方的步驟,為規則新增特定的開始日期和/或結束日期(選用)。
  9. 將規則設定為 EnabledDisabled
  10. 按一下 Save

指定開始和結束日期

規則可選擇性地具有開始日期、結束日期或兩者。開始和結束日期控制規則何時變為作用中,並可用於建立僅在特定期間作用中的規則,例如季節性折扣或其他時間敏感的情況。

規則行為

日期行為
開始和結束日期規則將在指定的開始和結束日期之間作用中。
只有開始日期,沒有結束日期規則將在指定的開始日期之後變為作用中,且必須手動停用。
沒有開始或結束日期規則將始終作用中,除非手動停用。

指定規則條件

每個規則都需要指定一個條件,以判斷它套用於什麼,以及在規則執行時有哪些變數可用。換句話說,條件會判斷規則是否應該執行以及何時執行。不同的條件有不同的可用選項。

例如,如果您選擇「運輸公司」作為條件,它允許您額外選擇運輸公司的哪一個是條件的一部分,如果您正在為特定運輸公司設定緩衝,則可能會使用此選項。

規則僅支援每個規則一個條件,不支援複雜邏輯,例如「else if」、「and/or」或類似的術語。如果您想連結規則,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。

指定規則動作

規則的動作是一旦其條件被滿足時發生的情況。就像條件一樣,可能存在各種動作,每個都有不同的選項。

例如,如果您想為特定運輸公司新增緩衝,您可以將動作設定為「套用緩衝」,然後輸入緩衝金額和適用對象。然後,您可以透過在規則的條件中指定,來控制緩衝確切適用於哪個運輸公司。

就像條件一樣,規則僅支援每個規則一個動作。如果您想要多個動作,最好考慮如何使用多個規則而不是一個巨大的複雜規則來達到相同的邏輯。

在位置上更新規則是不可能的,原因是我們的系統運作方式。這是因為我們需要保持哪些規則在哪些情況下套用以及規則執行時做了什麼的可追蹤記錄。或者,您可以封存並重新建立規則,傳入變更後的值,有效地實現規則的「更新」。

此範例突變顯示如何結合 ruleArchiveruleCreate 突變以達到此行為:

1mutation ruleUpdate(
2$ruleId: ID!
3$action: String!
4$condition: String!
5$context: String!
6$description: String!
7$name: String!
8) {
9 ruleArchive(id: $ruleId)
10 ruleCreate(
11 input: {
12 action: $action
13 condition: $condition
14 context: $context
15 name: $name
16 description: $description
17 }
18 ) {
19 id
20 action
21 context
22 condition
23 }
24}

一旦新增,可以輕鬆啟用或停用規則,以判斷它們是否應該影響您的計算。手動啟用或停用規則將覆寫規則中包含的任何開始和結束日期型邏輯。

規則可以從「編輯規則」螢幕逐一啟用或停用,或者透過在「所有規則」螢幕上使用每個規則旁的核取方塊進行批次處理。

我們提供一些用於處理規則的全域查詢,這些查詢對於探索規則如何在幕後運作、在規則之上建立 UI 等很有用。這些適用於所有使用者,不是組織特定的,並是為了方便而提供的。此查詢會傳回規則可以屬於的所有可能內容的清單。規則內容決定規則何時執行以及有哪些變數可用。

1query {
2 ruleContexts {
3 name
4 context
5 variables {
6 ruleTokenType
7 value
8 }
9 }
10}