DOCS

Managing rules

/

고급 규칙

곧 출시 예정

Zonos는 규칙을 사용하여 귀하의 계정에서 계산이 이루어지는 방식을 고급 사용자 지정할 수 있도록 지원합니다. 규칙은 계산의 다양한 부분에 버퍼를 추가하고, 수수료를 사용자 지정하는 등의 작업에 사용될 수 있습니다. Zonos가 규칙을 처리하는 방법에 대한 전체 분석과 가능한 모든 규칙 유형의 목록은 규칙 분석 문서를 참조하십시오. 규칙은 Zonos 대시보드 또는 GraphQL API를 통해 관리할 수 있습니다.

중요: 규칙은 고급 기능이며, 잘못 사용하면 Zonos의 동작 및 계산 방식에 다양한 의도치 않은 결과를 초래할 수 있습니다.

규칙 보기

대시보드
GraphQL

대시보드 내에서 규칙을 관리하려면:

  1. Zonos 대시보드 계정에 로그인합니다.
  2. 설정 -> 규칙으로 이동합니다.

“규칙” 페이지에서 귀하의 Zonos 계정과 관련된 모든 규칙을 보고, 규칙을 필터링하며, 규칙을 빠르게 활성화하거나 비활성화할 수 있습니다.

규칙

규칙 만들기

대시보드
GraphQL

대시보드에서 새 규칙을 만들려면:

  1. Zonos 대시보드 계정에 로그인합니다.
  2. 설정 -> 규칙으로 이동합니다.
  3. 규칙 만들기를 클릭합니다.
  4. 나중에 식별할 수 있도록 규칙에 이름을 추가합니다. 이는 귀하의 조직 내 팀원에게만 표시됩니다.
  5. 아래 “규칙 조건 지정” 섹션의 단계를 따라 규칙에 조건을 추가합니다.
  6. 아래 “규칙 작업 지정” 섹션의 단계를 따라 규칙에 작업을 추가합니다.
  7. 선택적으로 추가적인 맥락을 위해 주석을 추가할 수 있습니다. 이는 귀하의 조직 내 팀원에게만 표시됩니다.
  8. 규칙에 대한 특정 시작 및/또는 종료 날짜를 추가하려면 아래 단계를 따릅니다(선택 사항).
  9. 규칙을 활성화 또는 비활성화로 설정합니다.
  10. 저장을 클릭합니다.

시작 및 종료 날짜 지정

규칙은 선택적으로 시작 날짜, 종료 날짜 또는 둘 다 가질 수 있습니다. 시작 및 종료 날짜는 규칙이 활성화되는 시기와 방법을 제어하며, 계절 할인이나 기타 시간에 민감한 상황과 같이 특정 기간 동안만 활성화되는 규칙을 만드는 데 사용할 수 있습니다.

규칙 동작

날짜동작
시작 및 종료 날짜규칙은 지정된 시작 및 종료 날짜 사이에 활성화됩니다.
시작 날짜만, 종료 날짜 없음규칙은 지정된 시작 날짜 이후에 활성화되며 수동으로 비활성화해야 합니다.
시작 날짜나 종료 날짜 없음규칙은 수동으로 비활성화하지 않는 한 항상 활성화됩니다.

규칙 조건 지정

모든 규칙은 규칙이 적용되는 대상을 결정하고 규칙이 실행될 때 사용할 수 있는 변수를 결정하기 위해 조건을 지정해야 합니다. 즉, 조건은 규칙이 실행되어야 하는지 여부와 시기를 결정합니다. 서로 다른 조건은 서로 다른 옵션을 제공합니다.

예를 들어, “배송 운송업체”를 조건으로 선택하면 조건의 일부인 어떤 운송업체를 추가로 선택할 수 있습니다. 이는 특정 운송업체에 대한 버퍼를 설정할 때 사용할 수 있습니다.

규칙은 각각 하나의 조건만 지원하며 “else if”, “and/or” 또는 유사한 용어와 같은 복잡한 논리를 지원하지 않습니다. 규칙을 연결하려면 하나의 거대한 복잡한 규칙 대신 여러 규칙으로 동일한 논리를 달성하는 방법을 생각하는 것이 가장 좋습니다.

규칙 작업 지정

규칙의 작업은 조건이 충족되었을 때 발생하는 일입니다. 조건과 마찬가지로 다양한 작업이 가능하며 각기 다른 옵션이 있습니다.

예를 들어, 특정 배송 운송업체에만 버퍼를 추가하려면 작업을 “버퍼 적용”으로 설정하고 버퍼의 양과 적용 대상을 입력합니다. 그런 다음 규칙의 조건에서 이를 지정하여 버퍼가 정확히 어떤 운송업체에 적용되는지 제어할 수 있습니다.

조건과 마찬가지로 규칙은 각각 하나의 작업만 지원합니다. 여러 작업이 필요한 경우 하나의 거대한 복잡한 규칙 대신 여러 규칙으로 동일한 논리를 달성하는 방법을 생각하는 것이 가장 좋습니다.

업데이트 규칙

현재 시스템의 작동 방식으로 인해 규칙을 업데이트하는 것은 불가능합니다. 이는 어떤 규칙이 어떤 상황에서 적용되었는지, 그리고 규칙이 실행될 때 어떤 작업을 수행했는지에 대한 추적 가능한 기록을 유지해야 하기 때문입니다. 대안으로, 규칙을 보관하고 재생성하여 변경된 값을 전달함으로써 사실상 규칙에 대한 "업데이트"를 달성할 수 있습니다.

이 예제 변형은 ruleArchiveruleCreate 변형을 결합하여 이러한 동작을 달성하는 방법을 보여줍니다:

변형

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
  }
}

변수

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"
}

아카이브 규칙

대시보드
GraphQL

추가된 규칙은 계산에 영향을 미치는지 여부를 쉽게 활성화하거나 비활성화할 수 있습니다. 규칙을 수동으로 활성화하거나 비활성화하면 규칙에 포함된 시작 및 종료 날짜 기반 논리를 무시합니다.

규칙은 “규칙 편집” screen에서 하나씩 활성화하거나 비활성화할 수 있으며, “모든 규칙” screen에서 각 규칙 옆의 체크박스를 사용하여 일괄적으로 활성화하거나 비활성화할 수 있습니다.

가능한 모든 규칙 컨텍스트 나열

우리는 규칙을 다루기 위한 몇 가지 글로벌 쿼리를 제공합니다. 이는 규칙이 내부에서 어떻게 작동하는지 발견하고, 규칙 위에 UI를 생성하는 데 유용합니다. 이러한 쿼리는 모든 사용자에게 적용되며, 조직별이 아니며 편의를 위해 제공됩니다. 이 쿼리는 규칙이 속할 수 있는 모든 가능한 컨텍스트의 목록을 반환합니다. 규칙 컨텍스트는 규칙이 실행되는 시점과 사용 가능한 변수를 결정합니다.

쿼리

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

응답

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"
          }
        ]
      }
    ]
  }
}

이 페이지가 도움이 되었습니까?


질문 있으세요?

문의하세요.

Zonos을 보세요

정책 및 계약
이 페이지에서: