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

Атрибуты

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

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)
Описание:

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

Справочнике Атрибуты:по функциям Имя Тип Описание 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);   Получить значение переменной Бота:JS
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');