DOCS

Managing rules

/

Zaawansowane zasady

WKRÓTCE

Zonos wspiera zaawansowaną personalizację sposobu, w jaki obliczenia odbywają się w Twoim koncie za pomocą zasad. Zasady mogą być używane do dodawania buforów do różnych części obliczeń, dostosowywania opłat i nie tylko. Aby uzyskać pełne zestawienie, jak Zonos obsługuje zasady, w tym listę wszystkich możliwych typów zasad, zapoznaj się z naszą dokumentacją na temat zasad. Zasady można zarządzać za pośrednictwem Zonos Dashboard lub przez API GraphQL.

Ważne: Zasady są zaawansowaną funkcją, a niewłaściwe ich użycie może spowodować różnorodne niezamierzone konsekwencje w sposobie, w jaki Zonos działa i oblicza dla Ciebie.

Wyświetl zasady

Dashboard
GraphQL

Aby zarządzać zasadami w Dashboard:

  1. Zaloguj się do swojego konta Zonos Dashboard.
  2. Przejdź do Ustawienia -> Zasady.

Na stronie „Zasady” możesz zobaczyć wszystkie zasady związane z Twoim kontem Zonos, filtrować zasady oraz szybko włączać lub wyłączać zasady.

Tworzenie reguł

Dashboard
GraphQL

Aby utworzyć nową regułę w Dashboardzie:

  1. Zaloguj się na swoje konto Zonos Dashboard.
  2. Przejdź do Ustawienia -> reguły.
  3. Kliknij Utwórz regułę.
  4. Dodaj nazwę do swojej reguły, abyś mógł ją później zidentyfikować. Są one widoczne tylko dla członków zespołu w Twojej organizacji.
  5. Postępuj zgodnie z krokami w sekcji „Określenie warunku reguły” poniżej, aby dodać warunek do swojej reguły.
  6. Postępuj zgodnie z krokami w sekcji „Określenie akcji reguły” poniżej, aby dodać akcję do swojej reguły.
  7. Opcjonalnie możesz dodać komentarz dla dodatkowego kontekstu. Są one widoczne tylko dla członków zespołu w Twojej organizacji.
  8. Postępuj zgodnie z poniższymi krokami, aby dodać konkretną datę rozpoczęcia i/lub zakończenia dla swojej reguły (opcjonalnie).
  9. Ustaw swoją regułę na Włączona lub Wyłączona.
  10. Kliknij Zapisz.

Określenie dat rozpoczęcia i zakończenia

Reguły mogą opcjonalnie mieć datę rozpoczęcia, datę zakończenia lub obie. Daty rozpoczęcia i zakończenia kontrolują, kiedy i jak Twoja reguła staje się aktywna i mogą być używane do tworzenia reguł, które są aktywne tylko przez określone okresy, takie jak zniżki sezonowe lub inne sytuacje czasowe.

Zachowanie reguły

DatyZachowanie
Data rozpoczęcia i zakończeniaReguła będzie aktywna między określoną datą rozpoczęcia a datą zakończenia.
Tylko data rozpoczęcia, brak daty zakończeniaReguła stanie się aktywna po określonej dacie rozpoczęcia i musi być ręcznie wyłączona.
Brak daty rozpoczęcia lub zakończeniaReguła zawsze będzie aktywna, chyba że zostanie ręcznie wyłączona.

Określenie warunku reguły

Każda reguła wymaga określenia warunku, aby ustalić, do czego się odnosi i które zmienne są dostępne w momencie uruchamiania reguły. Innymi słowy, warunek określa czy reguła powinna w ogóle działać i kiedy. Różne warunki mają różne dostępne opcje.

Na przykład, jeśli wybierzesz „Przewoźnik” jako warunek, pozwala to dodatkowo wybrać który przewoźnik jest częścią warunku, co możesz wykorzystać, jeśli ustawiasz bufor tylko dla konkretnego przewoźnika.

Reguły obsługują tylko jeden warunek każda i nie obsługują złożonej logiki, takiej jak „jeśli nie”, „i/lub” lub podobne terminy. Jeśli chcesz połączyć reguły, najlepiej pomyśleć, jak możesz osiągnąć tę samą logikę za pomocą wielu reguł w porównaniu do jednej dużej, złożonej reguły.

Określenie akcji reguły

Akcja reguły to to, co się dzieje, gdy jej warunek zostanie spełniony. Podobnie jak w przypadku warunków, istnieje wiele możliwych akcji, z różnymi opcjami.

Na przykład, jeśli chciałbyś dodać bufor tylko dla konkretnego przewoźnika, ustawiłbyś akcję na „zastosuj bufor” i wprowadził kwotę swojego buforu oraz do czego się odnosi. Możesz następnie kontrolować, do którego przewoźnika dokładnie bufor się odnosi, określając to w warunku reguły.

Podobnie jak w przypadku warunków, reguły obsługują tylko jedną akcję każda. Jeśli chcesz mieć wiele akcji, najlepiej pomyśleć, jak możesz osiągnąć tę samą logikę za pomocą wielu reguł w porównaniu do jednej dużej, złożonej reguły.

Zasady aktualizacji

Aktualizacja zasad w istniejący sposób nie jest możliwa z powodu działania naszego systemu. Wynika to z potrzeby zachowania ścisłej historii, które zasady były stosowane w jakich sytuacjach oraz co zasada zrobiła, gdy została uruchomiona. Alternatywnie, możesz zarchiwizować i odtworzyć zasadę, przekazując zmienione wartości, co skutecznie osiągnie "aktualizację" zasady.

Ten przykład mutacji pokazuje, jak możesz połączyć mutacje ruleArchive i ruleCreate, aby osiągnąć to zachowanie:

Mutacja

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

Zmienne

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

Zasady archiwizacji

Dashboard
GraphQL

Po dodaniu zasady można je łatwo włączyć lub wyłączyć, aby określić, czy powinny wpływać na Twoje obliczenia. Ręczne włączenie lub wyłączenie zasady nadpisze wszelką logikę opartą na dacie rozpoczęcia i zakończenia zawartą w zasadzie.

Zasady można włączać lub wyłączać pojedynczo z ekranu „Edytuj zasadę” screen, lub hurtowo, korzystając z pól wyboru obok każdej zasady na ekranie „Wszystkie zasady” screen.

Wymień wszystkie możliwe konteksty reguł

Oferujemy kilka globalnych zapytań do obsługi reguł, które są przydatne do odkrywania, jak działają reguły w tle, tworzenia interfejsów użytkownika na podstawie reguł itp. Te zapytania mają zastosowanie do wszystkich użytkowników, nie są specyficzne dla organizacji i są oferowane dla wygody. To zapytanie zwraca listę wszystkich możliwych kontekstów, do których mogą należeć reguły. Kontekst reguły określa, kiedy reguła jest uruchamiana i jakie zmienne są dostępne.

Zapytanie

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

Odpowiedź

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

Czy ta strona była pomocna?