Этот action позволяет делать ветвление в зависимости от состояния переменных в state

Пример самой простой конфигурации, так называемое «простое условие»:

{
  "if": {
    "{{total}}>3": "gt3",
		"event": "gt3"
    }
}

Здесь мы делаем одно единственное условие - если параметр больше константы, action вернет событие

Если вы хотите сравнивать текстовые плейсхолдеры с текстовыми же значениями то нужно брать строки в 'одинарные кавычки' вот так

{
  "if": {
    "'{{name}}'=='John'": "ok",
		"event": "ok"
    }
}

Для сравнения логических типов - true/false просто пишем true или false без кавычек

{
  "if": {
    "{{is_valid}}==true: "ok",
		"event": "ok" 
    }
}

<aside> 🚧 Сравнение дат, regexp, кванторы и другие варианты сравнения в планах но пока не реализованы, если вам не хватает какой-то возможности - напишите нам

</aside>

Action может также устанавливать другие плейсхолдеры, для этого используйте параметр set

{
  "if": {
    "{{currency_mapped_obj.total}}>3": "gt3",
		"event": "gt3",
    "set": {
      "newplaceholder": "(({{currency_mapped_obj.total}}*2))"
    }
  }
}

Можно также указать elseif блок (только 1)

{
  "if": {
    "{{currency_mapped_obj.total}}>3": "gt3",
		"event": "gt3",
    "set": {
      "newplaceholder": "(({{currency_mapped_obj.total}}*2))"
    }
  },
  "elseif": {
     "{{placeholder2}}!=1":"ne1",
		 "event": "ne1",
  }
}

Если нужно построить логику «И» (выполняются все условие) или «ИЛИ» (выполняется хотя бы одно из условий), простые условия придется заменить более сложными конструкциями

{
  "if": {
    "and": [
      "{{currency_mapped_obj.total}}>=1",
      "{{currency_mapped_obj.total}}<=2"
    ],
    "event": "e2",
    "set": {
      "placeholder2": "e2"
    }
  }
}

Используются массивы

И все это можно объединить в одну большую конфигурацию