Обзор функций SDK
Начиная с версии SDK 0.1.5, встраиваемый SDK Nodul позволяет программно взаимодействовать с платформой напрямую из вашего приложения.
Теперь вы можете выполнять, развёртывать и управлять сценариями.
Все методы являются асинхронными, если не указано иное, и возвращают Promise.
Запуск один раз
Запускает открытый в данный момент сценарий один раз.
async runOnce(): Promise<void>Описание:
Запускает одноразовое выполнение текущего сценария в тестовом режиме.
Пример:
await sdk.runOnce();Сохранить
Сохраняет открытый в данный момент сценарий.
async save(): Promise<void>Описание:
Сохраняет все текущие изменения в редакторе сценариев.
Пример:
await sdk.save();Развернуть
Развёртывает открытый в данный момент сценарий.
async deploy(): Promise<void>Описание:
Публикует сценарий и применяет все сохранённые изменения в рабочей среде.
Пример:
await sdk.deploy();Активировать / Деактивировать сценарий
Переключает активное состояние текущего сценария.
toggleActiveScenarioState(): voidОписание:
Активирует или деактивирует сценарий в зависимости от его текущего состояния.
Пример:
sdk.toggleActiveScenarioState();Создать пустой сценарий
Создаёт пустой сценарий с указанным именем.
async createEmptyScenario(title?: string): Promise<void>Параметры:
title(опционально, string) — название нового сценария.
Пример:
await sdk.createEmptyScenario("Новый пустой сценарий");Получить типы узлов
Получает все доступные типы узлов, которые можно добавить в сценарий.
async getNodeTypes(): Promise<NodeType[]>Возвращает:
Массив объектов типов узлов.
Пример:
const nodeTypes = await sdk.getNodeTypes();
console.log(nodeTypes);Добавить новый узел
Добавляет новый узел указанного типа на холст сценария.
async addNewNode(nodeTypeId: string, title?: string): Promise<void>Параметры:
nodeTypeId(string, обязательно) — идентификатор типа узла (получен черезgetNodeTypes()).title(опционально, string) — название для нового узла.
Пример:
const types = await sdk.getNodeTypes();
await sdk.addNewNode(types[0].id, "Мой новый узел");Получить URL вебхуков сценария
Возвращает массив URL вебхуков для всех узлов вебхуков в текущем сценарии.
async getScenarioWebhooksUrls(): Promise<ScenarioWebhookEntry[]>Интерфейс:
interface ScenarioWebhookEntry {
nodeId: string;
url: {
dev: string;
prod: string;
};
}Пример:
const urls = await sdk.getScenarioWebhooksUrls();
console.log(urls);Создать сценарий с вебхуком
Создаёт новый сценарий с узлом вебхука и возвращает его URL.
async createWebhookScenario(
scenarioTitle?: string,
nodeTitle?: string
): Promise<ScenarioWebhookEntry>Параметры:
scenarioTitle(опционально, string) — название для сценария.nodeTitle(опционально, string) — название для узла вебхука.
Возвращает:
URL вебхуков для сред dev и prod.
Пример:
const webhook = await sdk.createWebhookScenario("Входящие данные", "Вебхук");
console.log(webhook.url.dev);Установить слушатель изменения состояния выполнения сценария
Регистрирует обработчик событий, который срабатывает при изменении состояния выполнения сценария (например, когда он начинает или прекращает выполнение).
setScenarioRunningStateChangedListener(
handler: ({ isScenarioRunning }: { isScenarioRunning: boolean }) => void
): () => voidПараметры:
handler(функция) — функция обратного вызова, которая получает состояние выполнения сценария.
Возвращает:
Функцию очистки для удаления слушателя.
Пример:
const removeListener = sdk.setScenarioRunningStateChangedListener(({ isScenarioRunning }) => {
console.log("Сценарий выполняется:", isScenarioRunning);
});
// позже, чтобы удалить слушатель
removeListener();