Подключение аккаунтов

Коннектор возвращает реальные данные только после того, как организация-владелец подключит к нему аккаунт. Каждый коннектор объявляет, как он авторизуется; ассистент подбирает и расшифровывает нужные учётные данные на каждый вызов.

Схемы авторизации

Коннекторы используют одну из трёх схем, объявленную для каждого сервиса:

FieldTypeDescription
credentialsсхемаAPI-ключ, токен или basic-авторизация, вставленные на экране подключения. Преобладающая схема в каталоге.
popup_oauthсхемаOAuth-авторизация во всплывающем окне — пользователь подтверждает доступ, токен захватывается автоматически.
device_codeсхемаDevice-code: пользователь подтверждает подключение на сайте провайдера по короткому коду (используется рядом сервисов Яндекса).

Транспорт — то, как секрет прикрепляется к каждому запросу — это отдельная ось (bearer-заголовок, basic, query-токен, HMAC конкретного вендора и так далее) и обрабатывается самим коннектором.

Где подключаются аккаунты

Аккаунты подключаются в интерфейсе продукта в настройках организации; OAuth-коннекторы также показывают кнопку подключения прямо в чате через инструмент request_form, когда вызову нужен ещё не подключённый аккаунт. Программно метаданные подключения (какие поля нужны коннектору) доступны по GET /api/v1/connectors/metadata.

Хранение учётных данных

Подключённые учётные данные шифруются при хранении (Fernet) и хранятся для каждого пользователя. Ассистент никогда не отдаёт сырой секрет; в момент исполнения он подбирает и расшифровывает учётные данные для адресуемого аккаунта.

Несколько аккаунтов (кабинеты)

Один сервис может держать несколько подключённых аккаунтов — несколько кабинетов Ozon, два продавца WB. Каждый — это адресуемый instance; нацельтесь на один через instance_id или суффикс сервиса (ozon:Top Zip). См. Вызов коннектора.

Выдача коннекторов и учётных данных агенту

Агент ограничен теми коннекторами и учётными данными, которые вы ему явно выдали. Два слоя:

  • Разрешённые коннекторыPUT /agents/{id}/connectors задаёт, какие ключи коннекторов агент может вызывать (wildberries, ozon, …). Это решает, какие инструменты у него есть.
  • Гранты учётных данныхPOST /agents/{id}/grants выдаёт агенту конкретный подключённый аккаунт с опциональными scope на чтение/запись. Это решает, какие аккаунты он может использовать.

Полный флоу выдачи — в Agents API.

Была ли страница полезна?