DOCS

Managing rules

/

Gelişmiş kurallar

YAKINDA

Zonos hesaplamaların nasıl gerçekleştiğini kurallar kullanarak hesabınızda gelişmiş özelleştirmeyi destekler. Kurallar, hesaplamanın farklı bölümlerine tampon eklemek, ücretleri özelleştirmek ve daha fazlası için kullanılabilir. Zonos'un kuralları nasıl yönettiğine dair tam bir döküm için, tüm olası kural türlerinin listesini içeren kurallar döküm belgelerimize bakın. Kurallar, Zonos Dashboard veya GraphQL API aracılığıyla yönetilebilir.

Önemli: Kurallar, gelişmiş bir özelliktir ve yanlış kullanımı Zonos'un sizin için nasıl davrandığı ve hesaplama yaptığı konusunda çeşitli istenmeyen sonuçlara yol açabilir.

Kuralları görüntüle

Dashboard
GraphQL

Kuralları Dashboard içinde yönetmek için:

  1. Zonos Dashboard hesabınıza giriş yapın.
  2. Ayarlar -> Kurallar bölümüne gidin.

“Kurallar” sayfasında, Zonos hesabınızla ilişkili tüm kuralları görüntüleyebilir, kuralları filtreleyebilir ve kuralları hızlı bir şekilde etkinleştirebilir veya devre dışı bırakabilirsiniz.

Kural Oluşturma

Gösterge Paneli
GraphQL

Gösterge Paneli içinde yeni bir kural oluşturmak için:

  1. Zonos Gösterge Paneli hesabınıza giriş yapın.
  2. Ayarlar -> kurallar bölümüne gidin.
  3. Kural oluştur butonuna tıklayın.
  4. Kuralınızı daha sonra tanıyabilmeniz için bir isim ekleyin. Bu isimler yalnızca organizasyonunuzdaki ekip üyeleri tarafından görünür.
  5. Aşağıdaki “Kural koşulunu belirt” bölümündeki adımları izleyerek kuralınıza bir koşul ekleyin.
  6. Aşağıdaki “Kural eylemini belirt” bölümündeki adımları izleyerek kuralınıza bir eylem ekleyin.
  7. İsteğe bağlı olarak, ek bağlam için bir yorum ekleyebilirsiniz. Bu yorumlar yalnızca organizasyonunuzdaki ekip üyeleri tarafından görünür.
  8. Kuralınıza belirli bir başlangıç ve/veya bitiş tarihi eklemek için aşağıdaki adımları izleyin (isteğe bağlı).
  9. Kuralınızı Etkin veya Devre Dışı olarak ayarlayın.
  10. Kaydet butonuna tıklayın.

Başlangıç ve Bitiş Tarihlerini Belirtme

Kurallar isteğe bağlı olarak bir başlangıç tarihi, bir bitiş tarihi veya her ikisine sahip olabilir. Başlangıç ve bitiş tarihleri, kuralınızın ne zaman ve nasıl aktif olacağını kontrol eder ve yalnızca belirli dönemler için aktif olan kurallar oluşturmak için kullanılabilir, örneğin mevsimsel indirimler veya diğer zaman sınırlı durumlar.

Kural Davranışı

TarihlerDavranış
Başlangıç ve bitiş tarihiKural, belirtilen başlangıç ve bitiş tarihi arasında aktif olacaktır.
Sadece bir başlangıç tarihi, bitiş tarihi yokKural, belirtilen başlangıç tarihinden sonra aktif hale gelecek ve manuel olarak devre dışı bırakılmalıdır.
Ne başlangıç ne de bitiş tarihiKural, manuel olarak devre dışı bırakılmadığı sürece her zaman aktif olacaktır.

Kural Koşulunu Belirtme

Her kuralın, neye uygulanacağını ve kural çalıştığında hangi değişkenlerin mevcut olduğunu belirlemek için bir koşul belirtilmesi gerekir. Diğer bir deyişle, koşul, kuralın ne zaman çalışması gerektiğini belirler. Farklı koşulların farklı seçenekleri vardır.

Örneğin, koşul olarak “Nakliye taşıyıcısı”nı seçerseniz, bu, koşulun bir parçası olan hangi taşıyıcıyı ek olarak seçmenize olanak tanır; bu, yalnızca belirli bir taşıyıcı için bir tampon ayarlıyorsanız kullanışlı olabilir.

Kurallar yalnızca bir koşul destekler ve “aksi takdirde”, “ve/veya” gibi karmaşık mantığı desteklemez. Kuralları zincirleme yapmak istiyorsanız, aynı mantığı bir devasa, karmaşık kural yerine birden fazla kural ile nasıl elde edebileceğinizi düşünmek en iyisidir.

Kural Eylemini Belirtme

Bir kuralın eylemi, koşulu karşılandığında ne olacağını belirler. Koşullarda olduğu gibi, her biri farklı seçeneklere sahip çeşitli eylemler mümkündür.

Örneğin, yalnızca belirli bir nakliye taşıyıcısına bir tampon eklemek istiyorsanız, eylemi “bir tampon uygula” olarak ayarlayabilir ve tampon miktarınızı ve neye uygulandığını girebilirsiniz. Daha sonra, tamponun tam olarak hangi taşıyıcıya uygulandığını kuralın koşulunda belirterek kontrol edebilirsiniz.

Koşullarda olduğu gibi, kurallar yalnızca bir eylem destekler. Birden fazla eylem istiyorsanız, aynı mantığı bir devasa, karmaşık kural yerine birden fazla kural ile nasıl elde edebileceğinizi düşünmek en iyisidir.

Güncelleme kuralları

Sistemimizin çalışma şekli nedeniyle mevcut kuralları güncellemek mümkün değildir. Bunun nedeni, hangi kuralların hangi durumlarda uygulandığını ve kuralın çalıştığında ne yaptığını izlenebilir bir geçmişte tutmamız gerektiğidir. Alternatif olarak, bir kuralı arşivleyip yeniden oluşturabilir, değiştirilen değerleri geçirebilir ve böylece kuralda bir "güncelleme" gerçekleştirebilirsiniz.

Bu örnek mutasyon, bu davranışı elde etmek için ruleArchive ve ruleCreate mutasyonlarını nasıl birleştirebileceğinizi göstermektedir:

Mutasyon

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

Değişkenler

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

Arşiv kuralları

Gösterge Paneli
GraphQL

Eklendikten sonra, kurallar kolayca etkinleştirilebilir veya devre dışı bırakılabilir, böylece hesaplamalarınızı etkileyip etkilemeyeceğine karar verebilirsiniz. Bir kuralı manuel olarak etkinleştirmek veya devre dışı bırakmak, kuralın içindeki başlangıç ve bitiş tarihine dayalı mantığı geçersiz kılacaktır.

Kurallar, “Bir kuralı düzenle” screen üzerinden tek tek veya “Tüm kurallar” screen üzerindeki her kuralın yanındaki onay kutularını kullanarak topluca etkinleştirilebilir veya devre dışı bırakılabilir.

Tüm olası kural bağlamlarını listele

Kuralların nasıl çalıştığını keşfetmek, kuralların üzerine kullanıcı arayüzleri oluşturmak vb. için yararlı olan bazı küresel sorgular sunuyoruz. Bunlar tüm kullanıcılara uygulanır, organizasyona özgü değildir ve kolaylık sağlamak amacıyla sunulmuştur. Bu sorgu, kuralların ait olabileceği tüm olası bağlamların bir listesini döndürür. Bir kural bağlamı, bir kuralın ne zaman çalıştığını ve hangi değişkenlerin mevcut olduğunu belirler.

Sorgu

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

Yanıt

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

Bu sayfa yardımcı oldu mu?