Как устроен NN Agent: клиент, аккаунт, кампания, диалог
Клиент и лицензия#
Клиент — ваша учётная запись в NN Agent, к которой привязаны аккаунты, кампании и контакты. Клиент создаётся при верификации в Telegram-боте, и к нему же выпускается токен доступа к API.
Лицензия определяет, сколько слотов у вас активно и до какого срока. Лицензии активируются кодом и продлеваются; в API это отдельная группа операций — GET /v2/client/licenses, POST /v2/client/licenses/activate, POST /v2/client/licenses/renew.
Аккаунт#
Аккаунт — подключённый аккаунт мессенджера, от имени которого NN Agent пишет и читает. У аккаунта есть свой идентификатор в формате UUID, имя и фото; для клиента на той стороне это обычный человек, а не бот.
Аккаунтов может быть много: они синхронизируются в одну ленту, и переключаться между чатами не нужно. Подробнее — Мульти-аккаунтинг.
Сессия авторизации#
Сессия авторизации — временный объект, который живёт ровно столько, сколько идёт подключение аккаунта. Вы её создаёте, мессенджер присылает код, вы отправляете код в сессию, при необходимости ещё и облачный пароль, после чего аккаунт становится подключённым.
У сессии свой UUID, отдельный от идентификатора аккаунта. Есть вариант с QR-кодом вместо кода из сообщения.
Кампания#
Кампания — исходящая рассылка: набор контактов, набор вариантов первого сообщения и привязанные аккаунты, которые эти сообщения отправляют. Один аккаунт может участвовать в нескольких кампаниях, и наоборот.
Кампания хранит свои контакты отдельно, поэтому база одной кампании не смешивается с базой другой.
Пул сообщений#
Пул сообщений — список вариантов первичного сообщения кампании. NN Agent берёт из него текст для очередного контакта, поэтому вся база не получает один и тот же символ в символ текст.
Пул наполняется поштучно или загрузкой; отдельные элементы удаляются по идентификатору.
Контакт и диалог#
Контакт — запись в базе кампании: кому предстоит написать. Контакты загружаются файлом CSV или XLSX и выгружаются в том же виде.
Диалог — переписка между вашим аккаунтом и конкретным собеседником. Диалог адресуется парой «аккаунт + идентификатор собеседника», и в этой же паре читаются сообщения и отправляются новые.
Как это связано#
Клиент владеет аккаунтами и кампаниями. Кампания держит контакты и пул сообщений и опирается на привязанные к ней аккаунты. Отправка по кампании порождает диалоги, которые дальше ведёт AI по вашему сценарию.
Дальше#
- Первые шаги — собрать всё это в кабинете.
- Обзор API — те же сущности адресами запросов.
- Чат-флоу — что происходит с диалогом после первого касания.