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

Лиды

Список конечных клиентов или пользователей взаимодействовавших с ботом


Конечные клиенты или пользователи, которые непосредственно общаются с ботом, называются лидами (далее слова лиды и пользователи будут взаимозаменяемы), это понятие происходит от английского слова lead — термин из сферы продаж и маркетинга означающий потенциального клиента. 

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

Итак, все пользователи, которые когда либо взаимодействовали с вашим ботом, аккумулируются на вкладке Лиды в вашем Боте. Когда пользователь связывается с компанией через аккаунт в мессенджере, социальной сети или через окно чата на сайте, создаётся лид. 

В раздел Лиды можно перейти по одноименной кнопке на главном экране или из панели управления раздела Настройки бота выбрать пункт меню Лиды.

image.png

В лиде на платформе сохраняются все параметры, которые он может приобрести во время общения с ботом. Один из примеров —  теги и атрибуты пользователя — те данные, которые бот создает в ходе диалога. Также по каждому лиду платформы хранится вся история диалога, со всеми временными обозначениями. Диалог осуществляется с помощью обмена вебхуков, историю (лог) которых также можно просмотреть через лида, в целях проверки работы видимых или невидимых для пользователя команд бота. 

В соответствующем разделе на платформе размещается список пользователей - Лидов, которые взаимодействовали с ботом. По лиду производится сбор следующей информации:
  • ID - уникальный идентификатор пользователя на платформе;
  • Клиент - имя пользователя в канале связи;
  • Внешний ID - уникальный идентификатор пользователя, полученный из канала;
  • Канал - канал интеграции;
  • Мессенджер - при создании лида заполняется данными мессенджера по каналу интеграции;
  • Менеджер - закрепленный за пользователем менеджер;
  • Статус - действующий статус лида на данный момент времени;
  • Атрибуты - список атрибутов, сохраненных в базе, например: значения, тэги, контекст;
  • Операции:
    • Отключение / включение реакции бота на сообщения лида;
    • Сообщения - список всех сообщений данного пользователя с ботом;
    • Уровень отладки - форма редактирования доступа к режиму отладки бота;
    • Редактировать - форма редактирования реквизитов по выбранной строке списка лидов;
    • Сбросить беседу для этого лида.

image.png

Фильтрация и поиск

Фильтрация и поиск данных может производиться по следующим параметрам:

  • Лид - поиск по выпадающему списку всех лидов, взаимодействовавших с этим ботом;
  • Тэг - фильтр, выбор значения Тэга из выпадающего списка тэгов, которые были назначены  лидам, взаимодействовавшим с этим ботом;
  • Переменная - фильтр, выбор значения Переменной из выпадающего списка переменных, которые были назначены  лидам, взаимодействовавшим с этим ботом;
  • Выключен - фильтр по параметру включен или выключен бот для лида:
    • если ДА, то фильтруются лиды, для которых бот выключен;
    • если НЕТ, то фильтруются лиды, для которых бот включен.
  • Канал - фильтр, выбор значения Канала из выпадающего списка подключенных в данном боте каналов;
  • NLP - фильтр, выбор значения по Активной NLP интеграции из выпадающего списка;
  • Статус - фильтр, выбор значения Статуса из выпадающего списка статусов, которые были назначены лидам, взаимодействовавшим с этим ботом;
  • Контекст - фильтр, выбор значения Контекст из выпадающего списка контекстных данных, которые были назначены лидам, взаимодействовавшим с этим ботом;
  • Значение - фильтр, ввод Значения переменных, которые могли быть присвоены лидам, взаимодействовавшим с этим ботом;
  • Чат передан оператору - фильтр по параметру передал ли диалог с лидом оператору:
    • если ДА, то фильтруются лиды, для которых диалог/чат передан оператору;
    • если НЕТ, то фильтруются лиды, для которых диалог/чат ведется ботом.
  • Мессенджер - фильтр, выбор значения Мессенджера из выпадающего списка мессенджеров, через которые общались лиды в данном боте.
  • Дата создания - период, в котором были созданы диалоги лидов с данным ботом. Можно установить дату С и не ограничивать дату По, или наоборот. По умолчанию дата С - не установлена, дата По - текущая дата календаря;
  • Последняя активность - период, в котором была зарегистрирована последняя активность лидов с данным ботом. Можно установить дату С и не ограничивать дату ПО, или наоборот. По умолчанию период устанавливается последняя неделя.

После установки параметров фильтрации нажать кнопку Применить фильтр.

Если необходимо сбросить все установленные фильтры, то нажать кнопку Сбросить фильтр.

image.png

Если необходимо сбросить один какой-либо параметр фильтрации, оставив остальные, то надо нажать крестик на данном параметре и кнопку Применить фильтр.

image.png

Под наименование раздела Лиды указано количество лидов общее или по примененному в текущий момент фильтру.

image.png

Сортировка данных

В разделе Лиды можно сортировать данные по следующим параметрам:

  • По возрастанию сортировка по дате создания диалога - вначале таблицы отображаются данные с последнего созданного диалога;
  • По убыванию сортировка по дате создания диалога - вначале таблицы отображаются данные с первого созданного диалога;
  • По возрастанию сортировка по дате последней активности лида - вначале таблицы отображаются данные с последнего диалога по дате активности;
  • По убыванию сортировка по дате последней активности - вначале таблицы отображаются данные с первого диалога по дате активности.

Необходимо в поле Сортировка выбрать нужный параметр и нажать кнопку Применить фильтр

image.png

Сортировка может применяться совместно к данным по примененным параметрам фильтрации. По умолчанию установлена обратная сортировка по дате создания диалогов.

Функциональные возможности

Экспорт / Импорт лидов

Над списком Лидов возможно выполнение следующих функций:

  • Экспорт - при нажатии на ссылку формируется файл формата *.csv;
  • Экспорт в JSON - при нажатии на ссылку экспортируется список лидов в формете json;
  • Импорт из JSON - при нажатии на ссылку импортируется список лидов из формата json;
  • Сбросить все беседы - при нажатии на ссылку происходит сброс бесед по всем лидам, взаимодействовавших с ботом.

image.png

Работа с сообщениями

Для просмотра списка сообщений, которые были записаны при взаимодействии лида с ботом, необходимо нажать кнопку Сообщения. На значке показано общее количество сообщений с данным лидом.

image.png

По умолчанию открывается список сообщений лида за последнюю неделю. На экранной форме также отображены все параметры по данной записи доступные для просмотра.

image.png

Для того чтобы открыть весь список сообщений, необходимо сбросить период отбора и нажать кнопку Применить фильтр.

image.png

Для канала Telegram, VK и Umnico имеется возможность напрямую отправить с платформы сообщение лиду.

Для этого необходимо нажать кнопку Отправить сообщение.

image.png

Далее в открывшейся форме набрать текст, также можно добавить эмодзи и нажать кнопку Отправить сообщение.

image.png


Блокировка работы бота

По одному любому выбранному Лиду бот можно остановить, нажав на кнопку Отключение реакции бота на сообщения лида в блоке Операции.

image.png

При активном положении данной кнопки у лида:

  • блокируются рассылки по лиду (лид не попадает в выборку лидов для рассылки, т.е. при планировании или запуске рассылки, по данному лиду не будет даже проверяться v8 условие);
  • если уже имеются какие-либо запланированные задания на выполнение по времени, то они не будут запущены;
  • если лид самостоятельно в канале Telegram остановит работу бота, а далее ее возобновит через интерфейс мессенджера, то работа бота возобновится, а кнопка перейдет в положение "Отключено", как показано на рисунке выше.
Отладка бота

У лида можно настроить уровень отладки бота, для это необходимо воспользоваться кнопкой Редактировать уровень отладки бота в блоке Операции.

image.png

В диалоговом окне необходимо выбрать настройки уровня:

  • Выключено - параметр по умолчанию;
  • Только V8 (editor) - уровень editor можно выставлять любым пользователя бота;
  • V8 и Exceptions (admin) - уровень admin можно выставлять только администраторам платформы или проверенным разработчикам.

image.png

При включенном уровне отладки бота будет выдаваться форматированное сообщение об ошибке V8 в боте.

  • на русском языке

    image.png

  • на английском языке

    image.png

Сброс беседы

Для того, чтоб лид вернулся в первоначальную точку беседы с ботом можно воспользоваться функцией сброса диалога по одному лиду, для это необходимо воспользоваться кнопкой Сбросить беседу для этого лида в блоке Операции.

image.png

Если всему боту требуется обновление, то можно воспользоваться командой Сбросить все беседы.

Редактирование карточки лида

В разделе редактирования лида можно самостоятельно проставить теги, присвоить новый атрибут, поменять статус лида, присвоить статус или ответственного менеджера, а также установить язык или настроить интеграцию (если в боте их две и более), для этого необходимо воспользоваться кнопкой Редактировать в блоке Операции.

image.png

В карточке лида имеется возможность редактирования активной интеграции. Для этого в выпадающем списке есть все NLP интеграции, в том числе и не активные. Это сделано для того, что могут установить интеграцию, а затем снять галку активности, в таком случае после сохранения на форме редактирования карточки было бы сброшено значение.

image.png

image.png

После установки активной интеграции по лиду, она отображается в параметре Активная NLP интеграция.

В параметре nlpLastIntegrationCode отображается код последней NLP интеграции, а в параметре nlpLastIntegrationId - ID последней NLP интеграции.

image.png

JS  методы для работы с лидами

С лидами можно работать при помощи следующих методов JS:

Название метода Метод
Получить количество лидов текущего бота bot.getData('leadsCount'): mixed|null
Получить лида по атрибутам bot.findLeads($columns = [], $where = [], $orderBy = [], ?int $limit = null, ?int $offset = null): array


Получить значение данных лида lead.getData(string $key): mixed|null
Проверить наличие данных по лиду

lead.issetData(string $key): bool

lead.isDataExist(string $key): bool

Порядковый номер лида в текущем боте lead.getSerialNumber(): int|null
Код канала лида lead.getChannelCode(): string

Каждый из методов подробнее расписан ниже.

Получить количество лидов текущего бота

bot.getData('leadsCount')
Описание:

Возвращает количество лидов текущего бота. Вместо leadsCount можно указать любое поле бота из таблицы БД.

Возвращает:

mixed - значение данных бота в формате, в котором они находятся в таблице БД

или

null - если таких данных не существует.

Получить лида по атрибутам

bot.findLeads($columns = [], $where = [], $orderBy = [], ?int $limit = null, ?int $offset = null)
Описание:

Находит лида по указанным атрибутам и другим данным.

Атрибуты:
Имя Тип Описание
columns object Возвращаемые поля лидов, по умолчанию все поля
where object

Ищет лиды по:

- атрибутам - для этого вводим в $where названия полей атрибутов как lead_attributes.<имя поля>
- статусам - используем в $where leadstatuses.<имя поля>
- каналам - используем в $where channels.<имя поля>

orderBy object Атрибут сортировки возвращаемых значений
limit int Максимальное число возвращаемых лидов
offset int Параметр показывающий с какого по счету найденного лида начать возвращать значения
Возвращает:

array - массив полей лидов.

Пример:
bot.findLeads(
    [],
    [
     ['lead_attributes.attribute_type', 'variable'],
     ['lead_attributes.attribute_key', 'nlpLastIntentName'],
     ['lead_attributes.attribute_value', 'позвать_человека'],
    ],
    [['updated_at']]
);

или получаем поля для первого найденного лида (без условий):

let leads = bot.findLeads(['status_name', 'channel_name', 'channel_code']);
if (leads.length) {
    let statusName = leads[0].getData('status_name');
    let channelName = leads[0].getData('channel_name');
    let channelCode = leads[0].getData('channel_code');
}

Получить значение данных

lead.getData(string $key)
Описание:

Возвращает значение данных сущности лида по ключу.

Атрибуты:
Имя Тип Описание
key string Ключ данных лида

В качестве ключа можно указать:

  • id - id лида;
  • identification - внешний id лида;
  • manager_id - id менеджера привязанного к лиду;
  • bot_id - id бота лида;
  • channel_id - id канала лида;
  • status_id - id статуса лида;
  • extra - ???
  • is_mute - включен ли бот для лида;
  • все системные поля лида (по английски).
Возвращает:

mixed - значение данных лида в формате, в котором они находятся в сущности

или

null - если таких данных не существует.

Пример:
let extra = lead.getData('extra');

Проверить наличие данных

lead.issetData(string $key)

или

lead.isDataExist(string $key)
Описание:

Проверяет существуют ли данные по ключу.

Атрибуты:
Имя Тип Описание
key string Ключ данных лида

В качестве ключа можно указать:

  • id - id лида;
  • identification - внешний id лида;
  • manager_id - id менеджера привязанного к лиду;
  • bot_id - id бота лида;
  • channel_id - id канала лида;
  • status_id - id статуса лида;
  • extra - ???
  • is_mute - включен ли бот для лида;
  • все системные поля лида (по английски).
Возвращает:

bool - подтверждение существования данных.

Пример:
let data = lead.issetData('manager_id');
let altdata = lead.isDataExist('status_id');

Порядковый номер лида

lead.getSerialNumber()
Описание:

Возвращает порядковый номер лида в боте начиная с первого созданного.

Возвращает:

int - порядковый номер лида

или

null - если лид не найден.

Пример:
let num = lead.getSerialNumber();

Код канала лида

lead.getChannelCode()
Описание:

Возвращает код канала лида (telegram, umnico, bitrix, и пр.)

Возвращает:

string - код канала лида в формате строки.

Пример:
let channel = lead.getChannelCode();