ex
Fork of mbed-os-example-mbed5-blinky by
dumi_doc-master/doc/api/request.md@44:c1d8923072ba, 2017-07-18 (annotated)
- Committer:
- TMBOY
- Date:
- Tue Jul 18 16:27:22 2017 +0800
- Revision:
- 44:c1d8923072ba
?
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| TMBOY | 44:c1d8923072ba | 1 | # 请求字段解释 |
| TMBOY | 44:c1d8923072ba | 2 | |
| TMBOY | 44:c1d8923072ba | 3 | ## Table of Contents |
| TMBOY | 44:c1d8923072ba | 4 | |
| TMBOY | 44:c1d8923072ba | 5 | |
| TMBOY | 44:c1d8923072ba | 6 | * [请求字段解释](#请求字段解释) |
| TMBOY | 44:c1d8923072ba | 7 | * [Table of Contents](#table-of-contents) |
| TMBOY | 44:c1d8923072ba | 8 | * [请求示例](#请求示例) |
| TMBOY | 44:c1d8923072ba | 9 | * [请求值(request)中数据格式分块详细说明](#请求值request中数据格式分块详细说明) |
| TMBOY | 44:c1d8923072ba | 10 | * [客户端能力相关(device_interface, device_event, device_status)](#客户端能力相关device_interface-device_event-device_status) |
| TMBOY | 44:c1d8923072ba | 11 | * [请求字段中,.supported_content_type字段的解释](#请求字段中supported_content_type字段的解释) |
| TMBOY | 44:c1d8923072ba | 12 | |
| TMBOY | 44:c1d8923072ba | 13 | |
| TMBOY | 44:c1d8923072ba | 14 | ### 请求示例 |
| TMBOY | 44:c1d8923072ba | 15 | |
| TMBOY | 44:c1d8923072ba | 16 | 给服务端发请求内容。使用sdk的用户,无需关注此节,因为sdk的请求不用手动拼 |
| TMBOY | 44:c1d8923072ba | 17 | |
| TMBOY | 44:c1d8923072ba | 18 | ```javascript |
| TMBOY | 44:c1d8923072ba | 19 | { |
| TMBOY | 44:c1d8923072ba | 20 | //==========以下是开放sdk会有的字段======================== |
| TMBOY | 44:c1d8923072ba | 21 | "appid": "650DEBC2B99A4dA4", |
| TMBOY | 44:c1d8923072ba | 22 | "appkey": "2F4B662AF2064323A16122D702160F15", |
| TMBOY | 44:c1d8923072ba | 23 | "sdk_ui": "no", |
| TMBOY | 44:c1d8923072ba | 24 | "sdk_init": "no", |
| TMBOY | 44:c1d8923072ba | 25 | "appname": "com.baidu.duersdk.xiaomi", |
| TMBOY | 44:c1d8923072ba | 26 | "from_client": "sdk", |
| TMBOY | 44:c1d8923072ba | 27 | //======================================================== |
| TMBOY | 44:c1d8923072ba | 28 | //string 用户id, 如有Cookie则不需要此字段 |
| TMBOY | 44:c1d8923072ba | 29 | "request_uid": "string", |
| TMBOY | 44:c1d8923072ba | 30 | //string 输入来源,-1-回访引导请求,0-语音输入,1-键盘输入,2-编辑query,3-引导query,4-重新发送,6-新用户回访引导请求,7-用户上传图片,8-点击导航图标输入,9-applink方式传参数发送,10-自动回复,11-未知,12-对话过程中的特殊回访,13-手百插件新用户引导浮层点击,14-feed流拉取,21-心跳,30-客户端event |
| TMBOY | 44:c1d8923072ba | 31 | //标识用户发这个请求的方法,参见文档 http://agroup.baidu.com/dbo/md/article/49113 |
| TMBOY | 44:c1d8923072ba | 32 | "query_type": "string", |
| TMBOY | 44:c1d8923072ba | 33 | //默认为空,类型string, 多个以逗号分隔, 为空可以不填该字段 |
| TMBOY | 44:c1d8923072ba | 34 | "hint_id": "用户选中hint的id" |
| TMBOY | 44:c1d8923072ba | 35 | //string 机器id |
| TMBOY | 44:c1d8923072ba | 36 | "CUID": "string", |
| TMBOY | 44:c1d8923072ba | 37 | //double 经度 |
| TMBOY | 44:c1d8923072ba | 38 | "longitude": double, |
| TMBOY | 44:c1d8923072ba | 39 | //double 纬度 |
| TMBOY | 44:c1d8923072ba | 40 | "latitude": double, |
| TMBOY | 44:c1d8923072ba | 41 | //可选,如果经纬度是来自于缓存,增加location_type:cache,add by 王芃、吴芮生2016-08-11 |
| TMBOY | 44:c1d8923072ba | 42 | "location_type": "wgs84", |
| TMBOY | 44:c1d8923072ba | 43 | //当前定位数据坐标系统,取值为:”bd09ll”(百度球面坐标)或”wgs84”(GPS球面坐标)或”bd09mc”(百度墨卡托坐标)。默认是wgs84 |
| TMBOY | 44:c1d8923072ba | 44 | "location_system":"wgs84" |
| TMBOY | 44:c1d8923072ba | 45 | //如果用户是语音输入的,存语音输入的id |
| TMBOY | 44:c1d8923072ba | 46 | "speech_id":"xxxx", |
| TMBOY | 44:c1d8923072ba | 47 | //string 请求类型,-1-手百插件注册(query为空), 0-输入框输入,1-鼠标点击输入,2-查看聊天历史,3-写入聊天历史,4-注册用户信息,5-查看用户信息,6-查看熊成长信息,7-更改熊身上装备,8-检查是否可以修改昵称, 9-app从后台恢复 |
| TMBOY | 44:c1d8923072ba | 48 | "request_type": "string", |
| TMBOY | 44:c1d8923072ba | 49 | //string 请求来源,0-和熊对话,1-框中输入,2-主动触发熊,3-首页, 4-feed流,,5-客户端选择操作类型请求 |
| TMBOY | 44:c1d8923072ba | 50 | "request_from": "string", |
| TMBOY | 44:c1d8923072ba | 51 | //string 服务标识 |
| TMBOY | 44:c1d8923072ba | 52 | "sample_name": "bear_brain_wireless", |
| TMBOY | 44:c1d8923072ba | 53 | //string 客户端生成的消息id |
| TMBOY | 44:c1d8923072ba | 54 | "client_msg_id": "string", |
| TMBOY | 44:c1d8923072ba | 55 | //int 调试标记,1-测试消息 0或字段不存在表示线上消息 |
| TMBOY | 44:c1d8923072ba | 56 | "debug": int, |
| TMBOY | 44:c1d8923072ba | 57 | //int 消息模式, 1-3D演示模式 0或字段不存在为默认状态 |
| TMBOY | 44:c1d8923072ba | 58 | "mode": int, |
| TMBOY | 44:c1d8923072ba | 59 | //操作系统, 可选,android/ios |
| TMBOY | 44:c1d8923072ba | 60 | "operation_system": "ios", |
| TMBOY | 44:c1d8923072ba | 61 | "operation_system_version":"7.0.0", //操作系统版本号(目前只有对外sdk有该字段),ios取[[[UIDevice currentDevice] systemVersion] floatValue],安卓取android.os.Build.VERSION.RELEASE |
| TMBOY | 44:c1d8923072ba | 62 | "device_brand":"apple", //设备品牌 (目前只有对外sdk有该字段),ios写死"apple",安卓取android.os.Build.BRAND |
| TMBOY | 44:c1d8923072ba | 63 | "device_model":"iphone 6s", //设备具体型号 (目前只有对外sdk有该字段)ios取 设备型号字符串 sysctlbyname("hw.machine", name, &size, NULL, 0);,安卓取android.os.Build.MODEL |
| TMBOY | 44:c1d8923072ba | 64 | "device_interface":{ |
| TMBOY | 44:c1d8923072ba | 65 | "Alerts":{}, |
| TMBOY | 44:c1d8923072ba | 66 | "AudioPlayer":{ |
| TMBOY | 44:c1d8923072ba | 67 | "no_pause":1, |
| TMBOY | 44:c1d8923072ba | 68 | "no_seek":1, |
| TMBOY | 44:c1d8923072ba | 69 | }, |
| TMBOY | 44:c1d8923072ba | 70 | "PlaybackController":{}, |
| TMBOY | 44:c1d8923072ba | 71 | "Speaker":{}, |
| TMBOY | 44:c1d8923072ba | 72 | "Settings":{}, |
| TMBOY | 44:c1d8923072ba | 73 | "SpeechSynthesizer":{}, |
| TMBOY | 44:c1d8923072ba | 74 | "System":{} |
| TMBOY | 44:c1d8923072ba | 75 | }, |
| TMBOY | 44:c1d8923072ba | 76 | "device_event":{ |
| TMBOY | 44:c1d8923072ba | 77 | //query_type==30 的时候才会有 device_event |
| TMBOY | 44:c1d8923072ba | 78 | "header": { |
| TMBOY | 44:c1d8923072ba | 79 | "namespace": "AudioPlayer", |
| TMBOY | 44:c1d8923072ba | 80 | "name": "PlaybackStarted", |
| TMBOY | 44:c1d8923072ba | 81 | "message_id": "message_id-1344" |
| TMBOY | 44:c1d8923072ba | 82 | }, |
| TMBOY | 44:c1d8923072ba | 83 | "payload": { |
| TMBOY | 44:c1d8923072ba | 84 | //AudioPlayer里可能出现的payload |
| TMBOY | 44:c1d8923072ba | 85 | "token": "156", |
| TMBOY | 44:c1d8923072ba | 86 | "offset_ms": 10000 |
| TMBOY | 44:c1d8923072ba | 87 | //Speaker里可能出现的payload |
| TMBOY | 44:c1d8923072ba | 88 | "volume": 1, |
| TMBOY | 44:c1d8923072ba | 89 | //SpeechSynthesizer可能出现的payload |
| TMBOY | 44:c1d8923072ba | 90 | "token": "156", |
| TMBOY | 44:c1d8923072ba | 91 | "type": "{{Text/SSML}}", |
| TMBOY | 44:c1d8923072ba | 92 | "content": ["xxxx1", "xxxx2"], |
| TMBOY | 44:c1d8923072ba | 93 | "speak_behavior": "REPLACE_ALL", |
| TMBOY | 44:c1d8923072ba | 94 | "should_get_next_speech": true |
| TMBOY | 44:c1d8923072ba | 95 | } |
| TMBOY | 44:c1d8923072ba | 96 | }, |
| TMBOY | 44:c1d8923072ba | 97 | "device_status":{ |
| TMBOY | 44:c1d8923072ba | 98 | "SpeechSynthesizer":{ |
| TMBOY | 44:c1d8923072ba | 99 | "token":"xxx",//正在播放的音频流id |
| TMBOY | 44:c1d8923072ba | 100 | "offset_ms":20000,//播放到多少ms了 |
| TMBOY | 44:c1d8923072ba | 101 | "player_activity":"PLAYING / FINISHED" |
| TMBOY | 44:c1d8923072ba | 102 | }, |
| TMBOY | 44:c1d8923072ba | 103 | "Speaker":{ |
| TMBOY | 44:c1d8923072ba | 104 | "volume": 50, |
| TMBOY | 44:c1d8923072ba | 105 | "muted": false |
| TMBOY | 44:c1d8923072ba | 106 | }, |
| TMBOY | 44:c1d8923072ba | 107 | "AudioPlayer":{ |
| TMBOY | 44:c1d8923072ba | 108 | "token":"xxx",//正在播放的音频流id |
| TMBOY | 44:c1d8923072ba | 109 | "offset_ms":20000,//播放到多少ms了 |
| TMBOY | 44:c1d8923072ba | 110 | "player_activity":"IDLE PAUSED PLAYING BUFFER_UNDERRUN FINISHED STOPPED" |
| TMBOY | 44:c1d8923072ba | 111 | }, |
| TMBOY | 44:c1d8923072ba | 112 | //如果用户界面上有一些可操作元素,需要做语音控制,可以传这个字段 |
| TMBOY | 44:c1d8923072ba | 113 | "UiControl":{ |
| TMBOY | 44:c1d8923072ba | 114 | "items":[ |
| TMBOY | 44:c1d8923072ba | 115 | {"label":"下一个","url:"xxapp://next"}, |
| TMBOY | 44:c1d8923072ba | 116 | {"label":"暂停”,url:"xxapp://pause"}, |
| TMBOY | 44:c1d8923072ba | 117 | {"label":”停止”,url:"xxapp://stop"}, |
| TMBOY | 44:c1d8923072ba | 118 | ], |
| TMBOY | 44:c1d8923072ba | 119 | }, |
| TMBOY | 44:c1d8923072ba | 120 | //可以传被控制的设备 |
| TMBOY | 44:c1d8923072ba | 121 | "SmartHomeControl":{ |
| TMBOY | 44:c1d8923072ba | 122 | "target_devices":[ |
| TMBOY | 44:c1d8923072ba | 123 | {"name":"客厅的电视","id":"xxxxxx","type":"duer_iot"},//type、device_id可选 |
| TMBOY | 44:c1d8923072ba | 124 | ], |
| TMBOY | 44:c1d8923072ba | 125 | }, |
| TMBOY | 44:c1d8923072ba | 126 | }, |
| TMBOY | 44:c1d8923072ba | 127 | //app_ver 版本号,2.0.0之后返回现在的v2格式 |
| TMBOY | 44:c1d8923072ba | 128 | "app_ver": "2.0.0", |
| TMBOY | 44:c1d8923072ba | 129 | "searchbox_ver":"8.0",//宿主版本号,只存在于插件形式,比如手百、地图、浏览器 |
| TMBOY | 44:c1d8923072ba | 130 | //string 可选,默认值是"txt",可用的值现在有txt / image,消息内容的类型,会决定服务端如何解析request_query |
| TMBOY | 44:c1d8923072ba | 131 | "content_type": "image", |
| TMBOY | 44:c1d8923072ba | 132 | //int 可选,content_type=='image'的时候,表示图片的高度 |
| TMBOY | 44:c1d8923072ba | 133 | "image_height": int, |
| TMBOY | 44:c1d8923072ba | 134 | //int 可选,content_type=='image'的时候,表示图片的宽度 |
| TMBOY | 44:c1d8923072ba | 135 | "image_width": int, |
| TMBOY | 44:c1d8923072ba | 136 | //string 请求query |
| TMBOY | 44:c1d8923072ba | 137 | "request_query": "query", |
| TMBOY | 44:c1d8923072ba | 138 | //数组,标志客户端支持的内容类型,可选,如果不传,认为客户端都支持 |
| TMBOY | 44:c1d8923072ba | 139 | "supported_content_type":["audio","image","video","webview","speech"], |
| TMBOY | 44:c1d8923072ba | 140 | |
| TMBOY | 44:c1d8923072ba | 141 | //可选,如果是一个控制指令,可以传target_device_id,这个字段会被透传给bot,作为调用设备云的硬件id |
| TMBOY | 44:c1d8923072ba | 142 | //未来会变成不传这个字段,靠query解析和设备管理理解出这个字段 |
| TMBOY | 44:c1d8923072ba | 143 | "target_device_id":"xxxxxx", |
| TMBOY | 44:c1d8923072ba | 144 | } |
| TMBOY | 44:c1d8923072ba | 145 | ``` |
| TMBOY | 44:c1d8923072ba | 146 | |
| TMBOY | 44:c1d8923072ba | 147 | ### 请求值(request)中数据格式分块详细说明 |
| TMBOY | 44:c1d8923072ba | 148 | |
| TMBOY | 44:c1d8923072ba | 149 | #### 客户端能力相关(device_interface, device_event, device_status) |
| TMBOY | 44:c1d8923072ba | 150 | |
| TMBOY | 44:c1d8923072ba | 151 | * device_interface 标识客户端有哪些能力 |
| TMBOY | 44:c1d8923072ba | 152 | * AudioPlayer |
| TMBOY | 44:c1d8923072ba | 153 | * no_pause 说明客户端不支持暂停、继续 |
| TMBOY | 44:c1d8923072ba | 154 | * no_seek 说明客户端不支持快进、快退、定位播放 |
| TMBOY | 44:c1d8923072ba | 155 | * SpeechSynthesizer |
| TMBOY | 44:c1d8923072ba | 156 | * Speaker |
| TMBOY | 44:c1d8923072ba | 157 | * device_event 客户端事件的类型和内容。只有query_type==30的时候,才会有device_event,此时会忽略query字段(没有文本query),比如下面的端能力,里面都有相关事件的定义 |
| TMBOY | 44:c1d8923072ba | 158 | * [AudioPlayer](../directives/AudioPlayer.md) 音乐播放 |
| TMBOY | 44:c1d8923072ba | 159 | * [Speaker](../directives/Speaker.md) 扬声器控制、设置 |
| TMBOY | 44:c1d8923072ba | 160 | * [SpeechSynthesizer](../directives/SpeechSynthesizer.md) 语音播报(TTS) |
| TMBOY | 44:c1d8923072ba | 161 | 例如: |
| TMBOY | 44:c1d8923072ba | 162 | |
| TMBOY | 44:c1d8923072ba | 163 | ```javascript |
| TMBOY | 44:c1d8923072ba | 164 | "device_event":{ |
| TMBOY | 44:c1d8923072ba | 165 | "header": { |
| TMBOY | 44:c1d8923072ba | 166 | "namespace": "AudioPlayer", |
| TMBOY | 44:c1d8923072ba | 167 | "name": "PlaybackStarted", |
| TMBOY | 44:c1d8923072ba | 168 | "message_id": "message_id-1344" |
| TMBOY | 44:c1d8923072ba | 169 | }, |
| TMBOY | 44:c1d8923072ba | 170 | "payload": { |
| TMBOY | 44:c1d8923072ba | 171 | "token": "156", |
| TMBOY | 44:c1d8923072ba | 172 | "offset_ms": 10000 |
| TMBOY | 44:c1d8923072ba | 173 | } |
| TMBOY | 44:c1d8923072ba | 174 | } |
| TMBOY | 44:c1d8923072ba | 175 | ``` |
| TMBOY | 44:c1d8923072ba | 176 | |
| TMBOY | 44:c1d8923072ba | 177 | * device_status 客户端的当前状态,按能力分类(每种端能力有每种端能力的状态) |
| TMBOY | 44:c1d8923072ba | 178 | * AudioPlayer |
| TMBOY | 44:c1d8923072ba | 179 | * SpeechSynthesizer |
| TMBOY | 44:c1d8923072ba | 180 | * Speaker |
| TMBOY | 44:c1d8923072ba | 181 | 例如: |
| TMBOY | 44:c1d8923072ba | 182 | |
| TMBOY | 44:c1d8923072ba | 183 | ```javascript |
| TMBOY | 44:c1d8923072ba | 184 | "device_status":{ |
| TMBOY | 44:c1d8923072ba | 185 | "SpeechSynthesizer":{ |
| TMBOY | 44:c1d8923072ba | 186 | "token":"xxx",//正在播放的音频流id |
| TMBOY | 44:c1d8923072ba | 187 | "offset_ms":20000,//播放到多少ms了 |
| TMBOY | 44:c1d8923072ba | 188 | "player_activity":"PLAYING / FINISHED" |
| TMBOY | 44:c1d8923072ba | 189 | }, |
| TMBOY | 44:c1d8923072ba | 190 | "Speaker":{ |
| TMBOY | 44:c1d8923072ba | 191 | "volume": 50, |
| TMBOY | 44:c1d8923072ba | 192 | "muted": false |
| TMBOY | 44:c1d8923072ba | 193 | }, |
| TMBOY | 44:c1d8923072ba | 194 | "AudioPlayer":{ |
| TMBOY | 44:c1d8923072ba | 195 | "token":"xxx",//正在播放的音频流id |
| TMBOY | 44:c1d8923072ba | 196 | "offset_ms":20000,//播放到多少ms了 |
| TMBOY | 44:c1d8923072ba | 197 | "player_activity":"IDLE / PAUSED / PLAYING / BUFFER_UNDERRUN / FINISHED / STOPPED" |
| TMBOY | 44:c1d8923072ba | 198 | } |
| TMBOY | 44:c1d8923072ba | 199 | } |
| TMBOY | 44:c1d8923072ba | 200 | ``` |
| TMBOY | 44:c1d8923072ba | 201 | * target_device_id 可选,如果是一个控制指令,可以传target_device_id,这个字段会被透传给bot,作为调用设备云的硬件id |
| TMBOY | 44:c1d8923072ba | 202 | * 未来会变成不传这个字段,靠query解析和设备管理理解出这个字段 |
| TMBOY | 44:c1d8923072ba | 203 | |
| TMBOY | 44:c1d8923072ba | 204 | #### 请求字段中,.supported_content_type字段的解释 |
| TMBOY | 44:c1d8923072ba | 205 | 表示了端支持的内容类型,bot应该召回端支持的内容类型,**不召回**端不支持的内容 |
| TMBOY | 44:c1d8923072ba | 206 | * audio |
| TMBOY | 44:c1d8923072ba | 207 | * video |
| TMBOY | 44:c1d8923072ba | 208 | * image |
| TMBOY | 44:c1d8923072ba | 209 | * webview |
| TMBOY | 44:c1d8923072ba | 210 | * speech |
