Классы запроса
Основной класс запроса - AliceRequest
.
AliceRequest
request: Union[ SimpleUtterance, ButtonPressed, PurchaseConfirmation, ShowPull ]
основные поля запроса. На данный момент поддерживаются запросы типаSimpleUtterance
,ButtonPressed
,Purchase.Confirmation
иShow.Pull
. Подробнее смотрите в документации Яндекса: тутmeta: Meta
- мета-информация о запросе.session: Session
- информация о сессии запроса.state: State
- состояния (State). Можно использовать только если включена соответствующая функция в Диалогах.
Meta
locale: str
- язык в POSIX-формате.timezone: str
- название часового пояса, включая алиасы.client_id: str
- не рекомендуется к использованию. Интерфейсы, доступные на клиентском устройстве, перечислены в свойствеinterfaces
. Идентификатор устройства и приложения, в котором идет разговор.interfaces: Interfaces
- интерфейсы, доступные на устройстве пользователя.
Session
session_id: str
- уникальный идентификатор сессии.message_id: Optional[int]
- идентификатор сообщения в рамках сессии. Инкрементируется с каждым следующим запросом.skill_id: str
- идентификатор вызываемого навыка, присвоенный при создании.user_id: str
- свойство перестает поддерживаться — вместо него следует использовать новое, полностью аналогичное свойствоsession.application.application_id
. Идентификатор экземпляра приложения, в котором пользователь общается с Алисой. Даже если пользователь авторизован с одним и тем же аккаунтом в приложении Яндекс для Android и iOS, Яндекс.Диалоги присвоят отдельныйuser_id
каждому из этих приложений.user: User
- атрибуты пользователя Яндекса, который взаимодействует с навыком. Если пользователь не авторизован в приложении, свойства user в запросе не будет.application: Application
- данные о приложении, с помощью которого пользователь взаимодействует с навыком.new: bool
- признак новой сессии. Возможные значения:True
— пользователь начинает новый разговор с навыком;False
— запрос отправлен в рамках уже начатого разговора.
State
session: Dict
- состояние навыка в контексте сессии.user: Dict
- состояние навыка в контексте авторизованного пользователя.application: Dict
- Состояние навыка в контексте экземпляра приложения пользователя.
Nlu
tokens: List[str]
- массив слов из произнесенной пользователем фразы.entities: List[Entity]
- массив именованных сущностей.intents: Dict[str, Dict]
- объект с данными, извлеченными из пользовательского запроса.
Interfaces
screen: Dict
- пользователь может видеть ответ навыка на экране и открывать ссылки в браузере.account_linking: Dict
- у пользователя есть возможность запросить связку аккаунтов.payments: Dict
- поверхность, на которой пользователь взаимодействует с навыком, поддерживает возможность оплаты.audio_player: Dict
- на устройстве пользователя есть аудиоплеер.
Application
application_id: str
- идентификатор экземпляра приложения, в котором пользователь общается с Алисой. Например, даже если пользователь авторизован с одним и тем же аккаунтом в приложениях Яндекс для Android и iOS, Яндекс.Диалоги присвоят отдельныйapplication_id
каждому из этих приложений. Этот идентификатор уникален для пары «приложение — навык»: в разных навыках значение свойстваapplication_id
для одного и того же пользователя будет различаться.
User
user_id: str
- идентификатор пользователя Яндекса, единый для всех приложений и устройств. Этот идентификатор уникален для пары «пользователь — навык»: в разных навыках значение свойстваuser_id
для одного и того же пользователя будет различаться.access_token: str
- Токен для OAuth-авторизации, который также передается в заголовкеAuthorization
для навыков с настроенной связкой аккаунтов. Это JSON-свойство можно использовать, например, при реализации навыка в Yandex Cloud Functions (Диалоги вызывают функции с параметромintegration=raw
, который не позволяет получать заголовки клиентского запроса).
EntityToken
start: int
- номер первого слова именованной сущности.end: int
- номер первого слова после именованной сущности.
Entity
tokens: EntityToken
- экземплярEntityToken
.type: str
- тип именованной сущности.value: Union[int, Dict]
- формальное описание именованной сущности.