Перейти к основному содержимому

Управление сессией

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

В сессии доступны:

  • История сообщений — сообщения пользователя и ответы агента в текущей сессии. Эту историю можно получить с помощью функции Context.getChatHistory().
  • Сессионные данные — временные данные, которые хранятся только в рамках текущего диалога. Для работы с ними используйте функции из коллекции SessionDb.
  • Идентификатор сессии — функция Context.getSessionID() позволяет получить идентификатор текущей сессии.

Сессия в телефонном канале

Один звонок — это одна сессия. Платформа управляет сессией автоматически:

  • В начале звонка создается новая сессия.
  • Сессия завершается при окончании звонка.

Сброс сессии в телефонном канале игнорируется.

Ручное управление сессией

Новая сессия нужна, когда процесс должен начать диалог заново и не учитывать данные предыдущей сессии. Например, это полезно при тестировании процесса или когда пользователь хочет начать новый сценарий взаимодействия.

При сбросе запускается новая сессия, очищаются данные SessionDb и история сообщений.

Вы можете сбросить сессию одним из способов: