На запрос ассистента смартап вернет один из следующих типов ответа:
ANSWER_TO_USER — ответ сценария, который содержит команду для фронта навыка и ответ пользователю. Ответ сценария состоит из текста озвучки и текста, выводимого на экран.
POLICY_RUN_APP — позволяет из сценария одного смартапа запустить другой смартап. Включение функции обсуждается индивидуально на этапе модерации.
NOTHING_FOUND — смартап не смог найти ответ. Может указывать на то, что приложение было запущено по ошибке.
ERROR — сообщает ассистенту, что в смартапе возникла ошибка. Ассистент самостоятельно сообщит пользователю о возникновении ошибки.
Каждый ответ содержит объект payload, наполнение которого зависит от типа ответа. Объект может быть дополнен новыми полями.
В ответах нельзя передавать null. Переносы строк в JSON-ответах смартапов запрещены.
Описание ответов
ANSWER_TO_USER
ANSWER_TO_USER — это ответ сценария, который содержит команду для фронта навыка и ответ пользователю. Ответ сценария состоит из текста озвучки и текста, выводимого на экран.
Пример
Описание
sessionId
required
string <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
список смартапов, которые можно будет запускать из сценария.
При подготовке смартапа к модерации в поле Инструкция для тестирования укажите, что в сценарии используется сообщение POLICY_RUN_APP, и приведите список всех смартапов, которые можно будет запускать из сценария.
Пример
Описание
sessionId
required
string <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
NOTHING_FOUND — смартап не смог найти ответ. Может указывать на то, что приложение было запущено по ошибке.
Пример
Описание
sessionId
required
string <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
ERROR — сообщает ассистенту, что в смартапе возникла ошибка. Ассистент самостоятельно сообщит пользователю о возникновении ошибки.
При возникновении ошибки в приложении, вам достаточно передать ассистенту сообщение с типом ERROR и описанным ниже содержимым.
Ассистент оповестит пользователя об ошибке с помощью заранее подготовленного сообщения, соответствующего образу выбранного голоса.
Пример
Описание
sessionId
required
string <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
messageId
required
integer <int32>
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId.
required
object
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId. Идентификатор создается на основе значения поля sub. Если поле sub отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId.
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.