Лия - База Знаний
  • База знаний
  • 💻Обзор платформы
    • Намерения
      • Добавление намерения
      • Редактирование намерения
      • Как перераспределять намерения
      • Приоритизация намерений
      • Клонирование намерения
      • Добавление и удаление сущностей внутри намерения
      • Удаление намерения
      • Архивирование намерения
    • QA
    • Сущности
    • Тестовый чат
    • Обучение
      • Обучение на нераспознанных сообщениях
      • Обучение по кластерам
    • Создание сценария и работа с ним
      • Динамические сценарии
        • Тестирование в проекте
      • Реакции
        • Реакция Условие
      • Триггеры
      • Инструкция по сборке сценариев
      • Hello World бот
      • Как дообучать Лию
      • Алармные сценарии
  • 🤖Вопросы и ответы
    • Общие
    • Обучение и покрытие
    • Cценарии и намерения
    • Вопросы по приоритизации намерений
    • Датасет
    • Вопросы по аналитике
    • Распознавание
    • Безопасность
    • Интеграция
    • Ядро, языки, кейсы и др.
    • Словарь
    • Вопросы по сниппетам
    • Полезные кейсы
      • Как настроить бот для определения номера телефона и других данных и передачи их в контекст?
      • Как с помощью сниппета сделать API-запрос для обработки номера телефона и иных данных из сообщений?
  • 🤷‍♀️Работа с проектом
    • Как получить доступ к личному кабинету Лии?
    • Начало работы с проектом
    • Управление проектом
    • Безопасность
    • Управление командой
    • Журнал активности
    • Публикация
    • Аналитика
  • ⚙️Разработчикам
    • Подключение бота
      • Chat2Desk
      • Edna
      • Helpdeskeddy
      • Infobip
      • Jivochat
      • LiveChat
      • Omnidesk
      • Usedesk
      • Webim
      • Imotio
      • Chatwoot
    • Лия API
    • Минимальные требования для разработки динамического сценария
    • Работа со сниппетами
    • Контекст
    • Переменные личного кабинета
    • Интеграции
Powered by GitBook
On this page
  • Создание сниппетов
  • Сниппеты в сценарии
  • Встроенные библиотеки и методы
  • Тестирование сниппетов
  1. Разработчикам

Работа со сниппетами

Сниппет — один из видов реакций Лии, который позволяет в ответ на сообщение пользователя выполнить код на JavaScript.

С помощью сниппетов можно:

  • взаимодействовать с внешним API,

  • генерировать динамические ответы на основе информации из контекста,

  • реализовывать любую бизнес-логику

Ограничения сниппетов:

  • по памяти — 128 мб

  • по времени выполнения — 5 сек

Создание сниппетов

Чтобы создать сниппет, надо зайти в левом боковом меню в раздел →

и нажать кнопку «+ Добавить».

В центральной части платформы появится сниппет-шаблон, который представляет собой асинхронную js-функцию. Вся логика сниппета прописывается внутри этого шаблона.

Сниппеты в сценарии

Сниппет добавляется в сценарий в качестве реакции на триггер от пользователя. Рассмотрим пример сценария со сниппетом в качестве реакции на намерение.

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

Если выбрать чекбокс «Ошибка», то у блока появится ветвление в сценарии. Это удобно использовать для обработки ошибки исполнения сниппета.

В случае ошибки выполнения сниппета (переход в ветку Fail) факты контекста, установленные в данном сниппете, не сохраняются. Любые события (реакции), генерируемые внутри сниппета, не отправляются.

Поэтому если вы не уверены на 100% в том, что сниппет завершится корректно (все данные от пользователя получены верно, http-запрос пройдёт и не отвалится по тайм-ауту и т. д.) рекомендуется использовать ветку «Fail» для дальнейших действий в случае ошибки.

Встроенные библиотеки и методы

Сниппеты в Лии поддерживают следующие js-библиотеки:

  • request

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

Есть методы запросов: GET request, POST request, axios, request;

методы работы с контекстом: get fact, set fact, current event, events history;

остальные методы — функции, генерирующие реакции.

Тестирование сниппетов

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

Если в сниппете используются переменные из контекста (например, последнее сообщение пользователя или факты из API), то при запуске сниппета вне сценария доступа к ним нет, возникнет ошибка.

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

Устанавливаем факты.

Теперь сниппет выше имеет доступ к контексту, и его можно тестировать.

После проверки работы сниппетов не забудьте удалить все вручную установленные факты оставив в поле «Add global facts» пустой объект {}

PreviousМинимальные требования для разработки динамического сценарияNextКонтекст

Last updated 2 months ago

⚙️
moment.js
axios