Открыть документацию

Вызов подключённых Apps через SDK

Используйте Connector, когда backend-код должен вызывать Apps, подключённые к вашему аккаунту OOMOL. Этот путь использует hosted gateway OOMOL Connector и personal API key вида api_….

Установите SDK

npm install @oomol-lab/connector

SDK требует Node 18 или более поздней версии. Он также работает в других окружениях со стандартными API fetch и AbortController, но personal API key должен храниться в доверенном backend environment.

Создайте personal API key

Создайте ключ в OOMOL Console, затем сохраните его как секрет backend:

export OOMOL_API_KEY=api_...

Не помещайте этот ключ в browser bundle, мобильный клиент, публичный репозиторий, prompt или client-side log.

Выполните первый action

import { Connector } from "@oomol-lab/connector";

const oomol = new Connector({ apiKey: process.env.OOMOL_API_KEY! });

const result = await oomol.execute("gmail.search_threads", {
  query: "is:unread",
});

Namespace-форма выполняет тот же action:

const result = await oomol.gmail.search_threads({ query: "is:unread" });

Используйте executeRaw, если для журналов или поддержки также нужны executionId, actionId и сообщение response.

Выберите подключённый аккаунт

Если у одного провайдера есть несколько подключений, выберите одно с помощью connectionName:

await oomol.execute(
  "gmail.search_threads",
  { query: "from:ceo" },
  { connectionName: "work" },
);

Используйте oomol.apps.list(), чтобы посмотреть подключения, доступные текущему аккаунту OOMOL. Создание и удаление подключений выполняется в OOMOL Console.

Найдите actions

Используйте каталог для просмотра провайдеров, actions и их runtime schemas:

const providers = await oomol.catalog.providers({ q: "mail" });
const actions = await oomol.catalog.actions("gmail");
const action = await oomol.catalog.action("gmail.search_threads");

Если upstream endpoint не имеет смоделированного action, используйте proxy, чтобы вызвать его через выбранное подключение.

Перейдите к справочнику

В справочнике TypeScript SDK описаны точные типы actions, приоритет конфигурации, повторные попытки, тайм-ауты, отмена, поведение proxy, ошибки и полный API Connector.

Если каждый пользователь продукта должен подключать отдельный аккаунт, используйте ProjectConnector.