ym88659208ym87991671
Запросы ассистента в SmartApp API | Документация для разработчиков

Запросы ассистента в SmartApp API

Обновлено 14 декабря 2023

Ассистент передает запросы следующих типов:

  • MESSAGE_TO_SKILL — содержит сообщение, которое приходит в сценарий на голосовой или текстовый запрос пользователя.
  • SERVER_ACTION — отправляется фронтом в сценарий, сообщая о действиях пользователя.
  • RUN_APP — сообщает о запуске смартапа. Приходит в бэкенд смартапа при передаче сообщения POLICY _RUN_APP или запуске смартапа с помощью действия.
  • CLOSE_APP — сообщает о закрытии и не требует ответа от смартапа. Содержимое сообщения совпадает с содержимым payload сообщения MESSAGE_TO_SKILL.

Каждое сообщение содержит объект payload, наполнение которого зависит от типа сообщения. В будущем payload может быть дополнен новыми полями.

Описание запросов

MESSAGE_TO_SKILL

sessionId
required
string <= 36 characters

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

При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.

messageId
required
integer <int32>

Идентификатор запроса, который отправил ассистент.

Ответ на запрос должен содержать такой же идентификатор в поле messageId.

required
object

Составной идентификатор пользователя.

Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.

messageName
required
string

Название сообщения

required
object (payload_mts_ca)

Полезная нагрузка сообщения.

Объект может быть дополнен новыми полями.

{
  • "sessionId": "86024848-c12b-4056-b58b-93c69b412314",
  • "messageId": 0,
  • "uuid": {
    },
  • "messageName": "MESSAGE_TO_SKILL",
  • "payload": {
    }
}

SERVER_ACTION

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

sessionId
required
string <= 36 characters

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

При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.

messageId
required
integer <int32>

Идентификатор запроса, который отправил ассистент.

Ответ на запрос должен содержать такой же идентификатор в поле messageId.

required
object

Составной идентификатор пользователя.

Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.

messageName
required
string

Название сообщения

Value: "SERVER_ACTION"
required
object

Полезная нагрузка сообщения.

Объект может быть дополнен новыми полями.

{
  • "sessionId": "86024848-c12b-4056-b58b-93c69b412314",
  • "messageId": 0,
  • "uuid": {
    },
  • "messageName": "SERVER_ACTION",
  • "payload": {
    }
}

RUN_APP

sessionId
required
string <= 36 characters

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

При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.

messageId
required
integer <int32>

Идентификатор запроса, который отправил ассистент.

Ответ на запрос должен содержать такой же идентификатор в поле messageId.

required
object

Составной идентификатор пользователя.

Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.

messageName
required
string

Название сообщения

Value: "RUN_APP"
required
object

Полезная нагрузка сообщения.

Объект может быть дополнен новыми полями.

{
  • "sessionId": "86024848-c12b-4056-b58b-93c69b412314",
  • "messageId": 0,
  • "uuid": {
    },
  • "messageName": "RUN_APP",
  • "payload": {
    }
}

CLOSE_APP

Когда пользователь произносит команду для остановки приложения, Ассистент передает сообщение CLOSE_APP в текущий открытый смартап и закрывает его. Ассистент не ждет ответа от смартапа. Содержимое сообщения совпадает с содержимым payload сообщения MESSAGE_TO_SKILL.

sessionId
required
string <= 36 characters

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

При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.

messageId
required
integer <int32>

Идентификатор запроса, который отправил ассистент.

Ответ на запрос должен содержать такой же идентификатор в поле messageId.

required
object

Составной идентификатор пользователя.

Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.

messageName
required
string

Название сообщения

Value: "CLOSE_APP"
required
object (payload_mts_ca)

Полезная нагрузка сообщения.

Объект может быть дополнен новыми полями.

{
  • "sessionId": "86024848-c12b-4056-b58b-93c69b412314",
  • "messageId": 0,
  • "uuid": {
    },
  • "messageName": "CLOSE_APP",
  • "payload": {
    }
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.