DOCS

规则

高级规则

即将推出

Zonos 支持通过规则对您账户中的计算方式进行高级自定义。规则可用于向计算的不同部分添加缓冲区、自定义费用等。有关 Zonos 如何处理规则的完整说明,包括所有可能的规则类型的列表,请参阅我们的规则说明文档。规则可以通过 Zonos Dashboard 或 GraphQL API 进行管理。

重要提示: 规则是一项高级功能,不当使用可能导致 Zonos 行为和计算方式产生各种意外后果。

要在 Dashboard 中管理规则,请执行以下操作:

  1. 登录您的 Zonos Dashboard 账户。
  2. 导航至 设置规则

在「规则」页面上,您可以查看与 Zonos 账户关联的所有规则、筛选规则以及快速启用或禁用规则。

要在 Dashboard 中创建新规则,请执行以下操作:

  1. 登录您的 Zonos Dashboard 账户。
  2. 导航至 设置规则
  3. 点击 创建规则
  4. 为您的规则添加名称,以便稍后识别。这些仅对您组织内的团队成员可见。
  5. 按照下面「指定规则条件」部分中的步骤为规则添加条件。
  6. 按照下面「指定规则操作」部分中的步骤为规则添加操作。
  7. (可选)您可以添加评论以获取其他上下文。这些仅对您组织内的团队成员可见。
  8. 按照下面的步骤为规则添加特定的开始日期和/或结束日期(可选)。
  9. 将您的规则设置为 启用禁用
  10. 点击 保存

指定开始和结束日期

规则可以选择具有开始日期、结束日期或两者。开始和结束日期控制规则何时变为活跃,并且可用于创建仅在特定时期内活跃的规则,例如季节性折扣或其他时间敏感的情况。

规则行为

日期行为
开始和结束日期规则将在指定的开始日期和结束日期之间处于活跃状态。
仅开始日期,无结束日期规则将在指定的开始日期后变为活跃,必须手动禁用。
无开始或结束日期规则将始终处于活跃状态,除非手动禁用。

指定规则条件

每条规则都需要指定一个条件来确定它适用于什么以及规则运行时可用的变量。换句话说,条件决定了规则是否应该运行以及何时运行。不同的条件有不同的可用选项。

例如,如果您选择「承运商」作为条件,它允许您进一步选择哪个承运商是条件的一部分,如果您设置仅针对特定承运商的缓冲区,这可能会很有用。

规则每个只支持一个条件,不支持复杂的逻辑,如“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}
预约演示

这个页面有帮助吗?


在此页面: