---
author: OOMOL
author_url: https://oomol.com/ru/about/
title: Вызов подключённых Apps через SDK
description: Используйте hosted-клиент Connector для вызова Apps, подключённых к
  вашему аккаунту OOMOL, из доверенного TypeScript backend.
lang: ru
canonical_url: https://oomol.com/ru/docs/connector-client/
markdown_url: https://oomol.com/ru/docs/connector-client.md
---

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

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

## Установите SDK

```sh
npm install @oomol-lab/connector
```

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

## Создайте personal API key

Создайте ключ в [OOMOL Console](https://console.oomol.com/api-key), затем сохраните его как секрет backend:

```sh
export OOMOL_API_KEY=api_...
```

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

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

```ts
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:

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

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

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

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

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

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

## Найдите actions

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

```ts
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](/ru/docs/connector-sdk/) описаны точные типы actions, приоритет конфигурации, повторные попытки, тайм-ауты, отмена, поведение proxy, ошибки и полный API `Connector`.

Если каждый пользователь продукта должен подключать отдельный аккаунт, используйте [ProjectConnector](/ru/docs/project-connector/).
