DOCS

Managing rules

/

Quy tắc nâng cao

SẮP CÓ

Zonos hỗ trợ tùy chỉnh nâng cao cách các phép tính diễn ra trong tài khoản của bạn thông qua việc sử dụng các quy tắc. Các quy tắc có thể được sử dụng để thêm bộ đệm vào các phần khác nhau của phép tính, tùy chỉnh phí, và nhiều hơn nữa. Để có cái nhìn tổng quan đầy đủ về cách Zonos xử lý các quy tắc, bao gồm danh sách tất cả các loại quy tắc có thể, hãy xem tài liệu phân tích quy tắc của chúng tôi. Các quy tắc có thể được quản lý qua Zonos Dashboard hoặc thông qua GraphQL API.

Quan trọng: Các quy tắc là một tính năng nâng cao, và việc sử dụng sai có thể gây ra nhiều hậu quả không mong muốn với cách Zonos hoạt động và tính toán cho bạn.

Xem quy tắc

Dashboard
GraphQL

Để quản lý các quy tắc trong Dashboard:

  1. Đăng nhập vào tài khoản Zonos Dashboard.
  2. Điều hướng đến Cài đặt -> Quy tắc.

Trên trang “Quy tắc”, bạn có thể xem tất cả các quy tắc liên quan đến tài khoản Zonos, lọc các quy tắc và nhanh chóng bật hoặc tắt các quy tắc.

Tạo quy tắc

Bảng điều khiển
GraphQL

Để tạo một quy tắc mới trong Bảng điều khiển:

  1. Đăng nhập vào tài khoản Zonos Bảng điều khiển.
  2. Điều hướng đến Cài đặt -> quy tắc.
  3. Nhấp vào Tạo quy tắc.
  4. Thêm tên cho quy tắc của bạn để bạn có thể nhận diện nó sau này. Những tên này chỉ hiển thị cho các thành viên trong tổ chức của bạn.
  5. Làm theo các bước trong phần “Xác định điều kiện quy tắc” bên dưới để thêm một điều kiện cho quy tắc của bạn.
  6. Làm theo các bước trong phần “Xác định hành động quy tắc” bên dưới để thêm một hành động cho quy tắc của bạn.
  7. Tùy chọn, bạn có thể thêm một bình luận để cung cấp thêm ngữ cảnh. Những bình luận này chỉ hiển thị cho các thành viên trong tổ chức của bạn.
  8. Làm theo các bước bên dưới để thêm một ngày bắt đầu và/hoặc ngày kết thúc cụ thể cho quy tắc của bạn (tùy chọn).
  9. Đặt quy tắc của bạn thành Bật hoặc Tắt.
  10. Nhấp vào Lưu.

Xác định ngày bắt đầu và kết thúc

Quy tắc có thể có ngày bắt đầu, ngày kết thúc, hoặc cả hai. Ngày bắt đầu và kết thúc kiểm soát khi nào và cách quy tắc của bạn trở nên hoạt động và có thể được sử dụng để tạo ra các quy tắc chỉ hoạt động trong các khoảng thời gian cụ thể, chẳng hạn như giảm giá theo mùa hoặc các tình huống nhạy cảm về thời gian khác.

Hành vi quy tắc

NgàyHành vi
Ngày bắt đầu và ngày kết thúcQuy tắc sẽ hoạt động giữa ngày bắt đầu và ngày kết thúc đã chỉ định.
Chỉ có ngày bắt đầu, không có ngày kết thúcQuy tắc sẽ trở nên hoạt động sau ngày bắt đầu đã chỉ định và phải được tắt thủ công.
Không có ngày bắt đầu hoặc ngày kết thúcQuy tắc sẽ luôn hoạt động trừ khi bị tắt thủ công.

Xác định điều kiện quy tắc

Mỗi quy tắc yêu cầu một điều kiện được xác định để xác định nó áp dụng cho cái gì và các biến nào có sẵn tại thời điểm quy tắc chạy. Nói cách khác, điều kiện xác định nếu quy tắc nên chạy hay không và khi nào. Các điều kiện khác nhau có các tùy chọn khác nhau.

Ví dụ, nếu bạn chọn “Nhà vận chuyển” làm điều kiện, nó cho phép bạn chọn nhà vận chuyển nào là một phần của điều kiện, điều này có thể hữu ích nếu bạn đang thiết lập một bộ đệm chỉ cho một nhà vận chuyển cụ thể.

Quy tắc chỉ hỗ trợ một điều kiện mỗi quy tắc, và không hỗ trợ logic phức tạp như “nếu không”, “và/hoặc”, hoặc các thuật ngữ tương tự. Nếu bạn muốn kết nối các quy tắc, tốt nhất là nghĩ về cách bạn có thể đạt được cùng một logic với nhiều quy tắc so với một quy tắc lớn, phức tạp.

Xác định hành động quy tắc

Hành động của một quy tắc là những gì xảy ra khi điều kiện của nó được đáp ứng. Giống như các điều kiện, có nhiều hành động khác nhau có thể, mỗi hành động có các tùy chọn khác nhau.

Ví dụ, nếu bạn muốn thêm một bộ đệm chỉ cho một nhà vận chuyển cụ thể, bạn sẽ đặt hành động thành “áp dụng một bộ đệm” và nhập số lượng bộ đệm của bạn và cái mà nó áp dụng. Bạn có thể kiểm soát chính xác nhà vận chuyển nào mà bộ đệm áp dụng bằng cách chỉ định điều đó trong điều kiện của quy tắc.

Giống như các điều kiện, quy tắc chỉ hỗ trợ một hành động mỗi quy tắc. Nếu bạn muốn nhiều hành động, tốt nhất là nghĩ về cách bạn có thể đạt được cùng một logic với nhiều quy tắc so với một quy tắc lớn, phức tạp.

Cập nhật quy tắc

Việc cập nhật các quy tắc hiện có là không thể với cách mà hệ thống của chúng tôi hoạt động. Điều này là do chúng tôi cần giữ một lịch sử có thể truy nguyên về các quy tắc đã được áp dụng trong các tình huống nào và quy tắc đó đã làm gì khi nó chạy. Thay vào đó, bạn có thể lưu trữ và tạo lại một quy tắc, truyền vào các giá trị đã thay đổi, hiệu quả đạt được một "cập nhật" cho quy tắc.

Ví dụ về biến đổi này cho thấy cách bạn có thể kết hợp các biến đổi ruleArchiveruleCreate để đạt được hành vi này:

Biến đổi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
  }
}

Biến

1
2
3
4
5
6
7
8
{
  "ruleId": "rule_935ee1ca-0c4d-4147-826a-1cb0894d9f43",
  "action": "amount = amount + 5 % amount",
  "condition": "ship_to_country == CA",
  "context": "SHIPMENT_RATING_BUFFER",
  "description": "test",
  "name": "test"
}

Quy tắc lưu trữ

Bảng điều khiển
GraphQL

Sau khi được thêm, quy tắc có thể dễ dàng được kích hoạt hoặc vô hiệu hóa để xác định xem chúng có nên ảnh hưởng đến các phép tính của bạn hay không. Việc kích hoạt hoặc vô hiệu hóa một quy tắc bằng cách thủ công sẽ ghi đè lên bất kỳ logic dựa trên ngày bắt đầu và kết thúc nào được chứa trong quy tắc.

Quy tắc có thể được kích hoạt hoặc vô hiệu hóa một cách riêng lẻ từ “Chỉnh sửa một quy tắc” screen, hoặc theo lô bằng cách sử dụng các ô đánh dấu bên cạnh mỗi quy tắc trên “Tất cả quy tắc” screen.

Liệt kê tất cả các ngữ cảnh quy tắc có thể

Chúng tôi cung cấp một số truy vấn toàn cầu để xử lý các quy tắc mà hữu ích để khám phá cách hoạt động của các quy tắc, tạo giao diện người dùng trên cơ sở các quy tắc, v.v. Những truy vấn này áp dụng cho tất cả người dùng, không phải dành riêng cho tổ chức, và được cung cấp cho sự tiện lợi. Truy vấn này trả về một danh sách tất cả các ngữ cảnh có thể mà các quy tắc có thể thuộc về. Một ngữ cảnh quy tắc xác định khi nào một quy tắc chạy và những biến nào có sẵn.

Truy vấn

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

Phản hồi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  "data": {
    "ruleContexts": [
      {
        "name": "SHIPMENT_RATING_BUFFER",
        "context": "buffer",
        "variables": [
          {
            "ruleTokenType": "MONEY",
            "value": "amount"
          },
          {
            "ruleTokenType": "NUMBER",
            "value": "item_count"
          },
          {
            "ruleTokenType": "MONEY",
            "value": "items_total"
          },
          {
            "ruleTokenType": "COUNTRY",
            "value": "ship_from_country"
          },
          {
            "ruleTokenType": "COUNTRY",
            "value": "ship_to_country"
          },
          {
            "ruleTokenType": "WEIGHT",
            "value": "weight"
          },
          {
            "ruleTokenType": "STRING",
            "value": "service_level"
          },
          {
            "ruleTokenType": "STRING",
            "value": "carrier"
          }
        ]
      }
    ]
  }
}

Trang này có hữu ích không?