Ассистент передает запросы следующих типов:
MESSAGE_TO_SKILL
— содержит сообщение, которое приходит в сценарий на голосовой или текстовый запрос пользователя.SERVER_ACTION
— отправляется фронтом в сценарий, сообщая о действиях пользователя.RUN_APP
— сообщает о запуске смартапа. Приходит в бэкенд смартапа при передаче сообщенияPOLICY _RUN_APP
или запуске смартапа с помощью действия.CLOSE_APP
— сообщает о закрытии и не требует ответа от смартапа. Содержимое сообщения совпадает с содержимымpayload
сообщенияMESSAGE_TO_SKILL
.
Каждое сообщение содержит объект payload
, наполнение которого зависит от типа сообщения. В будущем payload
может быть дополнен новыми полями.
Описание запросов
MESSAGE_TO_SKILL
- Пример
- Описание
{
"sessionId": "86024848-c12b-4056-b58b-93c69b412314",
"messageId": 0,
"uuid": {
"userChannel": "B2С",
"sub": "d2d6da62-6bdd-452b-b5dd-a145090075ba",
"userId": 123
},
"messageName": "MESSAGE_TO_SKILL",
"payload": {
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"intent": "rain",
"original_intent": "rain",
"intent_meta": {},
"meta": {
"time": {
"timezone_id": "Europe/Moscow",
"timezone_offset_sec": 10800,
"timestamp": 1432233446145000
},
"features": {
"screen": {
"enabled": false
},
"int_login": {
"enabled": false
}
}
},
"projectName": "weather",
"selected_item": {
"index": 0,
"title": "Яблочный сок",
"is_query_by_number": true
},
"device": {
"platformType": "ANDROID",
"platformVersion": "1.0.2",
"surface": "SBOL",
"surfaceVersion": "1.0.2",
"devicesId": "string",
"features": {
"appTypes": [
"DIALOG"
]
},
"capabilities": {
"screen": {
"available": true,
"width": 1080,
"height": 1920,
"scale_factor": 2.5
},
"mic": {
"available": true
},
"speak": {
"available": true
}
},
"additionalInfo": {}
},
"new_session": false,
"character": {
"id": "sber",
"name": "Сбер",
"gender": "male",
"appeal": "official"
},
"strategies": {
"happy_birthday": false,
"last_call": 158644724,
"is_alice": true
},
"annotations": {
"censor_data": {
"classes": [
"politicians",
"obscene",
"model_response"
],
"probas": [
0,
0,
0.20716862380504608
]
},
"text_sentiment": {
"classes": [
"negative",
"positive",
"neutral"
],
"probas": [
0.1,
0.4,
0.2
]
},
"asr_sentiment": {
"classes": [
"negative",
"positive",
"neutral"
],
"probas": [
0.1,
0.4,
0.2
]
}
},
"message": {
"original_text": "хочу заказать пиццу на девять вечера за пятьсот рублей",
"normalized_text": "хотеть заказать пицца на TIME_TIME_TOKEN за MONEY_TOKEN .",
"asr_normalized_message": "Хочу заказать пиццу на 9 вечера за 500 ₽",
"entities": {},
"tokenized_elements_list": []
}
}
}
COMPANION
— запрос от приложения Салют;SBOL
— запрос от приложения СберБанк Онлайн;SBERBOX
— запрос пришел от устройства SberBox;SBERBOOM
— запрос пришел от устройства SberBoom;SBERBOOM_MINI
— запрос пришел от устройства SberBoom Mini;SATELLITE
— запрос от устройства SberBox Top;TIME
— запрос от устройства SberBox Time;STARGATE
— запрос от устройства SberPortal;TV
— запрос от умного телевизора Салют ТВ;TV_HUAWEI
— запрос от умного телевизора Huawei.true
— приложение запущено впервые или после закрытия приложения, а также при запуске приложения по истечению тайм-аута (10 минут) или после прерывания работы приложения, например, по запросу «текущее время»;false
— во всех остальных случаях.sber
— мужской голос Сбер. Обращается на «вы».athena
— женский голос Афина. Обращается на «вы».joy
— женский голос Джой. Обращается на «ты».politicians
— наличие политиков из спискаobscene
— наличие нецензурной лексикиmodel_response
— вероятность негатива
Возможные значения: <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId
гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId
.
uuid objectrequired
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId
. Идентификатор создается на основе значения поля sub
. Если поле sub
отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId
.
Возможные значения: <= 64 characters
Идентификатор канала коммуникации.
Возможные значения: <= 256 characters
Идентификатор пользователя в смартапе.
Может использоваться для хранения контекста диалога пользователя. Контекст диалога можно обновлять по значению поля new_session
.
Возможные значения: <= 64 characters
Идентификатор, который используется для определения не аутентифицированных пользователей.
Идентификатор может меняться при сбросе настроек или переустановке смартапа.
Название сообщения
payload objectrequired
Полезная нагрузка сообщения.
Объект может быть дополнен новыми полями.
app_info objectrequired
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
Интент, полученный из предыдущего ответа смартапа
Исходный интент. Значение поля отличается от значения intent
только при монопольном захвате контекста
Мета данные, полученные от сервиса распознавания интентов.
Поле будет использовано в будущем. В текущей реализации содержит пустой объект.
Определяйте интенты в Code и передавайте их в запросах к своему серверу
meta object
Данные о содержимом экрана пользователя
time objectrequired
Данные о текущем времени на устройстве пользователя
Наименование часового пояса
Unix-время в миллисекундах
features object
Данные о режиме работы устройства
screen object
Данные экрана
Признак включенного экрана на устройстве
int_login object
Данные авторизации
Указывает авторизован пользователь на устройстве или нет
Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений.
selected_item objectrequired
Описание элемента экрана, который пользователь назвал при запросе («включи второй» / «включи второго терминатора»). Работает в Canvas App. Список элементов экрана и информация для их выбора передается ассистенту с фронтенда смартапа в сообщении CLASSIFY_TEXT
, в поле item_selector
Объект передается всегда и может быть либо пустым, либо содержать все указанные поля.
Номер элемента из списка item_selector.items
, начиная с 0
Название элемента
Указывает на выбор элемента по номеру в списке, а не по тексту
device objectrequired
Данные об устройстве, на котором запущен смартап
Возможные значения: [ANDROID
, IOS
]
Операционная система устройства
Версия операционной системы
Возможные значения: [COMPANION
, SBOL
, SBERBOX
, SBERBOOM
, SBERBOOM_MINI
, SATELLITE
, TIME
, STARGATE
, TV
, TV_HUAWEI
]
Устройство или мобильное приложение, от которого приходит вызов ассистента
Версия поверхности
Идентификатор устройства
features object
Описание функциональности устройства
Возможные значения: [DIALOG
, WEB_APP
, APK
, CHAT_APP
]
Типы смартапов, которые поддерживает устройство
capabilities objectrequired
Описание возможностей устройства пользователя
screen object
Описание экрана устройства
Признак наличия экрана
Разрешение экрана в пикселях по ширине
Разрешение экрана в пикселях по высоте
Соотношение сторон экрана
mic object
Описание микрофона устройства
Признак наличия микрофона
speak object
Описание динамиков устройства
Признак наличия динамиков
Дополнительная информация об объекте или устройстве
По умолчанию: false
Указывает на характер запуска смартапа. Если поле содержит true
, сессии присваивается новый идентификатор (поле sessionId
).
Возможные значения:
character objectrequired
Информация о текущем голосе ассистента, которого выбрал пользователь
Возможные значения: [sber
, athena
, joy
]
Идентификатор голоса, который выбрал пользователь.
Возможные значения:
Учитывайте пол голоса (поле gender
) и форму обращения (поле appeal
) при проектировании ответов.
Возможные значения: [Сбер
, Афина
, Джой
]
Имя голоса ассистента
Возможные значения: [male
, female
]
Пол голоса. Учитывайте поле при проектировании ответов
Возможные значения: [official
, no_official
]
Форма обращения ассистента. Учитывайте форму обращения при проектировании ответов
strategies object
Возможные стратегии смартапа
Сообщает, что у пользователя сегодня день рождения
Время в секундах, которое прошло с момента последнего обращения к смартапу
Передается только в том случае, когда биометрия определила голос Яндекс Алисы. В остальных случаях поле отсутствует
annotations object
Общие характеристики сообщения пользователя
censor_data object
Информация о прохождении цензуры
Возможные значения: [politicians
, obscene
, model_response
]
Список подцензурных категорий, обнаруженных в тексте или реплике пользователя
Может содержать следующие значения:
Коэффициенты подцензурных категорий. Сопоставляются по индексам, в соотвествии со списком категорий censor_data.classes
.
Для категорий politicians
и obscene
могут принимать только значения 0 и 1
text_sentiment object
Эмоциональная окраска реплики пользователя
Возможные значения: [negative
, positive
, neutral
]
Список характеристик эмоциональной окраски текста реплики пользователя
Коэффициенты той или иной эмоциональной характеристики текста пользователя в диапазоне от 0 до 1.
Коэффициенты сопоставляются по индексам с характеристиками, представленными в поле text_sentiment.classes
asr_sentiment object
Эмоциональная окраска голоса пользователя
Возможные значения: [negative
, positive
, neutral
]
Список характеристик эмоциональной окраски голоса пользователя
Коэффициенты той или иной эмоциональной характеристики реплики пользователя в диапазоне от 0 до 1.
Коэффициенты сопоставляются по индексам с характеристиками, представленными в поле asr_sentiment.classes
.
message objectrequired
Результат предобработки реплики пользователя
Исходное сообщение пользователя: распознанный голос или введенный текст. В случае распознанного голоса предоставляется текст запроса без нормализации числительных и другого. Таким образом, все числа, например, номера телефонов, будут представлены словами.
Нормализованный текст, который ввел пользователь. Можно использовать для снижения многообразия запросов, например, для аналитики.
Отображаемый на экране текст запроса / нормализованный на этапе ASR запрос
Сущности, извлеченные из запроса
Список токенов в запросе пользователя. Содержит грамматический и синтаксический разбор, а также привязку к сущностям и их нормализованным значениям для каждого токена.
SERVER_ACTION
С помощью сообщения SERVER_ACTION
вы можете получать информацию о действиях пользователя в приложении, например, нажатии кнопок. Вы также можете отслеживать фоновые действия полноэкранных приложений.
- Пример
- Описание
{
"sessionId": "86024848-c12b-4056-b58b-93c69b412314",
"messageId": 0,
"uuid": {
"userChannel": "B2С",
"sub": "d2d6da62-6bdd-452b-b5dd-a145090075ba",
"userId": 123
},
"messageName": "SERVER_ACTION",
"payload": {
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"device": {
"platformType": "ANDROID",
"platformVersion": "1.0.2",
"surface": "SBOL",
"surfaceVersion": "1.0.2",
"devicesId": "string",
"features": {
"appTypes": [
"DIALOG"
]
},
"capabilities": {
"screen": {
"available": true,
"width": 1080,
"height": 1920,
"scale_factor": 2.5
},
"mic": {
"available": true
},
"speak": {
"available": true
}
},
"additionalInfo": {}
},
"projectName": "weather",
"strategies": {
"happy_birthday": false,
"last_call": 158644724,
"is_alice": true
},
"server_action": {
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"action_id": "string",
"parameters": {}
},
"character": {
"id": "sber",
"name": "Сбер",
"gender": "male",
"appeal": "official"
}
}
}
COMPANION
— запрос от приложения Салют;SBOL
— запрос от приложения СберБанк Онлайн;SBERBOX
— запрос пришел от устройства SberBox;SBERBOOM
— запрос пришел от устройства SberBoom;SBERBOOM_MINI
— запрос пришел от устройства SberBoom Mini;SATELLITE
— запрос от устройства SberBox Top;TIME
— запрос от устройства SberBox Time;STARGATE
— запрос от устройства SberPortal;TV
— запрос от умного телевизора Салют ТВ;TV_HUAWEI
— запрос от умного телевизора Huawei.sber
— мужской голос Сбер. Обращается на «вы».athena
— женский голос Афина. Обращается на «вы».joy
— женский голос Джой. Обращается на «ты».
Возможные значения: <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId
гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId
.
uuid objectrequired
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId
. Идентификатор создается на основе значения поля sub
. Если поле sub
отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId
.
Возможные значения: <= 64 characters
Идентификатор канала коммуникации.
Возможные значения: <= 256 characters
Идентификатор пользователя в смартапе.
Может использоваться для хранения контекста диалога пользователя. Контекст диалога можно обновлять по значению поля new_session
.
Возможные значения: <= 64 characters
Идентификатор, который используется для определения не аутентифицированных пользователей.
Идентификатор может меняться при сбросе настроек или переустановке смартапа.
Название сообщения
payload objectrequired
Полезная нагрузка сообщения.
Объект может быть дополнен новыми полями.
app_info objectrequired
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
device objectrequired
Данные об устройстве, на котором запущен смартап
Возможные значения: [ANDROID
, IOS
]
Операционная система устройства
Версия операционной системы
Возможные значения: [COMPANION
, SBOL
, SBERBOX
, SBERBOOM
, SBERBOOM_MINI
, SATELLITE
, TIME
, STARGATE
, TV
, TV_HUAWEI
]
Устройство или мобильное приложение, от которого приходит вызов ассистента
Версия поверхности
Идентификатор устройства
features object
Описание функциональности устройства
Возможные значения: [DIALOG
, WEB_APP
, APK
, CHAT_APP
]
Типы смартапов, которые поддерживает устройство
capabilities objectrequired
Описание возможностей устройства пользователя
screen object
Описание экрана устройства
Признак наличия экрана
Разрешение экрана в пикселях по ширине
Разрешение экрана в пикселях по высоте
Соотношение сторон экрана
mic object
Описание микрофона устройства
Признак наличия микрофона
speak object
Описание динамиков устройства
Признак наличия динамиков
Дополнительная информация об объекте или устройстве
Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений.
strategies object
Возможные стратегии смартапа
Сообщает, что у пользователя сегодня день рождения
Время в секундах, которое прошло с момента последнего обращения к смартапу
Передается только в том случае, когда биометрия определила голос Яндекс Алисы. В остальных случаях поле отсутствует
server_action objectrequired
Информация о запускаемом смартапе и параметрах его запуска. Формируется бэкендом приложения. По умолчанию: пустой объект
app_info object
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
Действие, которое обрабатывает бэкенд смартапа
Любые параметры, которые требуются для запуска смартапа. Параметры должны быть представлены в виде валидного JSON-объекта
character objectrequired
Информация о текущем голосе ассистента, которого выбрал пользователь
Возможные значения: [sber
, athena
, joy
]
Идентификатор голоса, который выбрал пользователь.
Возможные значения:
Учитывайте пол голоса (поле gender
) и форму обращения (поле appeal
) при проектировании ответов.
Возможные значения: [Сбер
, Афина
, Джой
]
Имя голоса ассистента
Возможные значения: [male
, female
]
Пол голоса. Учитывайте поле при проектировании ответов
Возможные значения: [official
, no_official
]
Форма обращения ассистента. Учитывайте форму обращения при проектировании ответов
RUN_APP
- Пример
- Описание
{
"sessionId": "86024848-c12b-4056-b58b-93c69b412314",
"messageId": 0,
"uuid": {
"userChannel": "B2С",
"sub": "d2d6da62-6bdd-452b-b5dd-a145090075ba",
"userId": 123
},
"messageName": "RUN_APP",
"payload": {
"device": {
"platformType": "ANDROID",
"platformVersion": "1.0.2",
"surface": "SBOL",
"surfaceVersion": "1.0.2",
"devicesId": "string",
"features": {
"appTypes": [
"DIALOG"
]
},
"capabilities": {
"screen": {
"available": true,
"width": 1080,
"height": 1920,
"scale_factor": 2.5
},
"mic": {
"available": true
},
"speak": {
"available": true
}
},
"additionalInfo": {}
},
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"projectName": "weather",
"intent": "run_app",
"character": {
"id": "sber",
"name": "Сбер",
"gender": "male",
"appeal": "official"
},
"strategies": {
"happy_birthday": false,
"last_call": 158644724,
"is_alice": true
},
"server_action": {
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"action_id": "string",
"parameters": {}
}
}
}
COMPANION
— запрос от приложения Салют;SBOL
— запрос от приложения СберБанк Онлайн;SBERBOX
— запрос пришел от устройства SberBox;SBERBOOM
— запрос пришел от устройства SberBoom;SBERBOOM_MINI
— запрос пришел от устройства SberBoom Mini;SATELLITE
— запрос от устройства SberBox Top;TIME
— запрос от устройства SberBox Time;STARGATE
— запрос от устройства SberPortal;TV
— запрос от умного телевизора Салют ТВ;TV_HUAWEI
— запрос от умного телевизора Huawei.sber
— мужской голос Сбер. Обращается на «вы».athena
— женский голос Афина. Обращается на «вы».joy
— женский голос Джой. Обращается на «ты».
Возможные значения: <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId
гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId
.
uuid objectrequired
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId
. Идентификатор создается на основе значения поля sub
. Если поле sub
отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId
.
Возможные значения: <= 64 characters
Идентификатор канала коммуникации.
Возможные значения: <= 256 characters
Идентификатор пользователя в смартапе.
Может использоваться для хранения контекста диалога пользователя. Контекст диалога можно обновлять по значению поля new_session
.
Возможные значения: <= 64 characters
Идентификатор, который используется для определения не аутентифицированных пользователей.
Идентификатор может меняться при сбросе настроек или переустановке смартапа.
Название сообщения
payload objectrequired
Полезная нагрузка сообщения.
Объект может быть дополнен новыми полями.
device objectrequired
Данные об устройстве, на котором запущен смартап
Возможные значения: [ANDROID
, IOS
]
Операционная система устройства
Версия операционной системы
Возможные значения: [COMPANION
, SBOL
, SBERBOX
, SBERBOOM
, SBERBOOM_MINI
, SATELLITE
, TIME
, STARGATE
, TV
, TV_HUAWEI
]
Устройство или мобильное приложение, от которого приходит вызов ассистента
Версия поверхности
Идентификатор устройства
features object
Описание функциональности устройства
Возможные значения: [DIALOG
, WEB_APP
, APK
, CHAT_APP
]
Типы смартапов, которые поддерживает устройство
capabilities objectrequired
Описание возможностей устройства пользователя
screen object
Описание экрана устройства
Признак наличия экрана
Разрешение экрана в пикселях по ширине
Разрешение экрана в пикселях по высоте
Соотношение сторон экрана
mic object
Описание микрофона устройства
Признак наличия микрофона
speak object
Описание динамиков устройства
Признак наличия динамиков
Дополнительная информация об объекте или устройстве
app_info objectrequired
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений.
Интент, который приходит при запуске смартапа. Значение всегда run_app
character objectrequired
Информация о текущем голосе ассистента, которого выбрал пользователь
Возможные значения: [sber
, athena
, joy
]
Идентификатор голоса, который выбрал пользователь.
Возможные значения:
Учитывайте пол голоса (поле gender
) и форму обращения (поле appeal
) при проектировании ответов.
Возможные значения: [Сбер
, Афина
, Джой
]
Имя голоса ассистента
Возможные значения: [male
, female
]
Пол голоса. Учитывайте поле при проектировании ответов
Возможные значения: [official
, no_official
]
Форма обращения ассистента. Учитывайте форму обращения при проектировании ответов
strategies object
Возможные стратегии смартапа
Сообщает, что у пользователя сегодня день рождения
Время в секундах, которое прошло с момента последнего обращения к смартапу
Передается только в том случае, когда биометрия определила голос Яндекс Алисы. В остальных случаях поле отсутствует
server_action objectrequired
Информация о запускаемом смартапе и параметрах его запуска. Формируется бэкендом приложения. По умолчанию: пустой объект
app_info object
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
Действие, которое обрабатывает бэкенд смартапа
Любые параметры, которые требуются для запуска смартапа. Параметры должны быть представлены в виде валидного JSON-объекта
CLOSE_APP
Когда пользователь произносит команду для остановки приложения, Ассистент передает сообщение CLOSE_APP
в текущий открытый смартап и закрывает его. Ассистент не ждет ответа от смартапа.
Содержимое сообщения совпадает с содержимым payload
сообщения MESSAGE_TO_SKILL
.
- Пример
- Описание
{
"sessionId": "86024848-c12b-4056-b58b-93c69b412314",
"messageId": 0,
"uuid": {
"userChannel": "B2С",
"sub": "d2d6da62-6bdd-452b-b5dd-a145090075ba",
"userId": 123
},
"messageName": "CLOSE_APP",
"payload": {
"app_info": {
"projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationId": "3fa85f64-5717-4562-b3fc-2c963f66afa7",
"appversionId": "3fa85f64-5717-4562-b3fc-2c963f66afa8",
"frontendEndpoint": "string",
"frontendType": "APK",
"systemName": "string",
"frontendStateId": "string"
},
"intent": "rain",
"original_intent": "rain",
"intent_meta": {},
"meta": {
"time": {
"timezone_id": "Europe/Moscow",
"timezone_offset_sec": 10800,
"timestamp": 1432233446145000
},
"features": {
"screen": {
"enabled": false
},
"int_login": {
"enabled": false
}
}
},
"projectName": "weather",
"selected_item": {
"index": 0,
"title": "Яблочный сок",
"is_query_by_number": true
},
"device": {
"platformType": "ANDROID",
"platformVersion": "1.0.2",
"surface": "SBOL",
"surfaceVersion": "1.0.2",
"devicesId": "string",
"features": {
"appTypes": [
"DIALOG"
]
},
"capabilities": {
"screen": {
"available": true,
"width": 1080,
"height": 1920,
"scale_factor": 2.5
},
"mic": {
"available": true
},
"speak": {
"available": true
}
},
"additionalInfo": {}
},
"new_session": false,
"character": {
"id": "sber",
"name": "Сбер",
"gender": "male",
"appeal": "official"
},
"strategies": {
"happy_birthday": false,
"last_call": 158644724,
"is_alice": true
},
"annotations": {
"censor_data": {
"classes": [
"politicians",
"obscene",
"model_response"
],
"probas": [
0,
0,
0.20716862380504608
]
},
"text_sentiment": {
"classes": [
"negative",
"positive",
"neutral"
],
"probas": [
0.1,
0.4,
0.2
]
},
"asr_sentiment": {
"classes": [
"negative",
"positive",
"neutral"
],
"probas": [
0.1,
0.4,
0.2
]
}
},
"message": {
"original_text": "хочу заказать пиццу на девять вечера за пятьсот рублей",
"normalized_text": "хотеть заказать пицца на TIME_TIME_TOKEN за MONEY_TOKEN .",
"asr_normalized_message": "Хочу заказать пиццу на 9 вечера за 500 ₽",
"entities": {},
"tokenized_elements_list": []
}
}
}
COMPANION
— запрос от приложения Салют;SBOL
— запрос от приложения СберБанк Онлайн;SBERBOX
— запрос пришел от устройства SberBox;SBERBOOM
— запрос пришел от устройства SberBoom;SBERBOOM_MINI
— запрос пришел от устройства SberBoom Mini;SATELLITE
— запрос от устройства SberBox Top;TIME
— запрос от устройства SberBox Time;STARGATE
— запрос от устройства SberPortal;TV
— запрос от умного телевизора Салют ТВ;TV_HUAWEI
— запрос от умного телевизора Huawei.true
— приложение запущено впервые или после закрытия приложения, а также при запуске приложения по истечению тайм-аута (10 минут) или после прерывания работы приложения, например, по запросу «текущее время»;false
— во всех остальных случаях.sber
— мужской голос Сбер. Обращается на «вы».athena
— женский голос Афина. Обращается на «вы».joy
— женский голос Джой. Обращается на «ты».politicians
— наличие политиков из спискаobscene
— наличие нецензурной лексикиmodel_response
— вероятность негатива
Возможные значения: <= 36 characters
Идентификатор соединения (не диалоговой сессии). Обновляется при каждом новом запросе с сохранением контекста диалога.
При использовании с messageId
гарантирует уникальность сообщения. В том числе если пользователь взаимодействует с несколькими поверхностями.
Идентификатор запроса, который отправил ассистент.
Ответ на запрос должен содержать такой же идентификатор в поле messageId
.
uuid objectrequired
Составной идентификатор пользователя.
Code создает собственный идентификатор пользователя, который можно получить в сценарии: $session.userId
. Идентификатор создается на основе значения поля sub
. Если поле sub
отсутствует в запросе ассистента, для создания идентификатора используется значение поля userId
.
Возможные значения: <= 64 characters
Идентификатор канала коммуникации.
Возможные значения: <= 256 characters
Идентификатор пользователя в смартапе.
Может использоваться для хранения контекста диалога пользователя. Контекст диалога можно обновлять по значению поля new_session
.
Возможные значения: <= 64 characters
Идентификатор, который используется для определения не аутентифицированных пользователей.
Идентификатор может меняться при сбросе настроек или переустановке смартапа.
Название сообщения
payload objectrequired
Полезная нагрузка сообщения.
Объект может быть дополнен новыми полями.
app_info objectrequired
Данные о смартапе
Идентификатор проекта в SmartMarket Studio
Идентификатор смартапа
Идентификатор опубликованной версии смартапа
Ссылка на веб-приложение. Поле актуально для Canvas Apps
Возможные значения: [APK
, DIALOG
, WEB_APP
, CHAT_APP
]
Тип смартапа.
Обратите внимание, что ассистент перехватывает навигационные команды «вверх», «вниз», «влево» и «вправо» только в Canvas App (тип приложения WEB_APP
). В этом случае команды обрабатываются на уровне фронтенда приложения. В остальных случаях, команды передаются в бэкенд активного приложения.
Более читаемый аналог поля projectId
. Не актуален для внешних приложений
Объединенное значение полей projectId
, applicationId
и appversionId
Интент, полученный из предыдущего ответа смартапа
Исходный интент. Значение поля отличается от значения intent
только при монопольном захвате контекста
Мета данные, полученные от сервиса распознавания интентов.
Поле будет использовано в будущем. В текущей реализации содержит пустой объект.
Определяйте интенты в Code и передавайте их в запросах к своему серверу
meta object
Данные о содержимом экрана пользователя
time objectrequired
Данные о текущем времени на устройстве пользователя
Наименование часового пояса
Unix-время в миллисекундах
features object
Данные о режиме работы устройства
screen object
Данные экрана
Признак включенного экрана на устройстве
int_login object
Данные авторизации
Указывает авторизован пользователь на устройстве или нет
Имя смартапа, которое задается при создании проекта и отображается в каталоге приложений.
selected_item objectrequired
Описание элемента экрана, который пользователь назвал при запросе («включи второй» / «включи второго терминатора»). Работает в Canvas App. Список элементов экрана и информация для их выбора передается ассистенту с фронтенда смартапа в сообщении CLASSIFY_TEXT
, в поле item_selector
Объект передается всегда и может быть либо пустым, либо содержать все указанные поля.
Номер элемента из списка item_selector.items
, начиная с 0
Название элемента
Указывает на выбор элемента по номеру в списке, а не по тексту
device objectrequired
Данные об устройстве, на котором запущен смартап
Возможные значения: [ANDROID
, IOS
]
Операционная система устройства
Версия операционной системы
Возможные значения: [COMPANION
, SBOL
, SBERBOX
, SBERBOOM
, SBERBOOM_MINI
, SATELLITE
, TIME
, STARGATE
, TV
, TV_HUAWEI
]
Устройство или мобильное приложение, от которого приходит вызов ассистента
Версия поверхности
Идентификатор устройства
features object
Описание функциональности устройства
Возможные значения: [DIALOG
, WEB_APP
, APK
, CHAT_APP
]
Типы смартапов, которые поддерживает устройство
capabilities objectrequired
Описание возможностей устройства пользователя
screen object
Описание экрана устройства
Признак наличия экрана
Разрешение экрана в пикселях по ширине
Разрешение экрана в пикселях по высоте
Соотношение сторон экрана
mic object
Описание микрофона устройства
Признак наличия микрофона
speak object
Описание динамиков устройства
Признак наличия динамиков
Дополнительная информация об объекте или устройстве
По умолчанию: false
Указывает на характер запуска смартапа. Если поле содержит true
, сессии присваивается новый идентификатор (поле sessionId
).
Возможные значения:
character objectrequired
Информация о текущем голосе ассистента, которого выбрал пользователь
Возможные значения: [sber
, athena
, joy
]
Идентификатор голоса, который выбрал пользователь.
Возможные значения:
Учитывайте пол голоса (поле gender
) и форму обращения (поле appeal
) при проектировании ответов.
Возможные значения: [Сбер
, Афина
, Джой
]
Имя голоса ассистента
Возможные значения: [male
, female
]
Пол голоса. Учитывайте поле при проектировании ответов
Возможные значения: [official
, no_official
]
Форма обращения ассистента. Учитывайте форму обращения при проектировании ответов
strategies object
Возможные стратегии смартапа
Сообщает, что у пользователя сегодня день рождения
Время в секундах, которое прошло с момента последнего обращения к смартапу
Передается только в том случае, когда биометрия определила голос Яндекс Алисы. В остальных случаях поле отсутствует
annotations object
Общие характеристики сообщения пользователя
censor_data object
Информация о прохождении цензуры
Возможные значения: [politicians
, obscene
, model_response
]
Список подцензурных категорий, обнаруженных в тексте или реплике пользователя
Может содержать следующие значения:
Коэффициенты подцензурных категорий. Сопоставляются по индексам, в соотвествии со списком категорий censor_data.classes
.
Для категорий politicians
и obscene
могут принимать только значения 0 и 1
text_sentiment object
Эмоциональная окраска реплики пользователя
Возможные значения: [negative
, positive
, neutral
]
Список характеристик эмоциональной окраски текста реплики пользователя
Коэффициенты той или иной эмоциональной характеристики текста пользователя в диапазоне от 0 до 1.
Коэффициенты сопоставляются по индексам с характеристиками, представленными в поле text_sentiment.classes
asr_sentiment object
Эмоциональная окраска голоса пользователя
Возможные значения: [negative
, positive
, neutral
]
Список характеристик эмоциональной окраски голоса пользователя
Коэффициенты той или иной эмоциональной характеристики реплики пользователя в диапазоне от 0 до 1.
Коэффициенты сопоставляются по индексам с характеристиками, представленными в поле asr_sentiment.classes
.
message objectrequired
Результат предобработки реплики пользователя
Исходное сообщение пользователя: распознанный голос или введенный текст. В случае распознанного голоса предоставляется текст запроса без нормализации числительных и другого. Таким образом, все числа, например, номера телефонов, будут представлены словами.
Нормализованный текст, который ввел пользователь. Можно использовать для снижения многообразия запросов, например, для аналитики.
Отображаемый на экране текст запроса / нормализованный на этапе ASR запрос
Сущности, извлеченные из запроса
Список токенов в запросе пользователя. Содержит грамматический и синтаксический разбор, а также привязку к сущностям и их нормализованным значениям для каждого токена.