FAQ
Часто задаваемые вопросы по Сценарию Агента
Почему не удается открыть виджет дебага?
Тумблер для открытия виджета Дебага заблокирован и становится доступен только после того, как Агент обучен. Чтобы открыть виджет Дебага, необходимо для начала обучить Агента, нажав кнопку TRAIN.
Что будет, если Собеседник напишет что-либо в чат вместо того, чтобы нажать одну из предложенных кнопок?
За данный сценарий отвечает Подслот fallback, который автоматически генерируется при создании кнопочного меню. После этого Подслота можно построить любой сценарий на ваш выбор, например, попросить Собеседника выбрать одну из кнопок и поставить слот Jump , переводящий Сценарий агента обратно в кнопочное меню.
Что такое переменные и как ими пользоваться?
Контекстная переменная — переменные, хранящиеся в Чате и доступные для чтения и изменения системой по заложенной в Сценарий агента или Платформа логике.
Подробнее: Контекстные переменные чата
Информация об использовании в диалоге информации о Собеседнике из канала: Использование в диалоге информации о собеседнике из канала
Как можно сделать между двумя последовательными текстовыми блоками задержку в выводе несколько секунд?
Чтобы реализовать задержку между выводом нескольких текстовых слотов, вы можете вставить между текстовыми слотами Внешний запрос к любому отвечающему серверу и в настройках этого Внешний запрос указать заголовок er-delay с нужным значением в секундах. Подробнее об использовании таких заголовков: Запросы во внешние системы | Слот External Request
Сам запрос будет чистой формальностью, чтобы использовать опцию задержки, его можно послать к любому сервису, который отвечает, например GET запрос на https://admin.chatme.ai или https://ya.ru, данные ответа можно не парсить. Главное, чтобы сервер ответил. Тогда вы получите задержку равную время ответа сервера + задержка в секундах из er-delay заголовка. В случае, если сервис не будет отвечать, платформа будет 5 минут ждать ответа на запрос.
Можно ли каким-то образом получить файлы от Собеседника через Jivo, а потом отправлять их в CRM заказчика?
Метаданные файла (тип, ссылка) записываются в client_message: Jivo на своей стороне сохраняет файл, а нам передает ссылку. О том, как работает получение файлов от Собеседника в других омниканальных платформах и мессенджерах, читайте в статьях по данным каналам: раздел Вывод Агента в омниканальные платформы, раздел Вывод Агента в мессенджеры.
Возможно ли завести таймер на 3 месяца? Какие возможны риски?
Возможно, ограничений нет. О том, в каких случаях происходит сброс (удаление) таймера: Запуск сценария по таймеру | Слот Timer
Почему External Request в канал приходит раньше, чем слот Text, хотя в Сценарий агента они стоят наоборот?
Платформа практически одновременно отправляет эти слоты, но External Request может прийти быстрее. Чтобы это исправить, можно добавить заголовокer-delay. Подробнее: Запросы во внешние системы | Слот External Request
Почему при замене обученного Агента через Replace Config у него остается отметка, что он был обучен?
Меняется не обученная модель Агента, а Сценарий агента в БотБилдере, т.е. в канале работает предыдущая модель Агента, а чтобы заработал новый Сценарий агента, его необходимо обучить (Обучение Агента).
Вопросы по синтаксису Платформы
Почему некоторые объекты не парсятся в ER?
К атрибутам любого объекта нужно обращаться через квадратные скобки: {{ body["foo"]["bar"] }} .
Как можно узнать текущее время по unix?
{{ now().timestamp() }}
Можно ли с помощью функции now()
сделать смещение получаемого результата? Вроде now(5)= utc+5
.
now()
сделать смещение получаемого результата? Вроде now(5)= utc+5
.Нет, можно получить только текущее время по UTC.
Почему не получается совершить математические операции синтаксиса с переменной?
Если можно строку привести к какому-нибудь конкретному типу (число, boolean, массив, и т.п.), то сохраняется конкретный тип, а не строка. Математические операции возможно совершать только с данными типа “число”.
Почему может обрезаться '+'
в начале переменной (сохранение телефона, указанного в client_message
)?
'+'
в начале переменной (сохранение телефона, указанного в client_message
)?Строка автоматически преобразовывается в число, и сохраняется как число.
Как корректно сделать конкатенацию символа '+'
с числом, приведенным к строковому формату? Нужно сохранять номер в формате +79999999999
. Конкатенация номера с любым другим символом работает корректно; в случае с '+'
символ пропадает. Строка автоматически приводится к числу?
'+'
с числом, приведенным к строковому формату? Нужно сохранять номер в формате +79999999999
. Конкатенация номера с любым другим символом работает корректно; в случае с '+'
символ пропадает. Строка автоматически приводится к числу?Да, строка автоматически преобразуется в число. Реализовать это можно так: {{ "+" + (<номер телефона> | string) }}
Как через синтаксис быстро обработать любой текст таким образом, чтобы он успешно отправился в External Request как строковый объект в json
?
json
?Есть встроенный фильтр tojson (подробнее: https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.tojson). Чтобы убрать переносы строки, используйте {{ some | replace('\n', '') }}
Как через синтаксис узнать, на каком месте в массиве находится элемент, если известно значение элемента?
Инструкция по ссылке https://medium.com/opsops/how-to-get-index-of-the-element-in-the-list-in-jinja-c369c2372729
Как в массив добавить элемент?
Для добавления элементов в массив нужно использовать оператор +.
Пример: есть корзина в которую складываются элементы
cart = [{
"id": "{{ id }}",
"amount": "{{ amount }}"
}]
Добавление элемента: {{ cart + [{"id": 1, "amount": amount}] }}
Как реализуется конкатенация строк длиннее 1000 символов?
Это возможно сделать через {{ string_1 }}{{ string_2 }}
. Через оператор '+'
это сделать невозможно.
Вопросы по тарифам и биллингу
Как узнать, сколько уникальных Собеседников осталось на моем тарифе?
Данная информация доступна в настройках аккаунта на вкладке Billing.
Что такое Уникальный Собеседник?
Уникальный Собеседник как объект тарификации — это каждый уникальный Собеседник из канала, с которым Агент ведет коммуникацию в уникальном канале Агента. Если этот же фактический пользователь ведет диалог с этим же Агентом в другом его канале или с другим Агентом в этой же Компании, то он считается другим Уникальным Собеседником.
Как обновляется счетчик уникальных Собеседников?
Каждые сутки в в 02:00 UTC происходит обновление счетчиков подписки: обновляется значение счетчика трафика (уникальных Собеседников) в расчетном периоде в соответствии с полученной статистикой по трафику. Если же в данный день начинается новый расчетный период, то счетчик трафика в расчетном периоде сбрасывается на ноль.
Как измеряется количество уникальных Собеседников в Платформа и как это проверять?
Количество рассчитывается автоматически: учитываются все Чаты, в которых в расчетном периоде было хоть одно движение по сценарию (пришло сообщение от Собеседника или ушло сообщение Агента, сработал таймер, пришел входящий запрос и т.д.).
Как измеряется количество уникальных Собеседников в Агентах с NLU и Агентах без NLU?
Количество уникальных Собеседников в NLU Агентах и Агентах без NLU измеряется одинаково: учитываются все чаты, в которых в расчетном периоде было хоть одно движение по сценарию (пришло сообщение от Собеседника или ушло сообщение Агента, сработал таймер, пришел входящий запрос и т.д.)
Как измеряется количество уникальных Собеседников в архитектуре каскада ботов в едином канале "Рассылки => Bot mother => Child Bots / Sub-bots"
Уникальный Собеседник как объект тарификации — это каждый уникальный Собеседник из канала, с которым Агент ведет коммуникацию в уникальном канале Агента. Если этот же фактический пользователь ведет диалог с этим же Агентом в другом его канале или с другим Агентом в этой же Компании, то он считается другим Уникальным Собеседником.
Как происходит информирование и докупка уникальных Собеседников в SaaS?
Об алертах подписки вы можете узнать по ссылке: Алерты подписки
На текущий момент покупка пакета пополнения трафика возможна только через отдел продаж: sales@chatme.ai
Вопросы по каналам Агента
Как идентифицировать посетителя в конкретном канале?
Для идентификации посетителя в канале можно использовать Канальные переменные. Узнать подробнее: Канальные контекстные переменные
Где смотреть информацию, оставленную Собеседниками во время ответов при выводе Агента напрямую в Telegram?
При выводе напрямую в Telegram просматривать ответы Собеседников можно следующими способами:
Выгружать историю диалогов с Вкладка Аналитики;
Выгружать контекстные переменные Чатов с Вкладка Аналитики, тогда вы будете видеть только сохраненные в контекстных переменных ответы Собеседника;
Настроить интеграцию, например, через make.com, и сделать отправку данных себе на почту или в Google Sheets.
Как узнать имя пользователя в Telegram?
Если Собеседник не скрыл логин в настройках приватности Telegram, то его можно увидеть в канальной контекстной переменной channel_visitor_account.
Почему тумблер активации канала может не переключаться?
Такое бывает, когда агент не обучен или канал с таким же токеном уже зарегистрирован. Также при активации канала могут возникнуть ошибки:
"Can’t reach channel"
— выводится в случае, если сервер не отвечает по указанному URL”Couldn’t register agent webhook”
— выводится в случае, если не удалось зарегистрировать вебхук в удаленном канале.
Однако канал будет активирован несмотря на проблемы.
Как проверить, подписан ли пользователь на канал/группу в Telegram?
Это можно сделать с помощью внешнего запроса на URL https://api.telegram.org/bot{{ channel_webhook_token }}/getChatMember?chat_id=@[ЮЗЕРНЕЙМ КАНАЛА]_id={{ channel_visitor_id }}
, где на вкладке Response происходит парсинг переменной из ответа: {{ body.result.status }}
.
Добавьте в URL-адрес внешнего запроса юзернейм Telegram-канала или группы, подписку на которую необходимо проверить, добавьте внешний запрос в сценарий Агента и используйте полученную переменную в дальнейшем сценарии. Алгоритм взаимодействия может быть следующим:
Собеседник пишет Telegram-боту в личных сообщениях;
Бот проверяет статус подписки Собеседника;
В зависимости от статуса общение продолжается по одному из сценариев.
Пример конфигурационного файла Агента:
Вопросы по аналитике
Как отследить, сколько Собеседников прошло через весь сценарий, сколько из них покинуло диалог и на каком моменте?
Для этих целей подойдет отчет Slot stats, выгрузить который можно на Вкладка Аналитики. В отчете видно, через какой слот и сколько раз проходил Собеседник в ходе конкретной диалоговой сессии.
В каком порядке выгружаются specific variables в отчете chat context?
Переменные выгружаются в алфавитном порядке.
Вопросы по лимитам и нагрузкам Платформы
Какие ограничения по RPS для рассылок / для API и т.д.?
Платформа принимает 20 запросов в секунду, но дальнейшее отправление распределяется по времени, чтобы сглаживать нагрузку и не превышать лимиты API мессенджера.
Есть ограничение на количество открытых чатов на Компания?
На открытые чаты — нет лимитов.
Last updated