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

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

Обновлено 19 февраля 2025

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

  • 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": []
}
}
}

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"
}
}
}

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": {}
}
}
}

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": []
}
}
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.