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

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

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

Средства форматирования даты и времени

При помощи программных средств можно отображать дату и время в желаемом формате. Например, клиент может написать в диалоге следующую фразу: «третьего октября в восемь». Ответ клиента можно сохранить в переменную, а в дальнейшем (при необходимости) отобразить в диалоге в нужном виде, например:  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
минуты (00-59){имя переменной|формат:i}15
день месяца без ведущих нулей (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
секунды (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 предыдущего сценария, из которого система во время диалога с пользователем перенаправила бота в другой сценарий.
  • {системные.дозвон} возвращает количество успешных дозвонов до кандидата в рамках задания на обзвон.
  • {системные.запись} возвращает ссылку на аудиозапись текущего диалога в телефонии.
  • {системные.расшифровка} – возвращает строку с полным текстом диалога.
  • {recordPath} возвращает ссылку на скачивание аудиозаписи текущего диалога в телефонии CIS.

Возможные значения переменной детектор.эмоции

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

Возможные значения переменной детектор.пол

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

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

  • {переменная|падеж:имя_падежа} – формат записи имен пользовательских переменных, который позволяет склонять их значения по падежам.

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

  • {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.
  • Общая информация

    На платформе 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}. В исходящей телефонии аналог не работает.



    {системные.месяц}

    Переменная {системные.месяц} возвращает первое число текущего месяца в формате ГГГГ-ММ-ДД (например, 2022-09-01). Текущий месяц определяется во время диалога с клиентом.

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

    Используя виджет на сайте магазина, клиент спрашивает, когда начались распродажи.

    Бот отвечает клиенту: «Распродажи в нашем магазине начались {системные.месяц}».


    {системные.телефон}

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

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

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

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

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

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




    {системные.предыдущий}

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

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

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



    {системные.дозвон}

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

    Тестировать данную переменную необходимо с помощью исходящих звонков.

    При тестировании в редакторе переменная системные.дозвон будет иметь пустое значение.

    Данный способ НЕ сработает, если в задании есть несколько одинаковых номеров кандидата, в таком случае будет использовано первое приветствие.

    Должны быть установлены правила/шаблон перезвона, либо перезвон должен быть вызван из сценария.

    Успешные дозвоны можно спутать с результативными вызовами. Дозвон считается успешным, если клиент ответил на звонок. При этом продолжительность разговора не имеет значения.

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

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

    {системные.запись}

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

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

    {recordPath}

    Переменная {recordPath} содержит ссылку на скачивание аудиозаписи текущего диалога. Используется в телефонии CIS.

    Возможные значения переменной детектор.эмоции

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

    Переменная {детектор.эмоции} может возвращать следующие значения: 

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

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

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

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

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

    Возможные значения переменной детектор.пол

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

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

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

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

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

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

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

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


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

    {переменная|падеж:имя_падежа} – формат записи имен пользовательских переменных, который позволяет склонять их значения по падежам.

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

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

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

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

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


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

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

    • {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.

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

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


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

    • {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.

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

  • {percept} – возвращает строку с последним ответом клиента на вопрос бота.
  • {clientLastAnswerTime} – возвращает время последнего ответа пользователя на вопрос бота. Значение отображается в виде временной метки Unix-времени.
  • {botLastAnswerTime} – возвращает время последнего ответа бота в секундах. Значение отображается в виде временной метки Unix-времени.

* Деятельность организации Meta Platforms Inc. и ее продуктов Instagram и Facebook запрещена в Российской Федерации.

.



  • Нет меток