Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 48 Следующий »

На платформе TWIN существуют встроенные переменные, которые можно использовать в любом сценарии. Встроенные переменные не нужно объявлять. Вы можете сразу использовать их в своих сценариях.

При указании переменных в информационных сообщениях блоков сценариев обязательно используйте фигурные скобки (например, чтобы добавить в сценарий переменную "системные.сегодня" укажите ее следующим образом: {системные.сегодня}).

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

Примеры:

  • Правильные варианты: {Новая_переменная}, {Новая_Переменная}, {новаяПеременная}.
  • Неправильный вариант: {Новая.переменная}.

Системные переменные

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

{системные.сейчас} - возвращает текущие дату и время (например, 2019-11-22 04:06:58). Текущие дата и время определяются во время диалога с клиентом.

Для входящей телефонии и чатов данная переменная имеет аналог {now}. В исходящей телефонии аналог не работает.

Пример использования:

Клиент звонит в магазин.

Бот делает сообщение: Внимание, в течение этого месяца у нас проходит грандиозная распродажа! Цены снижены до 30%. Сегодня {системные.сейчас}. Торопитесь успеть!


{системные.сегодня} - возвращает текущую дату без указания времени (например, 2019-11-22). Текущая дата определяется во время диалога с клиентом.

Для входящей телефонии и чатов данная переменная имеет аналог {today}. В исходящей телефонии аналог не работает.

Пример использования:

Клиент создает заказ и хочет узнать, когда он сможет его забрать.

Бот отвечает клиенту: заказ будет готов к получению {системные.сегодня}, начиная с 18.00.


{системные.время} - возвращает текущее время без указания даты (например, 04:06:58). Текущее время определяется во время диалога с клиентом.

Для входящей телефонии и чатов данная переменная имеет аналог {time}. В исходящей телефонии аналог не работает.

Пример использования:

Клиент звонит в службу точного времени.

Бот отвечает клиенту: Точное время: {системные.время}


{системные.телефон} - возвращает номер телефона клиента, который указан в задании на обзвон для выполнения вызова. Переменная {системные.телефон} и {phone} являются одной переменной. 

Для входящей телефонии данная переменная имеет аналог {phone}. В исходящей телефонии аналог не работает.

Пример использования:

Клиент звонит в магазин, чтобы узнать срок действия заказа.

Бот отвечает клиенту: уточните, заказ оформлен на номер {системные.телефон}? По завершению разговора бот отправляет шаблонное смс с информацией о заказе на номер клиента:


{системные.предыдущий} - возвращает идентификатор сценария, из которого был выполнен переход в текущий сценарий. Переменная позволяет получать информацию, из какого сценария был выполнен переход.

Пример использования:

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


{системные.дозвон} - возвращает количество успешных дозвонов до кандидата в рамках задания на обзвон.

Пример использования:

Например, в рамках одного сценария вы можете позвонить клиенту несколько раз и каждый раз начинать диалог по-разному:


{системные.запись} - возвращает ссылку на аудиозапись текущего диалога в телефонии.

На данный момент переменная {системные.запись} используется только в отчетах, сформированных для получения информации о заданиях на обзвон. Отчеты можно сформировать на странице Отчеты в разделе Статистика. Ссылка на файл расположена в колонке Адрес записи звонка. Формат файла: ".mp3".

Переменные детектора эмоций

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

В системе существуют следующие переменные детектора эмоций: 

  • {negativ}   негативная эмоциональная окраска;
  • {positive} –  позитивная эмоциональная окраска;
  • {neutral} –  нейтральная эмоциональная окраска.

Пример использования:

В зависимости от эмоциональной окраски ответа клиента бот может направить развитие диалога в ту или иную сторону:

{детектор.эмоций}=negative

При решении 99% задач данная функция не используется. Определить негатив в диалоге с клиентом вы можете с помощью намерений, которые будут отслеживать использование негативных слов (например, мат и/или брань). При помощи детектора эмоций вы можете распознавать эмоциональную окраску речи пользователя в обычных ситуациях (например, при отмене заказа). Старайтесь использовать детектор эмоций только в тех случаях, где это действительно необходимо (там, где вы не можете определить эмоциональную окраску с помощью намерений). 

Переменные детектора пола

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

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

В системе существуют следующие переменные детектора пола: 

  • male – мужской;
  • female – женский;
  • unsure – система не смогла прийти к однозначному решению;
  • unknown – не удалось определить пол или определение пола  выключено/не поддерживается.

Для определения пола системе необходимо прослушать голос пользователя без посторонних звуков в течение не менее чем 1 секунды. В противном случае система не сможет распознать его пол.

Пример использования:

Иллюстрация ниже демонстрирует проверку пола пользователя. Пользователей мужского пола бот перенаправляет на одну ветку, а пользователей женского пола - на другую.

{детектор.пол}=male

{детектор.пол}=female

{переменная|падеж:имя_падежа} 

Указанный формат записи имен пользовательских переменных позволяет склонять их значения по падежам.

Пример использования:

{m_0|падеж:родительный} - где m_0, например: Иван Иванович.

Например, требуется задать вопрос: "Могу я услышать Ивана Ивановича?". Чтобы бот использовал значение переменной в родительном падеже, в сообщении, которое будет озвучено ботом в блоке "Вопрос", нужно указать следующее: "Могу я услышать {m_0|падеж:родительный}?".

Поддерживаются все падежи:

  • Именительный (кто? что?) пример: это кто? - Иван Иванович;
  • Родительный (кого? чего?) пример: нет кого? - Анны Андреевны или Ивана Ивановича;
  • Дательный  (кому? чему?) пример: чему вы рады? - Анне Андреевне и Ивану Ивановичу;
  • Винительный (кого? что?) пример: кого/что вы видите? - Ивана Ивановича или Анну Андреевну;
  • Творительный  (кем? чем?) пример: кем восхищаетесь? - Иваном Ивановичем и Анной Андреевной;
  • Предложный (о ком? о чем?) пример: о ком думаете? - об Иване Ивановиче и Анне Андреевне.

Переменные, значения которых не меняются в процессе диалога

В системе существуют следующие переменные, значения которых являются постоянными и ни при каких обстоятельствах не изменяются в процессе диалога:

  • {companyId} - возвращает строку с идентификатором компании, которой принадлежит бот;
  • {botId} - возвращает строку с идентификатором бота;
  • {dialogId} - возвращает строку с идентификатором текущего диалога;
  • {dialog} - возвращает строку с полным текстом диалога;
  • {referer} - возвращает строку с url-адресом страницы, с которой пришёл пользователь (используется для чатов);
  • {utcNow} - возвращает текущие дату и время в часовом поясе UTC+0;
  • {utcTime} - возвращает текущее время в часовом поясе UTC+0;
  • {utcToday} - возвращает текущую дату в часовом поясе UTC+0.

Пример использования:

Например, после завершения диалога бот может отправить письмо на электронную почту клиента с полным текстом диалога:

Переменные с информацией об участнике диалога

Нижи приводится список переменных, значения которых можно изменять в процессе диалога:

  • {clientId} - возращает строку с внутренним идентификатором клиента в системе Twin (uuid);
  • {clientPhone} - возращает строку с номером телефона клиента;
  • {clientEmail} - возращает строку с адресом электронной почты клиента;
  • {clientName} - возращает строку с именем клиента;
  • {clientNickname} - возращает строку с псевдонимом клиента;
  • {clientExternalId} - возращает строку с внешним идентификатором клиента в системе;
  • {clientMetadata} - возращает массив, содержащий любые данные о клиенте (задается в следующем формате:  {"{firstName}": "Иван", "{middleName}": "Иванович", "{lastName}": "Иванов"}.

Значения данных переменных бот может получать по различным каналам связи (например, viber, whatsup, telegram и др.).  Чтобы изменить значение любой из этих переменных, нужно определить соответствующую переменную в сценарии.

Имя и значение переменной задаются без фигурных скобок. Фигурные скобки используются только при указании имен переменных в сообщениях, которые воспроизводятся ботом.

Переменные, значения которых можно изменить только при переключении со звонка на чат и наоборот

(Данный функционал недоступен в полном объеме. На текущий момент указанные ниже переменные можно использовать, например, для определения в каком мессенджере происходит диалог с клиентом):

{communicationType} - строка, тип коммуникации с клиентом. Допустимые значения: TEXT, VOICE.
{channelType} - строка, тип канала общения. Допустимые значения: WEB, MOBILE, MESSENGER.
{messenger} - строка, тип мессенджера. Допустимые значения: WHATSAPP, VIBER, TELEGRAM, VKONTAKTE, FACEBOOK, SKYPE, SLACK, YANDEX, ALICE, THREADS.

Пример использования:

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

Переменные, значения которых меняются при каждом обращении к боту

{percept} - возвращает строку с фразой, которую пользователь произносит последнюю фразу клиента.
{clientLastAnswerTime} - возвращает время последней фразы клиента в секундах (целое число).
{botLastAnswerTime} - возвращает время последнего ответа бота в секундах (целое число).

Данные переменные используются для входящей телефонии и в чатах в основном для отладочных целей.

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




  • Нет меток