Управление сессией
Сессия — последовательность запросов пользователя и ответов процесса, объединенных общим контекстом. В рамках одной сессии процесс может учитывать предыдущие сообщения пользователя и ответы агента, а также хранить временные данные.
В сессии доступны:
- История сообщений — сообщения пользователя и ответы агента в текущей сессии. Эту историю можно получить с помощью функции
Context.getChatHistory(). - Сессионные данные — временные данные, которые хранятся только в рамках текущего диалога. Для работы с ними используйте функции из коллекции
SessionDb. - Идентификатор сессии — функция
Context.getSessionID()позволяет получить идентификатор текущей сессии.
Сессия в телефонном канале
Один звонок — это одна сессия. Платформа управляет сессией автоматически:
- В начале звонка создается новая сессия.
- Сессия завершается при окончании звонка.
Сброс сессии в телефонном канале игнорируется.
Ручное управление сессией
Новая сессия нужна, когда процесс должен начать диалог заново и не учитывать данные предыдущей сессии. Например, это полезно при тестировании процесса или когда пользователь хочет начать новый сценарий взаимодействия.
При сбросе запускается новая сессия, очищаются данные SessionDb и история сообщений.
Вы можете сбросить сессию одним из способов:
- В процессе вызовите функцию
Context.resetSession(). Функция доступна только для проектов с движком версии 2. - В тестовом виджете нажмите .