DOCS

Правила

Расширенные правила

COMING SOON

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. Установите для вашего правила статус Enabled или Disabled.
  10. Нажмите Save.

Указание даты начала и окончания

Правила могут дополнительно иметь дату начала, дату окончания или обе. Даты начала и окончания управляют тем, когда и как ваше правило становится активным, и можно использовать для создания правил, которые активны только в определённые периоды, например сезонные скидки или другие чувствительные ко времени ситуации.

Поведение правила

ДатыПоведение
Дата начала и дата окончанияПравило будет активно между указанными датой начала и датой окончания.
Только дата начала, нет даты окончанияПравило станет активным после указанной даты начала и должно быть отключено вручную.
Нет даты начала или окончанияПравило всегда будет активным до тех пор, пока оно не будет отключено вручную.

Указание условия правила

Каждое правило требует указания условия для определения того, к чему оно применяется и какие переменные доступны в момент запуска правила. Другими словами, условие определяет, должно ли правило вообще запускаться и когда. Разные условия имеют разные доступные опции.

Например, если вы выберете "Shipping carrier" в качестве условия, это позволит вам дополнительно выбрать, какой перевозчик является частью условия, которое вы можете использовать, если настраиваете буфер только для определённого перевозчика.

Правила поддерживают только одно условие каждое и не поддерживают сложную логику, такую как "else if", "and/or" или аналогичные термины. Если вы хотите связать правила, лучше подумать о том, как вы можете добиться той же логики с несколькими правилами, по сравнению с одним гигантским сложным правилом.

Указание действия правила

Действие правила — это то, что происходит после выполнения его условия. Как и условия, есть различные возможные действия, каждое с разными опциями.

Например, если вы хотите добавить буфер только к определённому перевозчику доставки, вы установите действие на "apply a buffer" и введёте размер вашего буфера и то, к чему он применяется. Затем вы можете управлять тем, к какому перевозчику именно применяется буфер, указав это в условии правила.

Как и условия, правила поддерживают только одно действие каждое. Если вы хотите несколько действий, лучше подумать о том, как вы можете добиться той же логики с несколькими правилами, по сравнению с одним гигантским сложным правилом.

Обновление правил на месте невозможно из-за того, как работает наша система. Это потому, что нам нужно сохранить отслеживаемую историю того, какие правила были применены в каких ситуациях и что правило сделало при его запуске. Альтернативно, вы можете архивировать и воссоздать правило, передав изменённые значения, фактически достигая "обновления" правила.

Этот пример мутации показывает, как вы можете комбинировать мутации ruleArchive и ruleCreate для достижения такого поведения:

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}

После добавления правилами можно легко управлять, включая или отключая их, чтобы определить, должны ли они влиять на ваши расчёты. Ручное включение или отключение правила переопределит любую логику, основанную на дате начала и окончания, содержащуюся в правиле.

Правилами можно управлять по одному на экране "Edit a rule" или массово, используя флажки рядом с каждым правилом на экране "All rules".

Мы предлагаем некоторые глобальные запросы для работы с правилами, которые полезны для обнаружения того, как правила работают под капотом, создания пользовательских интерфейсов поверх правил и т. д. Они применяются ко всем пользователям, не зависят от организации и предлагаются для удобства. Этот запрос возвращает список всех возможных контекстов, к которым могут принадлежать правила. Контекст правила определяет, когда запускается правило и какие переменные доступны.

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

Была ли эта страница полезной?


На этой странице: