小爱技能开放平台的请求和返回的详细参数列表

小米小爱音箱开发。以下是小爱技能开放平台的请求和返回的详细参数列表

开发者接入流程

  • 开发者按照请求和返回协议开发好服务并上线测试环境

  • 小爱技能开放平台和开发者联调确保接口无误

  • 产品介入迭代优化体验

  • 上线正式环境给用户使用,并加入监控报警机制

安全规范

  • 接口协议必须是https

  • 开发者需验证签名来确认请求来自小爱技能开放平台(具体参考签名文档,假如使用小米的函数计算平台则不需要)

协议说明

参数名

参数值

说明

协议类型

https

为了保证用户数据安全,我们需要使用https进行传输

Method

Post

Header

Authorization

包含签名数据

Body

JSON

接口的具体数据,具体参考下文

错误处理

开发者的错误应该通过HTTP的status code返回,例如500用来表示出现了服务器内部错误

小爱技能开放平台请求开发者的接口定义

参数名

说明

类型

是否必须

version

版本号,当前为1.0

String

query

用户语音输入的识别结果

String

session

一轮对话相关的信息

Session

context

上下文相关的信息

Context

request

请求相关的信息

Request

Session字段定义

参数名

说明

类型

是否必须

session_id

唯一标识一轮session

String

Application

当前轮命中的技能

Application

attributes

可存储需要持久化的数据,每次请求都会带上

Jsobject

user

User

用户信息

Application字段定义

参数名

说明

类型

是否必须

app_id

技能唯一标示

String

User字段定义

参数名

说明

类型

是否必须

user_id

用户唯一id,默认会对用户id进行加密,所以这个id不是真实的小米id,但是可以作为唯一标识

String

access_token

如果使用了OAuth进行账号绑定,这里存放用户绑定后获取的token

String

Context字段定义

参数名

说明

类型

是否必须

device_id

设备唯一标识,需要申请才会给到

String

passport

OAuth账号绑定的额外信息

String

app_info

客户端APP相关信息

ClientAppInfo

Request字段定义

参数名

说明

类型

是否必须

type

请求的类型,分别标识,0:技能进入请求; 1:技能进行中请求;2:请求结束请求

Int

request_id

请求的唯一标识

String

timestamp

时间戳

Long

no_response

是否用户没响应小爱(例如用户没有在小爱音箱旁边)

Boolean

event_type

事件类型(详见事件)

String

event_property

事件的相关信息

EventProperty

Locale

本地化设置

String

slot_info

意图信息(详见意图)

SlotInfo

ClientAppInfo字段定义

参数名

说明

类型

是否必须

pkg_name

包名

string

version_code

版本号

int

EventProperty字段定义

参数名

说明

类型

是否必须

asr_text

录音的语音识别结果文本

String

msg_file_id

录音所得的文件id

String

SlotInfo字段定义

参数名

描述

类型

是否必须

intent_name

此次请求命中的意图名称

String

is_confirmed

此命中的意图是否确认了,所谓意图确认是指上一轮命中了这个意图,假如开发者配置了意图确认,平台会要求用户确认一次,假如这次用户确认了,会将这个bool值设置为true

Boolean

/request/slot_info/slots

该意图提取出的所有槽位值

List[Slot]

Slot字段定义

参数名

描述

类型

是否必须

name

槽位名称

String

value

提取出的槽位值,例如city槽位可能提取的值是北京

String

is_inquire_failed

追问超过开发者设置的次数会通过这个值告诉开发者。 什么是追问以及怎么设置最大值详见[!这里](https://xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/BackendDocument/NLPModel#追问)

Boolean

开发者返回给小爱技能开放平台的接口定义

参数名

说明

类型

是否必须

version

返回的协议版本,默认请用1.0

String

session_attributes

期望小爱技能平台帮忙持久化的jsobject

JsObject

is_session_end

是否结束当前会话

Boolean

response

返回的具体信息

Response

Response字段定义

参数名

说明

类型

是否必须

to_speak

tts要说的话,通常简单的回复可以使用这个字段

ToSpeak

to_display

有屏设备显示的数据

ToDisplay

directives

设备的复杂操作通常放在这里,例如多句tts,url音频播放等

List[Directive]

open_mic

是否需要开麦(相关指导建议详见最佳实践),默认不开麦

Boolean

not_understand

是否理解用户的请求,具体作用详见最佳实践

Boolean

action

动作,详见动作页

String

action_property

动作属性

ActionProperty

register_events

需要注册的事件类型(详见事件和动作页)

List[RegisterEvent]

ToSpeak字段定义

参数名

说明

类型

是否必须

type

Tts的类型,目前仅支持0:TTS

Int

text

Tts要说的文本

String

ToDisplay字段定义

参数名

说明

类型

是否必须

type

显示类型,目前支持0:文字,1:html,2:native ui,3:widgets,目前主要用在电视和手机等有屏设备

Int

url

假如显示html则通过这个链接指定

String

text

显示的文字

String

ui_template

显示的模板,有屏设备支持一些显示模板,可以通过这个配置

UITemplate

UITemplate字段定义

参数名

说明

类型

是否必须

type

使用的模板的类型,0:list view,1:single image view,2:double image view

Int

items

Ui template type为0时必填

List[Item]

logo

开发者的logo地址

String

item

Ui template的type为1,2时必填

Item

Item字段定义:

参数名

说明

类型

是否必须

image_style

图片的样式

String

images

图片列表

Jsarray

intent

响应点击事件

String

title

标题

String

body

主题内容

Jsobject

background_image

背景图片

String

Directive字段定义

参数名

说明

类型

是否必须

type

动作的类型,audio播放音频,tts播放文字

String

audio_item

音频内容

AudioItem

tts_item

Tts内容

TTSItem

Audio_item字段定义

参数名

说明

类型

是否必须

stream

音频流

AudioStream

AudioStream字段定义

参数名

说明

类型

是否必须

token

播放资源鉴权用的token

String

url

播放地址

String

offset_in_milliseconds

偏移地址

Long

TTSItem字段定义

参数名

说明

类型

是否必须

Type

Tts的类型,目前仅支持0:普通文本

String

Text

文本内容

String

ActionProperty字段定义

参数名

说明

类型

是否必须

file_id_list

要播放的文件id,用于play_msg动作

JSArray

RegisterEvent字段定义

参数名

说明

类型

是否必须

event_name

事件名称,目前仅支持:mediaplayer.playbacknearlyfinished

String

0%