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

Атрибуты

Раздел просмотра сохраненных атрибутов для пользователей, взаимодействовавших с ботом
В раздел Атрибуты можно перейти по одноименной кнопке из панели управления раздела Настройки бота выбрать пункт меню Атрибуты.
На экранной форме отображен весь список атрибутов пользователей, которые были назначены во время взаимодействия пользователя с ботом.

image.png

Доступность операций над списком (редактировать, удалить) назначается с учетом полномочий в зависимости от Роли, назначенной на учетную запись.
  • Если у пользователя платформой назначена роль - Editor (это администратор бизнеса), то ему доступны операции Редактирования и Удаления атрибутов.
  • Если у пользователя платформой назначена роль - Viewer, то ему доступен только просмотр данного списка.
Редактировать атрибут можно, перейдя по кнопке Редактировать атрибут по строке соответствующей записи.

image.png

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

image.png

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

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

Название метода Метод
Атрибуты бота
Установить значение переменной бота bot.setAttr(string $key, string $value): self
Получить значение переменной бота bot.getAttr(string $key): mixed|null
Получить все переменные бота bot.getAllAttr(): array
Проверить наличие переменной бота
bot.issetAttr(string $key): bool
bot.isAttrExist(string $key): bool
Атрибуты лида

Установить значение переменной лида lead.setAttr(string $key, string $value): self
Получить значение переменной лида lead.getAttr(string $key): string|null
Получить все переменные лида lead.getAllAttr(): array
Проверить наличие переменной лида
lead.issetAttr(string $key): bool
lead.isAttrExist(string $key): bool
Удаление переменных лида lead.deleteAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self
lead.deleteAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self
Принудительное удаление переменных лида из БД lead.forceDeleteAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self
lead.forceDeleteAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self
Удаление json-переменных лида lead.deleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self
lead.deleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false): self
Принудительное удаление json-переменных лида из БД lead.forceDeleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self
lead.forceDeleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false): self

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

Установить значение переменной

Бота:

bot.setAttr(string $key, string $value)

Лида:

lead.setAttr(string $key, string $value)
Описание:

Обновляет значение уже существующей глобальной переменной/переменной лида или создает новую переменную с указанным значением. Данные будут сохранены в БД.

Атрибуты:
Имя Тип Описание
key string Наименование переменной
value string Значение переменной
Возвращает:

self - объект того же типа, в данном случае переменную, которая была создана.

Пример:

Создание глобальной переменной бота bot_attribute:

let bot_attribute = bot.setAttr('bot_attribute', 'Значение глобальной переменной');

Создание переменной лида lead_attribute:

let lead = "Значение переменной лида";
let lead_attribute = lead.setAttr('lead_attribute', lead);
 

Получить значение переменной

Бота:

bot.getAttr(string $key)

Лида:

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

Возвращает значение уже существующей глобальной переменной/переменной лида.

Атрибуты:
Имя Тип Описание
key string Наименование переменной
Возвращает:

Для переменной бота:

mixed - объект того же типа и значения, что у запрашиваемой переменной.

Для переменной лида:

string - значение запрашиваемой переменной в виде строки

или

null - если переменная не была найдена.

Пример:

Получение значения глобальной переменной бота bot_attribute:

let bot_attribute_value = bot.getAttr('bot_attribute');

Получение значения переменной лида lead_attribute:

let lead_attribute_value = lead.getAttr('lead_attribute');
 

Получить все переменные

Бота:

bot.getAllAttr()

Лида:

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

Возвращает значение всех глобальных переменных/переменных лида.

Возвращает:

array - массив значений всех переменных.

Пример:

Получение значений всех глобальных переменных бота и сложение их значений:

let bot_attribute = null;
let all_bot_attributes = bot.getAllAttr();
for(let i = 0; i < all_bot_attributes.length; i++) {
  bot_attribute = bot_attribute + all_bot_attributes[i];
}

Получение значения всех переменных лида и вынесение из массива одного из значений:

let all_lead_attributes = lead.getAllAttr();
let lead_attribute = all_lead_attributes[3];
 

Проверить наличие переменной

Бота:

bot.issetAttr(string $key)

или

bot.isAttrExist(string $key)

Лида:

lead.issetAttr(string $key)

или

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

Проверяет существует ли глобальная переменная/переменная лида в боте.

Атрибуты:
Имя Тип Описание
key string Наименование переменной

Возвращает:

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

Пример:

Проверка двумя способами существования глобальной переменной бота bot_attribute:

let bot_exists = bot.issetAttr('bot_attribute');
let bot_altexists = bot.isAttrExist('bot_attribute');

Проверка двумя способами существования переменной лида lead_attribute:

let lead_exists = lead.issetAttr('lead_attribute');
let lead_altexists = lead.isAttrExist('lead_attribute');

Удаление переменных лида

lead.deleteAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)

или

lead.deleteAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
Описание:

Удаляет переменную из бота.

Атрибуты:
Имя Тип Описание
attrs string|object|array|null Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив
ticketId  ?int Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной
scriptRequestParams  object Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной
isForceDelete  bool  Подавить запуск триггеров или нет, т.е. если передать true, 
и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен.
isSuppressTriggers  bool  Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается

Возвращает:

self - подтверждение удаления переменной.

Пример:
lead.deleteAttrs('var1, var2, var3', null, null, true);

Принудительное удаление переменных лида из БД

lead.forceDeleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)

или

lead.forceDeleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
Описание:

Удаляет переменную из бота и БД.

Атрибуты:
Имя Тип Описание
attrs string|object|array|null Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив
ticketId  ?int Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной
scriptRequestParams  object Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной
isSuppressTriggers  bool  Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается

Возвращает:

self - подтверждение удаления переменной.

Пример:
lead.forceDeleteAttrs('var1, var2, var3');

Удаление json-переменных лида

lead.deleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)

или

lead.deleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isForceDelete = false, bool $isSuppressTriggers = false)
Описание:

Удаляет json переменную из бота.

Атрибуты:
Имя Тип Описание
attrs string|object|array|null Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив
ticketId  ?int Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной
scriptRequestParams  object Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной
isForceDelete  bool  Подавить запуск триггеров или нет, т.е. если передать true, 
и есть триггер подписанный на событие изменения/удаления переменной то он не будет запущен.
isSuppressTriggers  bool  Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается

Возвращает:

self - подтверждение удаления переменной.

Пример:
lead.deleteJsonAttrs('json_var1, json_var2, json_var3', null, null, true);

Принудительное удаление json-переменных лида из БД

lead.forceDeleteJsonAttrs(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)

или

lead.forceDeleteJsonAttr(string|object|array|null $attrs, ?int $ticketId = null, $scriptRequestParams = [], bool $isSuppressTriggers = false)
Описание:

Удаляет json переменную из бота и БД.

Атрибуты:
Имя Тип Описание
attrs string|object|array|null Строка, представляющая собой список названий переменных (разделитель запятая). Можно указать вместо списка json объект или массив
ticketId  ?int Передает ticket в запускаемый триггер, который подписан на событие изменения/удаления переменной
scriptRequestParams  object Передает дополнительный параметры в запускаемый триггер , который подписан на событие изменения/удаления переменной
isSuppressTriggers  bool  Не мягкое удаление. Если передано true, то переменная будет удалена из БД, иначе у удаляемого атрибута указывается признак что он удален, но в бд он остается

Возвращает:

self - подтверждение удаления переменной.

Пример:
lead.forceDeleteJsonAttrs('json_var1, json_var2, json_var3');