Якорь Top Top
| Message Box | ||||||
|---|---|---|---|---|---|---|
| ||||||
|
| Якорь | ||||
|---|---|---|---|---|
|
На платформе TWIN есть встроенные существуют системные переменные, которые можно использовать в различных сценариях:
К сожалению, невозможно использовать собственные переменные со знаком точка:
{ваша.переменная}
такая конструкция работать не будет. Это единственное ограничение в переменных, так как знак "." указывает на системную переменную.
{системные.переменная}
любом сценарии. Системные переменные не нужно объявлять и записывать в них данные – вы можете сразу использовать их в своих сценариях.
При указании переменных в сообщениях блоков нужно использовать фигурные скобки. Например, чтобы добавить в сценарий переменную «системные.сегодня» укажите ее следующим образом: {системные.сегодня}.
| Подсказка |
|---|
Помимо системных переменных можно использовать в сценариях свои собственные переменные. Имя переменной может быть любым. Однако, существует ограничение: имя переменной не должно содержать точку. Данный символ используется только в именах встроенных переменных. Примеры:
|
| Якорь | ||||
|---|---|---|---|---|
|
В сценариях можно использовать следующие переменные группы «Системные»:
{системные.сейчас}
Переменная {системные.сейчас}возвращает текущие дату и время по UTC (например, 2019-11-22 04:06:58). Текущие дата и время определяются во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {now}. В исходящей телефонии аналог не работает. |
Пример использования:
Клиент звонит в магазин.
Бот произносит сообщение: «Внимание! В течение этого месяца у нас проходит грандиозная распродажа! Цены снижены до 30%. Сегодня {системные.сейчас}. Торопитесь успеть!»
Чтобы бот отображал время для конкретного часового пояса, нужно использовать дополнительный блок Арифметическая операция. Для параметра Тип нужно выбрать значение Дата. В поле Смещение от даты нужно ввести название системной переменной {системные.сейчас} и задать смещение в секундах. Смещение происходит от текущего времени по UTC. То есть если вы хотите, чтобы бот указал текущее время, например, в Волгограде (UTC + 3), нужно задать смещение равное 10800 (количество секунд в 3 часах). Результат нужно сохранить в пользовательскую переменную. После этого пользовательскую переменную можно использовать в тексте сообщения.
...
{компания.сейчас}
Переменная {компания.сейчас}возвращает текущие дату и время с учетом часового пояса, в котором расположена компания (например, Системные переменные используемые на платформе.
{системные.сейчас} - Дата со временем (например 2019-11-22 04:06:58). Используется текущая дата в момент использования сценария.
{системные.сегодня} - Дата без времени (например ). Текущие дата и время определяются во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {company.now}. В исходящей телефонии аналог не работает. |
...
{системные.сегодня}
Переменная {системные.сегодня}возвращает текущую дату без указания времени (например, 2019-11-22). Текущая дата определяется во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {today}. В исходящей телефонии аналог не работает. |
Пример использования:
Клиент создает заказ и хочет узнать, когда он сможет его забрать.
Бот отвечает клиенту: «Заказ будет готов к получению {системные.сегодня}, начиная с 18.00».
Чтобы бот вместе с датой отображал еще и время, нужно использовать блок Арифметическая операция. Для параметра Тип нужно выбрать значение Дата. В поле Смещение от даты нужно ввести название системной переменной {системные.сегодня} и задать смещение в секундах. Смещение происходит от начала суток (00.00). То есть если вы хотите, чтобы бот отобразил текущую дату и указал время, например, 9.00, нужно задать смещение равное 32400 (количество секунд в 9 часах). Результат нужно сохранить в пользовательскую переменную. После этого пользовательскую переменную можно использовать в тексте сообщения.
...
{компания.сегодня}
Переменная {компания.сегодня}возвращает текущую дату без указания времени (например, 2019-11-22). Используется текущая дата в момент использования сценария.
{системные.время} Время без даты (При этом учитывается часовой пояс, в котором расположена компания. Текущая дата определяется во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {company.today}. В исходящей телефонии аналог не работает. |
...
{системные.время}
Переменная {системные.время} возвращает текущее время без указания даты (например, 04:06:58). Текущее время определяется во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {time}. В исходящей телефонии аналог не работает. |
Пример использования:
Клиент звонит в справочную аэропорта, чтобы уточнить, до какого времени осуществляется посадка на рейс.
Бот отвечает клиенту: «Посадка на рейс в Лондон заканчивается в 18.45. Сейчас: {системные.время}».
...
{компания.время}
Переменная {компания.время} возвращает текущее время без указания даты (например, например 04:06:58). Используется текущее время в момент использования сценария.
{системные.телефон} Номер абонента используемый в сценарии при звонке через телефонию.
. При этом учитывается часовой пояс, в котором расположена компания. Текущее время определяется во время диалога с клиентом.
| Подсказка |
|---|
Для входящей телефонии и чатов данная переменная имеет аналог {company.time}. В исходящей телефонии аналог не работает. |
{системные.телефон}
Переменная {системные.телефон} возвращает номер телефона клиента, который указан в задании на обзвон для выполнения вызова.
| Подсказка |
|---|
Эта переменная предназначена для сценариев, которые используются в телефонии и мессенджерах. Для входящей телефонии переменная имеет аналог {phone}. В исходящей телефонии аналог не работает. |
Пример использования:
Клиент звонит в магазин, чтобы узнать срок действия заказа.
Бот отвечает клиенту: «Уточните, заказ оформлен на номер {системные.телефон}?» После завершения разговора бот отправляет шаблонное SMS-сообщение с информацией о заказе на номер клиента:
...
{системные.предыдущий}
Переменная {системные.предыдущий} возвращает ID сценария, из которого система перенаправила бота в другой сценарий во время диалога с пользователем (также см. Как перевести диалог бота с клиентом в другой сценарий).
Пример использования:
При переходе в новый сценарий можно выполнить проверку, из какого сценария был выполнен переход. Эта проверка позволяет перенаправить клиента на отдельную ветку, которая не содержит вопросы, которые бот задавал клиенту в предыдущем сценарии.
...
{системные.дозвон}
Переменная Номер сценария. Во время перехода между скриптами можно задействовать такое условия, чтобы знать откуда был сделан переход.
{системные.дозвон} Счётчик успешных возвращает количество дозвонов до кандидата в рамках задания на обзвон. Считаются все результативные звонки по номеру кандидата.
| Примечание |
|---|
Тестировать переменную необходимо с помощью исходящих звонков. При тестировании в редакторе переменная {системные. |
...
{детектор.эмоции}
Определение эмоциональной окраски ответа человека. Бывает 3-х типов:
- negative - Негативный окрас
- positive - Позитивный окрас
- neutral - Нейтральная эмоциональность
{детектор.пол}
Определение пола по голосу. Доступно только в звонках. Для работы данной переменной требуется в задании на обзвон установить галочку "Определение гендерного признака". Возможные значения
Для определения пола системе необходимо не менее 1 секунды чистого голоса клиента, в противном случае система ничего не распознает.
- male . -мужской
- female - женский
- unsure - система на смогла прийти к однозначному решению
- unknown - не удалось определить или определение эмоции отключено/не поддерживается
{переменная|падеж:имя_падежа}
Склонение переменных для правильного произношение синтезом согласно падежу.
Пример: {m_0|падеж:родительный} - где m_0, например: Иван Иванович. И согласно сценарию "могу я услышать m_0 ?", задача использовать переменную в родительном падеже.
Поддерживаются все падежи:
именительный (кто? что?) пример: -это кто? -Иван Иванович
родительный (кого? чего?) пример: -нет кого? - Анны Андреевны или Ивана Ивановича
дательный (кому? чему?) пример: чему вы рады? -Анне Андреевне и Ивану Ивановичу
винительный (кого? что?) пример: кого/что вы видите? -Ивана Ивановича или Анну Андреевну
творительный (кем? чем?) пример: кем восхищаетесь? -Иваном Ивановичем и Анной Андреевной
предложный (о ком? о чем?) пример: о ком думаете? - об Иване Ивановиче и Анне Андреевне
Переменные значения которых не меняются и которые нельзя изменить в процессе диалога
{companyId} - строка, идентификатор компании которой принадлежит бот.
{botId} - строка, идентификатор бота.
{dialogId} - строка, идентификатор текущего диалога.
{dialog} - объект, автоматически, при вставке в строку, трансформируется в текст диалога.
{referer} - строка, URL с которого пришёл пользователь (используется для чатов).
Информация о клиенте (конечный пользователь Twin, участник диалога)
информация может быть изменена в процессе диалога с помощью ендпойнта идентификации клиента (он есть как в чатах, так и в сервисе бота).
{clientId} - строка, идентификатор клиента в системе Twin.
{clientPhone} - строка, номер телефона клиента.
{clientEmail} - строка, адрес электронной почты клиента.
{clientName} - строка, имя клиента.
{clientExternalId} - строка, идентификатор пользователя в системе клиентов Twin, должна быть уникальной в пределах компании.
{clientMetadata} - массив, любые данные о клиенте.
Данные, которые можно изменить только в процессе переключения со звонка на чат, либо наоборот
(Пока данный функционал не доступен в полном объеме, т.к. не запущен CIS. В данный момент можно использовать, например для определения в каком мессенджере ведется диалог):
...
дозвон} будет иметь пустое значение. Если в задании на обзвон несколько кандидатов с одинаковыми номерами телефона, то счетчик {системные.дозвон} будет работать в рамках каждого кандидата независимо друг от друга. Установите правила или шаблоны перезвона, либо инициируйте перезвон из сценария, чтобы счетчик корректно учитывать перезвоны в контексте каждого кандидата. |
| Информация |
|---|
Успешные дозвоны можно спутать с результативными вызовами. Дозвон считается успешным, если клиент ответил на звонок. При этом продолжительность разговора не имеет значения. Вызов считается результативным, если его продолжительность превышает установленное в настройках задания на обзвон значение. |
{tryNumber}
Переменная {tryNumber} возвращает количество попыток дозвона в рамках задания на обзвон. Используется в телефонии CIS.
{userAnswer}
Переменная {userAnswer} используется для хранения ответа пользователя, который применяется к блоку вопроса при включенной опции Использовать ответ пользователя. Эта переменная позволяет системе сохранить и использовать ответ пользователя для дальнейшего анализа и обработки.
{системные.запись}
Переменная {системные.запись} возвращает ссылку на аудиозапись текущего диалога в телефонии. Переменная используется только в исходящих вызовах.
| Информация |
|---|
На данный момент переменная {системные.запись} используется только в отчетах, сформированных для получения информации о заданиях на обзвон. Отчеты можно сформировать на странице Отчеты в разделе Статистика. Ссылка на файл расположена в колонке Адрес записи звонка. Формат файла: ".mp3". |
{recordPath}
Переменная {recordPath} содержит ссылку на скачивание аудиозаписи текущего диалога. Используется в телефонии CIS.
| Якорь | ||||
|---|---|---|---|---|
|
В системе существуют следующие переменные, значения которых являются постоянными и ни при каких обстоятельствах не изменяются в процессе диалога:
- {companyId} – возвращает строку с идентификатором компании, которой принадлежит бот.
- {botId} – возвращает строку с идентификатором бота.
- {dialogId} – возвращает строку с идентификатором текущего диалога.
- {dialog} – возвращает строку с полным текстом диалога.
- {referer} – возвращает строку с адресом главной страницы сайта, на которой размещен виджет (позволяет оператору понять, с какого сайта пишет пользователь).
- {utcNow} – возвращает текущие дату и время в часовом поясе по UTC.
- {utcTime} – возвращает текущее время в часовом поясе по UTC.
- {utcToday} – возвращает текущую дату в часовом поясе по UTC
- {messengerUserId} – возвращает идентификатор учетной записи пользователя в мессенджере.
Пример использования:
Например, после завершения диалога бот может отправить письмо на электронную почту клиента с полным текстом диалога:
| Якорь | ||||
|---|---|---|---|---|
|
Ниже приводится список переменных, значения которых можно изменять в процессе диалога:
- {clientId} – возвращает строку с внутренним идентификатором клиента в системе TWIN (uuid).
- {clientPhone} – возвращает строку с номером телефона клиента.
- {clientEmail} – возвращает строку с адресом электронной почты клиента.
- {clientName} – возвращает строку с именем клиента.
- {clientNickname} – возвращает имя клиента (никнейм) в мессенджере, в котором клиент общался с ботом.
- {clientExternalId} – возвращает строку с внешним идентификатором клиента в системе.
- {clientMetadata} – возвращает массив, содержащий любые данные о клиенте (задается в следующем формате: {"{firstName}": "Иван", "{middleName}": "Иванович", "{lastName}": "Иванов"}.
Значения данных переменных бот может получать по различным каналам связи (например, Viber, WhatsApp, Telegram и др.). Чтобы изменить значение любой из этих переменных, нужно определить соответствующую переменную в сценарии.
| Подсказка |
|---|
Имя и значение переменной задаются без фигурных скобок. Фигурные скобки используются только при указании переменных в сообщениях, которые воспроизводятся ботом. |
| Якорь | ||||
|---|---|---|---|---|
|
| Информация |
|---|
(Данный функционал недоступен в полном объеме. На текущий момент указанные ниже переменные можно использовать, например, чтобы определить, в каком мессенджере происходит диалог с клиентом). |
- {communicationType} – строка, тип коммуникации с клиентом. Допустимые значения: TEXT, VOICE
...
- ;
- {channelType}
...
- – строка, тип канала общения. Допустимые значения: WEB, MOBILE, MESSENGER
...
- ;
- {messenger}
...
- – строка, тип мессенджера. Допустимые значения: WHATSAPP, VIBER, TELEGRAM, VKONTAKTE, FACEBOOK*, SKYPE, SLACK, YANDEX, ALICE, THREADS, AVITO.
Пример использования:
Во время диалога бот может уточнить у клиента, удобно ли ему общаться в текущем мессенджере.
...
Впоследствии бот может перевести диалог на телефон.
| Якорь | ||||
|---|---|---|---|---|
|
...
- {percept} – возвращает строку с последним ответом клиента на вопрос бота.
- {clientLastAnswerTime} – возвращает время последнего ответа пользователя на вопрос бота. Значение отображается в виде временной метки Unix-времени.
- {botLastAnswerTime} – возвращает время последнего ответа бота в секундах. Значение отображается в виде временной метки Unix-времени.
| Информация |
|---|
Временная метка Unix-времени (например, 1658125300) отображает количество секунд, которое прошло с 1 января 1970 года (00:00:00 UTC). |
Данные переменные используются для входящей телефонии и в чатах в основном для отладочных целей.
| Подсказка |
|---|
Список переменных будет обновляться по мере появления новых переменных на платформе TWIN. |
- {channelType} – строка, тип канала общения. Допустимые значения: WEB, MOBILE, MESSENGER.
- {messenger} – строка, тип мессенджера. Допустимые значения: WHATSAPP, VIBER, TELEGRAM, VKONTAKTE, FACEBOOK*, SKYPE, SLACK, YANDEX, ALICE, THREADS, AVITO.
| Якорь | ||||
|---|---|---|---|---|
|
При помощи программных средств можно отображать дату и время в желаемом формате. Например, клиент может написать в диалоге следующую фразу: «третьего октября в восемь». Ответ клиента можно сохранить в переменную, а в дальнейшем (при необходимости) отобразить в диалоге в нужном виде, например: 2022-10-03 в 08:00, 08:00 03-10, 22-10-03, 03.10.22, в 08:00, 08:00 АМ, Monday и др.
| Информация |
|---|
Программные средства форматирования даты и времени можно использовать в сценариях в виджетах, социальных сетях и мессенджерах. В телефонии форматирование даты и времени не поддерживается. |
По умолчанию дата и время отображаются в сценариях в следующих форматах:
- Дата: ГГГГ-ММ-ДД
- Время: ЧЧ:ММ:СС
- Дата и время: ГГГГ-ММ-ДД ЧЧ:ММ:СС
Для форматирования дат и времени служит следующий шаблон: {<имя переменной>|формат: код или коды форматирования}.
Список кодов форматирования:
| Подсказка |
|---|
В качестве примера ниже используются следующие дата и время: «3 октября 2022, 8:15 ». |
| Код форматирования | Описание/обозначение | Пример использования | Результат |
|---|---|---|---|
| a | "am" или "pm" | {имя переменной|формат:а} | ам |
| A | "AM" или "PM" | {имя переменной|формат:A} | АМ |
| d | день месяца (01-31) | {имя переменной|формат:d} | 03 |
| D | сокращенное название дня недели (первые три буквы) | {имя переменной|формат:D} | Mon |
| F | полное название месяца | {имя переменной|формат:F} | October |
| g | часы (12-часовой формат без ведущих нулей) | {имя переменной|формат:g} | 8 |
| G | часы (24-часовой формат без ведущих нулей) | {имя переменной|формат:G} | 8 |
| h | часы (12-часовой формат) | {имя переменной|формат:h} | 08 |
| H | часы (24-часовой формат) | {имя переменной|формат:H} | 08 |
| i | минуты (00-59) | {имя переменной|формат:i} | 15 |
| j | день месяца без ведущих нулей (1-31) | {имя переменной|формат:j} | 3 |
| l | полное название дня недели | {имя переменной|формат:l} | Monday |
| L | признак високосного года (0 – обычный год или 1 – високосный год) | {имя переменной|формат:L} | 0 |
| m | номер месяца (01-12) | {имя переменной|формат:m} | 10 |
| M | сокращенное название месяца (три буквы) | {имя переменной|формат:M} | Oct |
| n | месяц (1-12) | {имя переменной|формат:n} | 10 |
| s | секунды (00-59) | {имя переменной|формат:s} | 00 |
| t | количество дней в данном месяце (28-31) | {имя переменной|формат:t} | 31 |
| w | номер дня недели (0 – воскресенье, 6 – суббота) | {имя переменной|формат:w} | 1 |
| y | год (последние два разряда) | {имя переменной|формат:y} | 22 |
| Y | год (четыре разряда) | {имя переменной|формат:Y} | 2022 |
| z | номер дня в году (0-365) | {имя переменной|формат:z} | 275 |
Вы можете использовать одновременно несколько кодов форматирования из списка выше. В качестве разделителя можно использовать различные символы: точка, запятая, точка с запятой, двоеточие, плюс, минус и др. В строке форматирования также можно использовать различные слова и фразы. Например:
| Информация |
|---|
При перечислении нескольких кодов форматирования разделитель также можно не использовать. |
| Строка форматирования | Результат |
|---|---|
| {имя переменной|формат:l d.m.y} | Monday 03.10.22 |
| {имя переменной|формат: текущий день: l, текущая дата: d.m.y} | текущий день: Monday, текущая дата: 03.10.22 |
| {имя переменной|формат:h:i:s} | 08:15:00. |
| {имя переменной|формат:g часов i минут s секунд} | 8 часов 15 минут 00 секунд |
| Якорь | ||||
|---|---|---|---|---|
|
Системные переменные
- {системные.сейчас} возвращает текущие дату и время по UTC (например, 2019-11-22 04:06:58).
- {компания.сейчас} возвращает текущие дату и время с учетом часового пояса, в котором расположена компания (например, 2019-11-22 04:06:58).
- {системные.сегодня} возвращает текущую дату без указания времени (например, 2019-11-22).
- {компания.сегодня} возвращает текущую дату без указания времени (например, 2019-11-22). При этом учитывается часовой пояс, в котором расположена компания.
- {системные.время} возвращает текущее время без указания даты (например, 04:06:58).
- {компания.время} возвращает текущее время без указания даты (например, 04:06:58). При этом учитывается часовой пояс, в котором расположена компания.
- {системные.телефон} возвращает номер телефона клиента, который указан в задании на обзвон для выполнения вызова.
- {системные.предыдущий} возвращает ID предыдущего сценария, из которого система во время диалога с пользователем перенаправила бота в другой сценарий.
- {системные.дозвон} возвращает количество дозвонов до кандидата в рамках задания на обзвон. Считаются все результативные звонки по номеру кандидата.
- {tryNumber} количество попыток дозвона по номеру кандидата, считается с 0. Аналог {системные.попытка}.
- {системные.запись} возвращает ссылку на аудиозапись текущего диалога в телефонии.
- {системные.расшифровка} – возвращает строку с полным текстом диалога.
- {recordPath} возвращает ссылку на скачивание аудиозаписи текущего диалога в телефонии CIS.
- {системные.попытка} считаются все попытки дозвона по номеру кандидата.
- tryCandidate - количество попыток дозвона до кандидата, считается с 0.
- answeredCandidate - количество дозвонов до кандидата, считается с 0.
- resultCandidate - количество результативных дозвонов до кандидата, считается с 0.
- humanCandidate - количество дозвонов до кандидата, где ответивший был НЕ автоответчик, считается с 0.
- answeredNumber - количество дозвонов по номеру кандидата, считается с 0.
- humanNumber - количество дозвонов по номеру кандидата, где ответивший был НЕ автоответчик, считается с 0.
- resultNumber - количество результативных дозвонов по номеру кандидата, считается с 0. Аналог {системные.дозвон}.
Склонение значений пользовательских переменных по падежам
- {переменная|падеж:имя_падежа} – формат записи имен пользовательских переменных, который позволяет склонять их значения по падежам.
Переменные, значения которых не меняются в процессе диалога
- {companyId} – возвращает строку с идентификатором компании, которой принадлежит бот.
- {botId} – возвращает строку с идентификатором бота.
- {dialogId} – возвращает строку с идентификатором текущего диалога.
- {dialog} – возвращает строку с полным текстом диалога.
- {referer} – возвращает строку с адресом главной страницы сайта, на которой размещен виджет (позволяет понять, с какого сайта пишет пользователь).
- {utcNow} – возвращает текущие дату и время в часовом поясе по UTC.
- {utcTime} – возвращает текущее время в часовом поясе по UTC.
- {utcToday} – возвращает текущую дату в часовом поясе по UTC.
Переменные с информацией об участнике диалога
- {clientId} – возвращает строку с внутренним идентификатором клиента в системе TWIN (uuid).
- {clientPhone} – возвращает строку с номером телефона клиента.
- {clientEmail} – возвращает строку с адресом электронной почты клиента.
- {clientName} – возвращает строку с именем клиента.
- {clientNickname} – возвращает строку с псевдонимом клиента.
- {clientExternalId} – возвращает строку с внешним идентификатором клиента в системе.
- {clientMetadata} – возвращает массив, содержащий любые данные о клиенте (задается в следующем формате: {"{firstName}": "Иван", "{middleName}": "Иванович", "{lastName}": "Иванов"}.
Переменные, значения которых можно изменить только при переключении со звонка на чат и наоборот
- {communicationType} – строка, тип коммуникации с клиентом. Допустимые значения: TEXT, VOICE.
Переменные, значения которых меняются при каждом обращении к боту
- {percept} – возвращает строку с последним ответом клиента на вопрос бота.
- {clientLastAnswerTime} – возвращает время последнего ответа пользователя на вопрос бота. Значение отображается в виде временной метки Unix-времени.
- {botLastAnswerTime} – возвращает время последнего ответа бота в секундах. Значение отображается в виде временной метки Unix-времени.
| Предупреждение |
|---|
* Деятельность организации Meta Platforms Inc. и ее продуктов Instagram и Facebook запрещена в Российской Федерации. |
, хранит фразу которую сказал пользователь и на которую в данный момент отвечает бот.Button Hyperlink custom-icon top-button id top-button title В начало type standard class top-button url #Top
{now} (аналогично {системные.сейчас})- строка, текущая дата и время в формате YYYY-MM-DD HH:MM:SS.
{today} (аналогично{системные.сегодня}) - строка, текущая дата в формате YYYY-MM-DD.
{time} (аналогично {системные.время}) - строка, текущее время в формате HH:MM:SS.
{clientLastAnswerTime} - целое число, время последней фразы клиента в секундах.
{botLastAnswerTime} - целое число, время последнего ответа бота в секундах.Переменные будут пополняться в этой статье по мере их появления на нашей платформе
...









