Перейти к основному содержимому

Учетные данные для интеграций

Учетные данные — это токены, пароли и API-ключи для безопасного подключения LLM, каналов и других внешних сервисов. Вы сохраняете их один раз и, в зависимости от уровня доступа, можете переиспользовать в разных проектах. В коде и блоках сценария вместо самих ключей отображается только их название.

Раздел Учетные данные доступен в двух местах: в левой панели внутри проекта и в левом меню на уровне аккаунта.

Уровень доступа

При создании учетных данных вы выбираете уровень доступа. Сохраненный уровень изменить нельзя.

  • Проект — учетные данные доступны только в текущем проекте, переиспользовать в других проектах нельзя. Управляют ими внутри проекта.
  • Аккаунт — учетные данные доступны во всем аккаунте: их можно подключить к любому проекту. Управляют ими на уровне аккаунта; из проекта они доступны только для просмотра.

О том, кто может создавать и изменять учетные данные, читайте в разделе Роли и доступы.

примечание

Для типа SIP-аккаунт доступен только уровень Аккаунт.

Управление в проекте

Добавить новые

  1. Нажмите ДобавитьДобавить новые.

  2. Выберите тип учетных данных. Набор полей зависит от типа.

    примечание

    Под каждый сервис нужен свой тип данных:

    • Для моделей выберите LLM.
    • Для ASR и TTS используйте Провайдер ASR/TTS. Если провайдеры разные, создайте отдельные записи для каждого.
    • Если нужной интеграции нет в списке, выберите Другое. Это позволит обращаться к сервису через код с помощью функции Credentials.get().
  3. Выберите уровень доступа:

    • Только в текущем проекте.
    • Для всех проектов аккаунта — учетные данные попадут в раздел аккаунта. Вы сможете подключить их к нескольким проектам.
  4. Укажите нужные данные и настройте срок действия.

  5. Нажмите Добавить.

Подключить сохраненные

Если в аккаунте уже есть учетные данные с уровнем доступа Аккаунт, вы можете подключить их к текущему проекту.

  1. Нажмите ДобавитьПодключить сохраненные.
  2. Выберите нужные учетные данные из списка.
  3. Нажмите Подключить.

Выбранные учетные данные появятся в таблице проекта.

Редактировать

  1. В строке с нужными данными нажмите .
  2. Внесите изменения и нажмите Сохранить.

Все интеграции и вызовы Credentials.get() сразу начнут использовать обновленные значения.

Если данные созданы с уровнем доступа Аккаунт, изменить их из проекта нельзя — только просмотреть. Для редактирования нажмите Перейти к редактированию на уровне аккаунта. Эти изменения также мгновенно применятся ко всем подключенным проектам.

Удалить

Нажмите в таблице и подтвердите действие. Результат зависит от уровня доступа:

  • Проект — система удалит учетные данные полностью.
  • Аккаунт — система отключит учетные данные от текущего проекта, но сохранит их в разделе аккаунта. Вы сможете полностью удалить их только в разделе аккаунта.
предупреждение

В обоих случаях связанные интеграции в текущем проекте сразу перестанут работать.

Управление на уровне аккаунта

Раздел Учетные данные доступен на уровне аккаунта — в левом меню на странице со списком проектов. В нем вы видите только учетные данные с уровнем доступа Аккаунт. Вы можете создавать такие данные и здесь, и в любом проекте через Добавить новые.

В разделе аккаунта вы можете:

  • Создавать новые учетные данные — только с уровнем доступа Аккаунт.
  • Редактировать их — изменения затронут все проекты, где они используются.
  • Удалять их — это навсегда отвяжет данные от всех проектов и удалит их из системы.

Чтобы использовать эти данные в конкретном проекте, зайдите в него и подключите их.

Ограничения

  • Уникальность токенов. Токены для всех каналов (Telegram, VK, WhatsApp, MAX и другие) должны быть уникальными во всем аккаунте: один и тот же токен нельзя использовать в двух проектах одного аккаунта. Если такой токен уже сохранен в учетных данных аккаунта, система выдаст ошибку и не даст сохранить дубликат. Для остальных типов (например, LLM, SMTP, IMAP, RAG) одни и те же ключи можно использовать без ограничений.
  • Экспорт и импорт. Архив не содержит секретных значений учетных данных. При импорте система создает пустые шаблоны и показывает список тех, которые нужно заполнить вручную. Существующие учетные данные аккаунта система не подключает автоматически.

Использование в интеграциях

При подключении интеграций выпадающий список показывает все учетные данные проекта — и проектные, и подключенные аккаунтные.

Выбор данных во встроенных интеграциях

Вы можете выбрать сохраненные учетные данные в двух местах:

  • В разделе Интеграции при подключении нового сервиса.
  • Прямо в процессе — например, при настройке LLM в блоке Агент.
Пример выбора учетных данных

В обоих случаях вам не придется вводить токен или ключ API вручную — просто выберите нужные данные из выпадающего списка.

Подключение к любому другому сервису

Например, вы хотите, чтобы ваш бот сообщал погоду через сторонний сервис WeatherAPI.com. Однако встроенной интеграции с этим сервисом в Agent Platform нет и вам нужно обращаться к нему напрямую по API.

Для таких задач используйте функцию Credentials.get(). Она позволяет безопасно получить сохраненный API-ключ прямо в коде и использовать его для отправки запросов.

Шаг 1: Сохраните API-ключ

  1. Зарегистрируйтесь на WeatherAPI.com и получите бесплатный API-ключ.
  2. В Agent Platform перейдите в раздел Учетные данные.
  3. Добавьте новые учетные данные с типом Другое, уровнем доступа Проект и авторизацией по токену. В поле Токен вставьте ваш API-ключ.
  4. Новые учетные данные появятся в таблице в разделе Учетные данные. Скопируйте ID из таблицы. Предположим, что ID выглядит так: 1000111111-weather-abc.

Шаг 2: Напишите функцию для запроса погоды

Теперь вы можете написать простую функцию, которая будет обращаться к API погоды. В ней используйте Credentials.get(), чтобы безопасно получить ключ. Реализация на JavaScript зависит от версии движка в вашем проекте.

async function getWeather({ city }) {
// Получаем объект с учетными данными по ID из таблицы
const credentials = Credentials.get({credentialKey: '1000111111-weather-abc'});

// Формируем запрос
const requestConfig = {
url: 'https://api.weatherapi.com/v1/current.json',
params: {
// Подставляем токен из наших учетных данных
key: credentials.token,
q: city
}
};

// Выполняем запрос с помощью встроенной функции Http.get
const response = await Http.get(requestConfig);

// Извлекаем температуру из ответа и возвращаем результат
return `Температура: ${response.body.current.temp_c}°C`;
}

Таким образом, Agent Platform надежно хранит ваш API-ключ — в коде функции он не виден.