Nodul LogoNodul

Обзор функций 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();