Персоны
Персона — это карточка с данными о пользователе. К персоне привязывается активный лид пользователя.
Меню персон
В меню персон можно попасть из раздела Заявки и персоны в верхнем меню бота, нажав в выпадающем списке на Персоны.
После перехода в меню персон открывается таблица содержащая всех персон бизнеса.
Здесь можно просматривать таблицу, создавать новых персон (1), редактировать информацию о уже существующих и удалять их (2), настраивать фильтры для удобного поиска нужных персон (3).
Создание персоны
При нажатии на кнопку Создать открывается окно настройки персоны со следующими полями:
- Имя - имя персоны;
- Фамилия - фамилия персоны;
- Отчество - отчество персоны;
- E-mail - адрес электронной почты персоны;
- Телефон - номер телефона персоны;
- Сотрудник/Клиент - опция в которой можно выбрать кем является персона в боте: Сотрудником бизнеса (внутренней персоной) или Клиентом (внешней персоной);
- Название организации - название организации, в которой работает персона;
- Адрес организации - адрес организации, в которой работает персона;
- Роль - выпадающий список, в котором следует выбрать роль персоны существующую в боте;
- Web-пользователь - выпадающий список, в котором можно привязать персону к web-пользователю;
- Комментарий - описание персоны или дополнительная информация.
После создания персона появится в таблице в меню персон с автоматически заданным ей Id. Тут ее можно редактировать и удалить.
Редактирование персон включает в себя те же поля, что при создании.
Фильтры
Для быстрого и удобного поиска в меню персон существуют фильтры. Настраивая их, можно сократить список персон по соответствующим параметрам.
Фильтры есть для всех полей существующих в окне создания персоны, а так же для времени создания и обновления персоны.
После выбора фильтров нужно нажать на кнопку Применить фильтр, и тогда в таблице останутся только персоны соответствующие заданным параметрам. Или же можно нажать на кнопку Сбросить фильтр и в таблице будут показаны все существующие в бизнесе персоны.
Импорт
Если у вас уже есть таблица персон, то вы можете импортировать ее из .csv файла при помощи функции Импорт в правом верхнем углу меню персон:
При нажатии открывается окно импорта персон с возможностью выбрать файл .csv и загрузить его.
После загрузки все персоны из файла будут добавлены в таблицу меню персон.
JS
С персонами так же можно работать с помощью методов JS. Все методы дляи работыих с персонами
К персонамописание можно обращатьсяпосмотреть изв JS следующими методами:
Обновить персонуСправочнике по idфункциям JS
Удалить персону по id
Создать персону для лида
Обновить персону
Удалить персону
Получить все поля персоны
Установить поле персоны
Получить значение данных персоны
Проверить наличие данных по персоне
Получить ID персоны
Получить полное имя персоны
person.getFullName(): string
Получить ID роли персоны
Получить название роли персоны
Получить заголовок роли персоны
Получить форматированное название роли персоны.
Получить номер телефона персоны
Установить номер телефона персоны
Получить почту персоны
Если у персоны нет роли ИЛИ у лида нет персоны то v8 возвращает Роль персоны по умолчанию (настраивается в боте). Это применимо как к получению имени роли так и ее ID.
Каждый из методов подробнее расписан ниже.
Создание персоны
bot.createPerson($data)Описание:
Создает в боте персону с указанными полями.
Атрибуты:
data
lead_id
person_role_id
is_external
Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом.
А 0 означает что персона является работником бизнеса
user_id
firstname
lastname
middlename
email
phone
organization_name
organization_address
comment
Возвращает:
int - id персоны в формате числа.
Пример:
let newPersonId = bot.createPerson({
'lead_id': 2356,
'is_external': 1,
'lastname': 'Иванов'
});Поиск персоны
bot.findPersons($where = [], $orderBy = [], ?int $limit = null, ?int $offset = null, bool $isLogErrorIfManyPersonsFound = false)Описание:
Находит персоны в соответствии с указанными параметрами и возвращает их массив.
Атрибуты:
where
orderBy
limit
offset
isLogErrorIfManyPersonsFound
Возвращает:
array - массив с id всех найденных персон.
Пример:
//let persons = bot.findPersons([["firstname", "Alex"]], {}, null, null, true);
//let persons = bot.findPersons([["firstname", "Alex"], ["is_external", "=", 0]], {}, null, null, true);
//let persons = bot.findPersons([["persons.firstname", "=", "Alex"], ["persons.is_external", "=", 0], ["person_roles.name", "=", "test"]], {}, null, null, true);
let persons = bot.findPersons([["firstname", "Alex"]]);
for (let i = 0; i < persons.length; i++) {
lead.setAttr('person_' + i + '_role_name', persons[i].getRoleName());
}
lead.setAttr('found_persons_count', persons.length);Обновить персону по id
bot.updatePersonById(int $personId, $data)Описание:
Обновляет поля персоны в соответствии с БД.
Атрибуты:
personId
data
person_role_id
is_external
Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом.
А 0 означает что персона является работником бизнеса
user_id
firstname
lastname
middlename
email
phone
organization_name
organization_address
comment
Возвращает:
bool - подтверждение обновления данных.
Пример:
bot.updatePersonById(15624, {
'is_external': 1,
'firstname': 'Иван',
'lastname': 'Иванов'
});Удалить персону по id
bot.deletePersonById(int $personId)Описание:
Удаляет персону по id.
Атрибуты:
personId
Возвращает:
bool - подтверждение удаления персоны.
Пример:
bot.deletePersonById(24376);Получить id персоны
lead.getPersonId()Описание:
Возвращает id персоны лида.
Возвращает:
int - id персоны в формате числа.
Пример:
let PersonId = lead.getPersonId();
lead.setAttr('PersonId', PersonId);Привязать персону к лиду
lead.setPersonId(?int $personId)Описание:
Привязывает к лиду персону с соответствующим id.
Атрибуты:
personId
Возвращает:
bool - подтверждение успешной привязки персоны к лиду.
Пример:
lead.setPersonId(167435);Создать персону для лида
lead.createPersonForCurrentLead($data)Описание:
Создает персону для текущего лида в контексте которого запущен v8-скрипт.
Атрибуты:
data
person_role_id
is_external
Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом.
А 0 означает что персона является работником бизнеса
user_id
firstname
lastname
middlename
email
phone
organization_name
organization_address
comment
Возвращает:
int - id созданной персоны в формате числа.
Пример:
let newPersonId = lead.createPersonForCurrentLead({
'is_external': 1,
'firstname': 'Иван',
'lastname': 'Иванов'
})Обновить персону
person.update($data)Описание:
Обновляет данные персоны в соответствии с БД.
Атрибуты:
data
person_role_id
is_external
Если не устанавливать по умолчанию будет установлено 1, означающее что персона является клиентом.
А 0 означает что персона является работником бизнеса
user_id
firstname
lastname
middlename
email
phone
organization_name
organization_address
comment
Возвращает:
bool - подтверждение обновления данных.
Пример:
person.update({
'is_external': 1,
'firstname': 'Иван',
'lastname': 'Иванов'
});Удалить персону
person.delete()Описание:
Удаляет персону лида.
Возвращает:
bool - подтверждение удаления персоны.
Получить все поля персоны
person.getAllData()Описание:
Возвращает значения всех полей персоны лида в виде массива.
Возвращает:
array - массив всех значений полей персоны.
Пример:
let AllData = person.getAllData();
let Data2 = AllData[1];Установить поле персоны
person.setData(string $key, $value)Описание:
Заполняет указанное поле персоны лида указанным значением.
Атрибуты:
key
value
В качестве ключа можно указать:
Возвращает:
self - значение отредактированного поля в соответствующем формате.
Пример:
person.setData('email', 'user@mail.ru');Получить значение данных персоны
person.getData(string $key)Описание:
Возвращает значение данных персоны по ключу или названию поля БД.
Атрибуты:
key
В качестве ключа можно указать:
Возвращает:
self - значение запрашиваемого поля в соответствующем формате.
Пример:
let createdAt = person.getData('created_at');Проверить наличие данных по персоне
person.issetData(string $key)или
person.isDataExist(string $key)Описание:
Проверяет существование данных персоны лида.
Атрибуты:
key
В качестве ключа можно указать:
Возвращает:
bool - подтверждение существования данных.
Пример:
let DataExist = person.issetData('phone');или
let DataExist = person.isDataExist('phone');Получить ID персоны
person.getId()Описание:
Возвращает id персоны привязанной к лиду.
Возвращает:
int - id персоны в формате числа.
Пример:
let PersonId = person.getId();
lead.setAttr('PersonId', PersonId);Получить полное имя персоны
person.getFullName()Описание:
Возвращает полное имя персоны лида в виде Фамилия + Имя + Отчество.
Возвращает:
string - полное имя персоны.
Пример:
let PersonName = person.getFullName();
lead.setAttr('PersonName', PersonName);Получить ID роли персоны
person.getRoleId()Описание:
Возвращает id роли привязанной к персоне лида.
Возвращает:
int - id роли персоны в формате числа.
Пример:
let RoleId = person.getRoleId();
lead.setAttr('RoleId', RoleId);Получить название роли персоны
person.getRoleName()Описание:
Возвращает название роли привязанной к персоне лида.
Возвращает:
string - название роли персоны.
Пример:
let RoleName = person.getRoleName();
lead.setAttr('RoleName', RoleName);Получить заголовок роли персоны
person.getRoleTitle()Описание:
Возвращает заголовок роли привязанной к персоне лида.
Возвращает:
string - заголовок роли персоны.
Пример:
let RoleTitle = person.getRoleTitle();
lead.setAttr('RoleTitle', RoleTitle);Получить форматированное название роли персоны
person.getRoleFormattedTitle()Описание:
Возвращает форматированное название роли персоны лида.
Будет возвращено:
Возвращает:
string - форматированное название роли персоны.
Пример:
let FormattedTitle = person.getRoleFormattedTitle();
lead.setAttr('FormattedTitle', FormattedTitle);Получить номер телефона персоны
person.getPhone()Описание:
Находит номер телефона персоны лида.
Возвращает:
string - номер телефона персоны в формате строки.
Установить номер телефона персоны
person.setPhone(?string $phone)Описание:
Устанавливает значение номера телефона персоны лида.
Атрибуты:
phone
Возвращает:
bool - подтверждение установки значения.
Пример:
person.setPhone('+71234567890');Получить почту персоны
person.getEmail()Описание:
Находит адрес электронной почты персоны лида.
Возвращает:
string - адрес электронной почты персоны в формате строки.





