Download OpenAPI specification:
Сервис наград за прогресс по традициям и инструментам Берлоги.
Фильтры в эндпоинтах со списками объектов, при указывании нескольких параметров, объединяются оператором «И». В иных случаях - это указано в описании. Так как фильтры применяются все вместе, то можно собрать комбинацию под которую не попдает ни один объект. Фильтры по традициям и инструментам нужно использовать по отдельности.
Аутентификация токеном TalentOAuth пользователем Таланта.
Передается в заголовке Authorization: Bearer
в формате JWT.
Аутентификация токеном игрока Берлоги.
Передается в заголовке Authorization
.
Пагинация может быть представлена как параметром offset
, так и параметром after
. Параметр offset
позволяет указать кол-во объектов для пропуска из читаемой выборки. В after
указывается идентификатор, объекты с идентификатором равном или менее указанному будут исключены из выборки.
Предпочтительно, когда есть возможность, использовать
after
. Так же надо учитывать, что допустимое значение дляoffset
имеет ограничения.
Традиции Берлоги. Прогресс по ним растет за счет игровых активностей.
name required | string Название традиции. |
image required | string <uri> Изображение традиции. |
description required | string Описание традиции. |
{- "name": "string",
- "description": "string"
}
{- "id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
tradition_id required | integer <int32> Идентификатор традиции в адресе. |
name | string Название традиции. |
image | string <uri> Изображение традиции. |
description | string Описание традиции. |
is_active | boolean Признак активности традиции. Удаление традиции не предусмотрено, но ее можно скрыть, поменяв значение этого поля на false. |
{- "name": "string",
- "description": "string",
- "is_active": true
}
{- "id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
Инструменты Берлоги. Прогресс по ним зависит от баллов компетенций Конструктора Калькуляторов пользователя Таланта, авторизованного для игрока.
after | integer <int32> Пропуск объектов с идентификатором равном или менее указанного. |
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
is_active | string Default: "true" Enum: "true" "false" "all" Фильтрация по признаку активности объектов выборки. По умолчанию возвращаются только активные. |
id | Array of integers <int32> [ items <int32 > ] Идентификаторы инструментов. |
t_id | Array of integers <int32> [ items <int32 > ] Фильтрация по ID традиций. |
c_id | Array of integers <int32> [ items <int32 > ] Фильтрация по ID компетенций. |
name | string Фильтрация по названию инструмента. |
order_by | string Default: "id_asc" Enum: "id_asc" "id_desc" Очереднось выдачи. |
[- {
- "id": 0,
- "tradition_id": 0,
- "competency_id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
]
tradition_id required | integer <int32> ID традиции. |
competency_id required | integer <int32> ID компетенции. |
name required | string Название инструмента. |
image required | string <uri> Изображение инструмента. |
description required | string Описание инструмента. |
{- "tradition_id": 0,
- "competency_id": 0,
- "name": "string",
- "description": "string"
}
{- "id": 0,
- "tradition_id": 0,
- "competency_id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
instrument_id required | integer <int32> Идентификатор инструмента в адресе. |
tradition_id | integer <int32> ID традиции. |
competency_id | integer <int32> ID компетенции. |
name | string Название инструмента. |
image | string <uri> Изображение инструмента. |
description | string Описание инструмента. |
is_active | boolean Признак активности инструмента. Удаление инструмента не предусмотрено, но его можно скрыть, поменяв значение этого поля на false. |
{- "tradition_id": 0,
- "competency_id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
{- "id": 0,
- "tradition_id": 0,
- "competency_id": 0,
- "name": "string",
- "description": "string",
- "is_active": true
}
Прогресс пользователя по традициям и инструментам.
Прогресс пользователя по традициям и инструментам.
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
traditions_only | boolean Default: false Прогресс только по традициям |
tradition_instruments | integer <int32> Прогресс по инструментам традиции |
tradition_ids | Array of integers <int32> [ items <int32 > ] Прогресс по определенным традициям |
instrument_ids | Array of integers <int32> [ items <int32 > ] Прогресс по определенным инструментам |
order_by | string Default: "created_at_desc" Enum: "created_at_desc" "created_at_asc" "updated_at_desc" "updated_at_asc" "tradition_id" "instrument_id" Порядок сортировки |
[- {
- "tradition_id": 0,
- "instrument_id": 0,
- "scores": 0,
- "award_level": 0
}
]
Награды, выдаваемые за прогресс по традициям и инструментам.
Список наград, выдаваемых за достижение уровеней по традициям и инструментам.
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
tradition_id | integer <int32> Фильтрация по ID традиции. |
instrument_id | integer <int32> Фильтрация по ID инструмента. |
order_by | string Default: "award_level" Enum: "award_level" "created_at_desc" "created_at_asc" "updated_at_desc" "updated_at_asc" "tradition_id" "instrument_id" Порядок сортировки |
with_applications | boolean Default: false Включить в ответ свойство |
[- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "tradition_id": 0,
- "instrument_id": 0,
- "award_level": 0,
- "dependency_level": 0,
- "required_scores": 0,
- "name": "string",
- "description": "string",
- "icon_url": "string",
- "applications": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
]
Полученные пользователем награды за достижение пороговых баллов, сохраненных в прогрессе пользователя.
Формат возвращаемых объектов в массиве зависит от типа используемой авторизации. Для BerlogaJWT
возращаются PlayerAward
, для TalentOAuth
- TalentUserAward
.
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
[- {
- "award_id": 0,
- "awarded_at": "2019-08-24T14:15:22Z",
- "displayed_at": "2019-08-24T14:15:22Z"
}
]
Испытания для игровых активностей.
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
[- {
- "id": 0,
- "description": "string",
- "icon_url": "string",
- "applications": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
]
При аутентификации токеном
TalentOAuth
, предустанавливается параметрtalent_id
.
При аутентификации токеном
BerlogaJWT
, предустанавливается параметрplayer_id
.
Обязателен для заполнения один из параметров player_id
и talent_id
.
player_id | string <uuid> Испытания пройденные игроками, объединенными пользователем, привязанным к указанному игроку. При отсутствии привязанного пользователя, возвращаются испытания указанного игрока. |
talent_id | integer <int32> Испытания пройденные игроками указанного пользователя. |
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
[- {
- "challenge_id": 0,
- "passed_at": "2019-08-24T14:15:22Z"
}
]
Агрегатные (они же комплексные) испытания, вычисляются для групп игровых активностей.
Каждое такое испытание состоит из одной или нескольких целей. Цели можно воспринимать как окно вычисления результата, отличающееся от других целей испытания в первую очередь набором активностей. В результате вычисления цели ожидается получение вещественного числа. Это число сравнивается с пороговым баллом цели для определения ее выполнения.
Для вычисления балла цели используется объявленная для нее формула. Формула записывается одной строкой из последовательности арифметических операций.
Формат записи формул (по расширенной форме Бэкуса - Наура):
Формула = Операнд, {Операция}
Операция = Оператор, {ОпцПробел}, Операнд
Оператор = "+" | "-" | "*" | "/"
ОпцПробел = " " | "\t"
Операнд = ГруппаОпераций | Число | ИмяПеременной | АгрегатнаяФункция
ГруппаОпераций = "(", {ОпцПробел}, Операнд, {{ОпцПробел}, Операция}, {ОпцПробел}, ")"
Число = ["-"], Цифра, {Цифра}, [".", Цифра, {Цифра}]
Цифра = "0" | ... | "9"
ИмяПеременной = ПростоеИмя | Префикс, "|", ПростоеИмя | Префикс, "|", РасширенноеИмя
Префикс = "a" | "c" | "m"
ПростоеИмя = ЛатБуква, {ЛатБуква | Цифра | "." | "_"}
РасширенноеИмя = "[", СимволРасширенногоИмени, {СимволРасширенногоИмени}, "]"
СимволРасширенногоИмени = ЛатБуква | Цифра | "." | "_" | " " | "\t" | "+" | "-" | "*" | "/"
АгрегатнаяФункция = ИмяФункции, "{", РасширенноеИмя, "}"
ИмяФункции = "sum" | "min" | "max" | "avg" | "mean" | "count"
Префикс в имени переменной указывает на то, к чему она относится:
a
- свойства активностиm
- метрики активностиc
- числовые свойства контекста, к которому относится активностьПеременные без префиксов указывают не на активности и их свойства, а на результаты целей. Соответствующие имена должны быть заполнены в целях, а использовать их можно только в формуле испытания.
Пример формулы цели:
(( (max{m|duration} / count{*}) / mean{m|health} ) * 100) + (max{c|level} * 10)
Пример формулы испытания (с двумя целями, объявляющими указанные имена переменных):
match_rating + (max_bonus_level * 10)
Для целей назначаются агрегатные формулы, но и для самого испытания можно назначить формулу. Это будет итоговая формула, вычисляющая финальный балл на основе результатов вычислений в целях. В итоговой формуле нельзя использовать агрегатные функции. В качестве имен доступны только имена переменных указанные в целях. Итоговая формула опциональна только при наличии одной цели, иначе - для публикации испытания потребуется ее заполнить.
Перед записью формулы можно выполнить ее валидацию отдельной операцией.
id required | integer <int32> ID испытания. |
created_at required | string <date-time> Дата создания. |
updated_at required | string <date-time> Дата обновления. |
public required | boolean Статус публичности испытания. |
update_strategy required | string (ComplexChallengeUpdateStrategy) Enum: "initial" "increase" |
name required | string Название испытания. |
period_from required | string or null <date-time> Начало периода допускаемых в испытании активностей. |
period_to required | string or null <date-time> Завершение периода допускаемых в испытании активностей. |
score_formula required | string Формула вычисления балла. |
required_score required | number <float64> >= 0 Проходной балл. |
{- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z",
- "score_formula": "string",
- "required_score": 0
}
id required | integer <int32> ID цели. |
complexch_id required | integer <int32> ID испытания. |
created_at required | string <date-time> Дата создания. |
updated_at required | string <date-time> Дата обновления. |
name required | string non-empty Название цели. |
score_formula required | string Формула вычисления балла. |
required_score required | number <float64> >= 0 Проходной балл для выполнения цели. |
variable_name required | string Имя переменной для использования балла в итоговой формуле испытания. |
context_ids | Array of strings <uuid> [ items <uuid > ] Фильтрация активностей по идентификаторам контекстов. |
context_properties | Array of strings[ items\w+\+[\d\w\|]+ ] Фильтр по контекстам имеющим указанные значения свойств. Формат записи значения: Пример фильтра по свойству |
application_id | string or null <uuid> ID приложения для фильтрации контекстов. |
activity_limit | integer or null <int32> [ 1 .. 1000 ] Максимальное кол-во активностей для использования в вычислениях. |
Array of any (ActivityFuncs) Функции преобразования активностей перед выполнением агрегации формулой цели |
{- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
after | integer <int32> Пропуск объектов с идентификатором равном или менее указанного. |
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
public | boolean Фильтр по статусу опубликованности |
[- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z"
}
]
Достуно только для администрации.
name required | string >= 5 characters |
{- "name": "string"
}
{- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z"
}
Наличие полей score_formula
и required_score
зависит от наличия административных прав.
Для массива goals
так же требуются административные права, а так же явный запрос этого свойства.
complexch_id required | integer <int32> |
with_goals | boolean Default: false Вернуть объекты со свойством |
{- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z",
- "score_formula": "string",
- "required_score": 0,
- "goals": [
- {
- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
]
}
Достуно только для администрации.
complexch_id required | integer <int32> |
update_strategy | string (ComplexChallengeUpdateStrategy) Enum: "initial" "increase" |
name | string Название испытания. |
period_from | string or null <date-time> Начало периода допускаемых в испытании активностей. |
period_to | string or null <date-time> Завершение периода допускаемых в испытании активностей. |
score_formula | string Формула вычисления балла. |
required_score | number <float64> >= 0 Проходной балл. |
{- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z",
- "score_formula": "string",
- "required_score": 0
}
{- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z",
- "score_formula": "string",
- "required_score": 0
}
Достуно только для администрации.
Смена состояния на опубликованное требует выполнение валидации испытания и его целей. Подробнее см. в описании операции ComplexChallengeValidate
complexch_id required | integer <int32> |
value required | boolean Устанавливаемое значение свойства |
{- "id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "public": true,
- "update_strategy": "initial",
- "name": "string",
- "period_from": "2019-08-24T14:15:22Z",
- "period_to": "2019-08-24T14:15:22Z",
- "score_formula": "string",
- "required_score": 0
}
Достуно только для администрации.
Ошибки валидации включают в себя массив полей относящихся к ошибке. Эти поля содержат путь до ошибки, в котором точка является разделителем.
К примеру, ошибка связанная с целью
ID=23
будет иметь путьgoals.23
.А ошибка с связанная с полем
required_score
целиID=23
:goals.23.required_score
.
Поля самого испытания не содержат префиксов, а только имена самих полей.
complexch_id required | integer <int32> |
{- "error_message": "string"
}
Достуно только для администрации.
complexch_id required | integer <int32> |
[- {
- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
]
Достуно только для администрации.
complexch_id required | integer <int32> |
name required | string non-empty Название цели. |
score_formula | string Формула вычисления балла. |
required_score | number <float64> >= 0 Проходной балл для выполнения цели. |
variable_name | string Имя переменной для использования балла в итоговой формуле испытания. |
context_ids | Array of strings <uuid> [ items <uuid > ] Фильтрация активностей по идентификаторам контекстов. |
context_properties | Array of strings[ items\w+\+[\d\w\|]+ ] Фильтр по контекстам имеющим указанные значения свойств. Формат записи значения: Пример фильтра по свойству |
application_id | string or null <uuid> ID приложения для фильтрации контекстов. |
activity_limit | integer or null <int32> [ 1 .. 1000 ] Максимальное кол-во активностей для использования в вычислениях. |
Array of any (ActivityFuncs) Функции преобразования активностей перед выполнением агрегации формулой цели |
{- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
{- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
Достуно только для администрации.
goal_id required | integer <int32> |
{- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
Достуно только для администрации.
goal_id required | integer <int32> |
name | string non-empty Название цели. |
score_formula | string Формула вычисления балла. |
required_score | number <float64> >= 0 Проходной балл для выполнения цели. |
variable_name | string Имя переменной для использования балла в итоговой формуле испытания. |
context_ids | Array of strings <uuid> [ items <uuid > ] Фильтрация активностей по идентификаторам контекстов. |
context_properties | Array of strings[ items\w+\+[\d\w\|]+ ] Фильтр по контекстам имеющим указанные значения свойств. Формат записи значения: Пример фильтра по свойству |
application_id | string or null <uuid> ID приложения для фильтрации контекстов. |
activity_limit | integer or null <int32> [ 1 .. 1000 ] Максимальное кол-во активностей для использования в вычислениях. |
Array of any (ActivityFuncs) Функции преобразования активностей перед выполнением агрегации формулой цели |
{- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
{- "id": 0,
- "complexch_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "score_formula": "string",
- "required_score": 0,
- "variable_name": "string",
- "context_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "context_properties": [
- "string"
], - "application_id": "48ac72d0-a829-4896-a067-dcb1c2b0f30c",
- "activity_limit": 1,
- "activity_funcs": [
- {
- "kind": "string",
- "left": 0,
- "right": 1
}
]
}
after | integer <int64> Пропуск объектов с идентификатором равном или менее указанного. |
offset | integer <int32> [ 0 .. 200 ] Default: 0 Кол-во объектов выборки для пропуска. |
limit | integer <int32> [ 1 .. 50 ] Default: 20 Максимум объектов возвращаемых в теле ответа. |
user_id | integer <int32> Фильтрация по ID пользователя Таланта. |
order_by | string Default: "id_asc" Enum: "id_asc" "id_desc" "user_id_asc" "user_id_desc" "complexch_id_asc" "complexch_id_desc" Порядок сортировки результатов. Недоступно при использовании параметра |
[- {
- "id": 0,
- "user_id": 0,
- "complexch_id": 0,
- "passed": true,
- "passed_was": true,
- "score": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Достуно только для администрации.
Формула представляется в форме строки последовательности операций, группируемых круглыми скобками в дерево таких последовательностей.
Формулы имеют разное назначение, в следствии чего, и разный контекст вычисления. Но все они в результате вычисления имеют только одно числовое значение.
В комплексных испытаниях итоговый балл вычисляется формулой для одного кортежа, которая вычисляет итоговый балл на основе переменных полученных в результате агрегаций. А ниже уровнем, в целях испытания, агрегатные формулы вычисляют значения этих переменных.
Агрегатные формулы вычисляются в отношении множества кортежей с активностями. Эти формулы могут обращаться к свойствам активностей и их метрикам только через агрегатные функции. Такие формулы используются для вычисления значений переменных, объявленных для целей комплексных испытаний.
Такие формулы используются для вычисления итогового балла испытания. В рамках вычисления используются числовые переменные из целей. Значение каждой из переменных представлено в единичном числе. В следствии чего, агрегатные функции в такой формуле не имеют смысла, а их упоминание в ней вызовет ошибку валидации.
Формула для валидации.
type required | string Enum: "vars" "rows" "mixed" От типа формулы зависит какие форматы данных она принимает.
|
body required | string Строка с текстовым представлением формулы. |
{- "type": "vars",
- "body": "string"
}
[- {
- "operator": "+",
- "operand": {
- "type": "group",
- "literal_value": 0,
- "variable_name": "string",
- "agg_func": "string",
- "func_argument": "string",
- "children": [
- { }
]
}
}
]