# Response 协议_v2.0

# 消息格式

技能后处理返回的数据结构体如下:

{
    "version": "{{STRING}}",
    "session": {
		"sessionIsEnd": "{{STRING}}",
        "attributes":
        {
            "{{STRING}}": "{{STRING}}"
        },
    },
    "response":{
		"outputSpeech" : {
            "type" : "{{STRING}}",
            "text" : "{{STRING}}",
        },
        "shouldEndSession" : {{BOOLEAN}},
        "directives": [{
				"type": "{{STRING}}",
				...
        }],
        "payload":{
            "data":{{OBJECT}}
        }
    }
}

# 参数说明

  • version

    协议版本号,当前版本号为“2.0”。。查看2.1协议

  • session

    开发者存储临时信息,当技能退出时失效

  • response

    经过 AIUI 解析后结构化的语义结果

# session 参数说明

  • attributes 开发者用于存储临时键值对的区域
  {
    "session":{
        "attributes":{
            "fristName":"hello",
            "lastName":"world"
        }
    }
  }

# response 参数说明

参数名 参数意义
outputSpeech 本次返回结果中需要播报的语音信息
outputSpeech.type TTS 类型,目前取值仅为 PlainText(纯文本)
outputSpeech.text 当 type 取值为PlainText时,本字段表述需要 TTS 播报的文本
shouldEndSession 是否期待用户的主动输入,取值为 false 时,如果设备端为非触控设备(如音箱)应当主动开启麦克风拾音功能。
directives 本次返回结果包含的指令,目前仅存在填槽对话指令
payload.data 开发者附加的数据

# 填槽对话指令

directive下的填槽对话指令分为四种,分别是Dialog.ElicitSlot, Dialog.ConfirmSlot,Dialog.ConfirmIntent,Dialog.Delegate

{
    "type": "{{STRING}}",
    "slotToElicit": "{{STRING}}",// 仅 type=Dialog.ElicitSlot 时存在
    "slotToConfirm": "{{STRING}}",// 仅 type=Dialog.ConfirmSlot 时存在
    "updatedIntent": {
        "name": "{{STRING}}",
        "confirmationStatus":  "{{STRING}}",
        "slots": {
            "{{STRING}}": {
                "name": "{{STRING}}",
                "value": ["{{STRING}}"],
                "confirmationStatus":  "{{STRING}}"
            }
        }
    }
}
参数名 参数意义
type 指令名,取值范围是Dialog.ElicitSlot(槽追问), Dialog.ConfirmSlot(槽确认),Dialog.ConfirmIntent(意图确认),Dialog.Delegate(填槽对话托管)
slotToElicit 需要追问的槽名
slotToConfirm 需要确认的槽名
updatedIntent 技能发送给技能后处理的意图结果,当开发者认为当前语境下有更合理的意图理解时,应当修改updatedIntent
updatedIntent. confirmationStatus 意图确认状态
updatedIntent.* 槽信息
updatedIntent.*.name 槽名
updatedIntent.*. value 槽值
updatedIntent.*. confirmationStatus 槽确认状态