Использование API для схем автоматизации
Клиент calculation, содержащийся в пакете @playbooks/sdk, позволяет работать со схемами автоматизации с использованием описанных ниже методов.
| Для схем автоматизации доступен только SDK на TypeScript. |
Методы API для работы со схемами автоматизации включают:
-
Выполнение расчета.
-
Выполнение обобщающего расчета.
Подготовка клиента calculation для работы со схемами автоматизации
Чтобы начать работу со схемами автоматизации, используя пакет SDK, импортируйте его:
import * as sdk from "@playbooks/sdk"
...
export async function main() {
...
const v = await sdk.calculation.<method_name>(<args>)
console.log(v)
...
}
Здесь:
-
<method_name>: имя используемого метода; -
<args>: параметры метода.
Вывод результата выполненного расчета (calculation)
calculation({
calculationId: <calculation_id>, // string
calculationSchemaId: <calculation_schema_id>, // string
objectId: <object_id> // string
})
Параметры метода включают в себя:
-
<calculation_id>: идентификатор расчета; -
<calculation_schema_id>: идентификатор схемы автоматизации; -
<object_id>: идентификатор объекта, для которого выполнен расчет.
Примеры получения результатов расчетов
Пример скрипта с calculation в TypeScript
id: get_calculation_result_deno
name: Get calculation result deno
description: Получение результатов расчета скриптом Deno (TypeScript) с помощью метода calculation
author: Ivan Ivanov
tags: [deno, typescript, calculation]
version: 0.0.1
type: script
source: !deno |
import * as sdk from '@playbooks/sdk';
export async function main() {
const command = {
calculationId: 'test',
calculationSchemaId: 'calculate_test',
objectId: '551471a6-8bd2-4af7-a7ad-7af5432c9bea',
}
const { result } = await sdk.calculation.calculation(command);
console.log('result', result);
return result;
}
Выполнение расчета (exec)
exec({
calculationId: <calculation_id>, // string
calculationSchemaId: <calculation_schema_id>, // string
object: {
domainId: <domain_id>, // string
entityId: <entity_id>, // string
id: <id> // string
},
cacheFirst: <cache_first> // boolean
})
Параметры метода включают в себя:
-
<calculation_id>: идентификатор расчета; -
<calculation_schema_id>: идентификатор схемы автоматизации; -
<domain_id>: идентификатор домена, для объекта которого нужно выполнить расчет; -
<entity_id>: идентификатор сущности в домене, для объекта которой нужно выполнить расчет; -
<id>: идентификатор объекта, для которого нужно выполнить расчет; -
<cache_first>: логическая переменная: если установить значениеtrue, то расчет не будет выполнен заново, если его результат будет найден в кэше; если установить значениеfalse, то расчет будет выполнен заново в любом случае.
Примеры выполнения расчета
Пример скрипта с exec в TypeScript
id: exec_calculation_deno
name: Exec calculation deno
description: Выполнение расчета скриптом Deno (TypeScript) с помощью метода exec
author: Ivan Ivanov
tags: [deno, typescript, calculation]
version: 0.0.1
type: script
source: !deno |
import * as sdk from '@playbooks/sdk';
export async function main() {
const command = {
calculationSchemaId: "calculate_test",
calculationId: "test",
object: {
domainId: "evo.entity.category.standards",
entityId: "Requirement",
id: "551471a6-8bd2-4af7-a7ad-7af5432c9bea"
},
cacheFirst: false
}
const result = await sdk.calculation.exec(command);
console.log('result', result);
return result;
}
Выполнение обобщающего расчета (execSummary)
execSummary({
summaryCalculationId: <summary_calculation_id>, // string
summaryCalculationSchemaId: <summary_calculation_schema_id>, // string
calculations: [
{
calculationId: <calculation_id>, // string
calculationSchemaId: <calculation_schema_id>, // string
object: {
domainId: <domain_id>, // string
entityId: <entity_id>, // string
id: <id> // string
},
cacheFirst: <cache_first> // boolean
},
...
]
})
Параметры метода включают в себя:
-
<summary_calculation_id>: идентификатор обобщающего расчета; -
<summary_calculation_schema_id>: идентификатор схемы, в которой определен обобщающий расчет; -
calculations: массив расчетов, входящих в обобщающий расчет:-
<calculation_id>: идентификатор расчета; -
<calculation_schema_id>: идентификатор схемы автоматизации; -
<domain_id>: идентификатор домена, для объекта которого нужно выполнить расчет; -
<entity_id>: идентификатор сущности в домене, для объекта которой нужно выполнить расчет; -
<id>: идентификатор объекта, для которого нужно выполнить расчет; -
<cache_first>: логическая переменная: если установить значениеtrue, то расчет не будет выполнен заново, если его результат будет найден в кэше; если установить значениеfalse, то расчет будет выполнен заново в любом случае.
-
Примеры выполнения обобщающего расчета
Пример скрипта с execSummary в TypeScript
id: exec_summary_calculation_deno
name: Exec summary calculation deno
description: Выполнение обобщающего расчета скриптом Deno (TypeScript) с помощью метода execSummary
author: Ivan Ivanov
tags: [deno, typescript, calculation]
version: 0.0.1
type: script
source: !deno |
import * as sdk from '@playbooks/sdk';
export async function main() {
const command = {
summaryCalculationSchemaId: "calculate_test",
summaryCalculationId: "test_summary",
calculations: [
{
calculationSchemaId: "calculate_test",
calculationId: "test",
object: {
domainId: "evo.entity.category.standards",
entityId: "Requirement",
id: "551471a6-8bd2-4af7-a7ad-7af5432c9bea"
},
cacheFirst: false
},
{
calculationSchemaId: "calculate_test",
calculationId: "test",
object: {
domainId: "evo.entity.category.standards",
entityId: "Requirement",
id: "2395982b-0e28-4236-ab3d-3c84a29cb97c"
},
cacheFirst: false
}
]
}
const result = await sdk.calculation.execSummary(command);
console.log('result', result);
return result;
}
Была ли полезна эта страница?