语音助手功能说明文档
文档状态
| 文件标识: | TuringOS-assistant-V1.2.1 |
|---|---|
| 系统版本: | OpenSocket |
| 完成日期: | 2022年2月11日 |
文档修订记录
为便于后续文档维护,文档版本号将由三部分组成,第一个数字为主版本号,第二个数字为功能版本号,第三个数字为修订版本号:
| 文档版本号 | 修订日期 | 修订原因 |
|---|---|---|
| V1.1.1 | 2021.12.11 | 创建文档 |
| V1.2.1 | 2022.02.11 | 增加教材点播示例 |
一、功能简介
为提高扫读笔灵活性和便捷性,图灵语音助手功能支持通过语音指令,对字、词、成语等内容进行查询,还可以对英语、语文教材内容进行点播控制。
1. 语音查词
- 支持查询字、词的读音,如:“屋檐怎么读”
- 支持查询字、词、成语的写法,如:“天空的天怎么写”
- 支持查询字、词、成语的释义,如:“叶公好龙是什么意思”
- 支持查询古诗词诗名,如:“背诵静夜思”
- 支持翻译单词、句子,如:“苹果用英语怎么说”
- 支持查询十万个为什么,如:“为什么飞机能飞”
| 指令类别 | 对应参数(operation) | 进入语指令 |
|---|---|---|
| 读 | read | 屋檐怎么读 |
| 写 | spell | 请问天空的天怎么写 |
| 释义 | meaning | 解释一下喜悦的意思 |
| 背诵 | recite | 背诵静夜思 |
| 翻译 | translate | 请问苹果用英语怎么说 |
2. 教材点播
教材点播功能需提前请求“教材设置”和“保存教材设置”接口后,才可以进行语音点播,否则将无法定位到具体教材(可参见“学习园地功能说明文档 - 设置教材模块”)
- 支持语文教材的某课内容进行点播
- 支持英语教材的某课或某单元进行点播
- 支持对教材专辑、单曲进行上下首、播放/暂停指令控制
| 指令类别 | 进入语指令 |
|---|---|
| 单曲点播 | 播放语文第一单元、我想听英语第一单元、播放语文第二课、我想听语文第一课 |
| 上/下首 | 上一首/下一首 |
| 播放/暂停 | 播放/暂停 |
二、接口要求
1.加密说明
默认不加密,如需加密在”biz平台-机器人信息页“开启加密模式,开启后需对data字段进行AES加密,参数如下:
| 参数 | 说明 | 备注 |
|---|---|---|
| 加密模式 | CBC | - |
| 填充 | PKCS5Padding | - |
| 数据块 | 128位(密钥为16位) | - |
| 密码 | secretKey | Apikey+Secret(机器人信息页获取)+ 时间戳(毫秒,与入参一致) 进行Md5加密,取16位小写值 |
| 偏移量 | secretKey | Apikey+Secret(机器人信息页获取)+ 时间戳(毫秒,与入参一致) 进行Md5加密,取16位小写值 |
| 输出 | base64编码 | - |
| 字符集 | utf-8 | - |
2.接口说明
2.1 请求方法
正式环境: ws://ws-api.turingapi.com/api/v2
2.2 通用请求示例
当biz平台开启加密时,使用该初始化示例请求socket服务:
{
"key": "ed474dae62*********67050faea1788",
"timestamp": "150******7793",
"service_identify": "scanPen",
"data": "加密后的内容"
}
请求参数说明
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| key | String | Y | 图灵biz平台申请的Apikey |
| timestamp | String | Y | 当前时间戳 |
| data | String | Y | 请求内容,需填写加密后的结果 |
| service_identify | String | Y | 场景模式 scanPen为扫读笔场景 |
当使用service_identify字段,为扫读笔场景时:
- 参数值只有是scanPen才会生效,输入其他值均为普通场景;
- 普通场景无法使用OCR能力,会提示OCR权限异常。
2.3 通用返回示例
{
"code": 200,
"done": true,
"globalId": "166657893326582001",
"message": "success",
"nlpResponse": {}
}
返回参数说明
| 参数 | 类型 | 是否必返 | 说明 |
|---|---|---|---|
| code | int | Y | 状态code;200万成参考状态code列表 |
| globalId | String | Y | 请求唯一标识,用于排查日志 |
| done | boolean | Y | 单轮请求是否结束 false为单轮请求未结束(云端还会返回结果) true为已结束(可进行下次请求或关闭连接) |
| message | String | Y | code对应的说明 |
| nlpResponse | Json | Y | nlp相关回复信息 |
| results | Json | N | 输出结果集 |
三、接入流程

1.请求示例
1.1 初始化参数
1.1.1 语音查词示例
data加密前数据格式:
{
"deviceId": "123",
"requestType": [0, 1],
"asrRequest": {
"asrFormatEnum": 0,
"asrLanguageEnum": 0,
"asrRateEnum": 1,
"enableITN": true,
"enablePunctuation": true,
"enableVoiceDetection": false
},
"nlpRequest": {
"content": [{
"data": "6217ea26-a7a8-4351-a851-38b6b89dd398",
"type": 2
}],
"userInfo": {
"useCodes": [1000633,200205,1000664]
}
},
"binarysState": {
"openBinarysId": "6217ea26-a7a8-4351-a851-38b6b89dd398"
}
}
1.1.2 教材点播示例
data加密前数据格式:
{
"deviceId": "123",
"requestType": [0, 1],
"asrRequest": {
"asrFormatEnum": 0,
"asrLanguageEnum": 0,
"asrRateEnum": 1,
"enableITN": true,
"enablePunctuation": true,
"enableVoiceDetection": false
},
"nlpRequest": {
"content": [{
"data": "6217ea26-a7a8-4351-a851-38b6b89dd398",
"type": 2
}],
"clientInfo": {
"appState": {
"code": 1000664,
"operateState": 1100
},
"robotSkill": {
"1000664": {
"playType": 1,
"albumId": 3333
}
}
},
"userInfo": {
"useCodes": [1000664]
}
}
"binarysState": {
"openBinarysId": "6217ea26-a7a8-4351-a851-38b6b89dd398"
}
}
1.1.3 语音翻译示例
data加密前数据格式:
{
"deviceId": "123",
"requestType": [0,1],
"asrRequest": {
"asrFormatEnum": 0,
"asrLanguageEnum": 0,
"asrRateEnum": 1,
"enableITN": true,
"enablePunctuation": true,
"enableVoiceDetection": false
},
"nlpRequest": {
"content": [{
"data": "6217ea26-a7a8-4351-a851-38b6b89dd398",
"type": 2
}],
"userInfo": {
"useCodes": [1000018]
}
},
"binarysState": {
"openBinarysId": "6217ea26-a7a8-4351-a851-38b6b89dd398"
}
}
1.2 发送音频数据
初始化成功后,上传需要识别的音频数据;
(注:每段传输数据小于1024*8 byte,上传音频发送间隔不超过10S,单轮音频请求时长不超过60秒)
1.3 结束本次识别
data加密前数据格式:
{
"binarysState": {
"completeBinarysId": "完成传输的二进制参数id"
}
}
2.请求参数说明
data字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| deviceId | String | Y | 用户设备Id: 由字母或数字组成,其他字符可能导致部分功能错误,长度等于16位。 |
| requestType | Array | Y | 该次请求需要请求的内容:0:ASR,1:NLP,2:TTS |
| nlpRequest | Json | Y | nlp内容请求信息 1:文本方式请求 2:图片、音频请求 |
| asrRequest | Json | Y | 请求asr时需要的参数 |
| binarysState | Json | N | 二进制参数上传状态 |
asrRequest字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| asrFormatEnum | int | Y | 音频格式: 0:PCM 1:OPUS 2:SPEEX |
| asrLanguageEnum | int | Y | 语言: 0:中文 1:英文 |
| asrRateEnum | int | Y | 音频采样率: 0:8k(PCM) 1:16k(PCM,OPUS,SPEEX) |
| intermediateResult | boolean | N | 是否返回中间ASR结果(默认false) |
| enableITN | boolean | N | 返回结果的数字格式规则为阿拉伯数字格式(默认true) |
| enablePunctuation | boolean | N | 是否开启标点符号添加(默认true) |
| enableVoiceDetection | boolean | N | 是否启动语音检测(默认false): 启动后需要同时设置maxStartSilence和maxEndSilence的值 |
| maxStartSilence | Integer | N | 允许的最大开始静音(单位:毫秒): 超出后服务端将会返回asrResponse.state=200,结束本次识别,需要先设置enableVoiceDetection为true |
| maxEndSilence | Integer | N | 允许的最大结束静音(单位:毫秒): 超出后服务端会将返回asrResponse.state=200,结束本次识别,需要先设置enableVoiceDetection为true |
nlpRequest - content字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| type | int | N | 0:文本 1:图片 2:ASR音频 5:口语评测 |
| data | String | Y | 对应类型的二进制参数ID:32位字符串(UUID) |
nlpRequest - userInfo字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| useCodes | Array | N | 需要指定请求的技能code [1000633]词典技能 [200205]十万个为什么技能 [1000047]教材点播技能 [1000018]全文翻译技能 |
当使用useCodes字段时,请求内容只会在该字段指定的技能中进行匹配,不会进入到其他技能;
ClientInfo - appState字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | N | 技能code [1000664]为教材识别技能 |
| operateState | int | N | 应用状态 [1100]为教材点播 [1102]为教材扫读 |
ClientInfo - robotSkill字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| 1000664 | Json | N | 需配置的技能code |
robotSkill - 1000664字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| playType | String | N | 是否循环播放 0:循环当前首; 1:循环播放列表 |
| albumId | Int | N | 专辑ID,告知云端当前专辑信息 |
binarysState字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| openBinarysId | String | N | 将传输二进制数据的参数ID: 该值与nlpRequest-content-data中的内容一致 |
| completeBinarysId | String | Y | socket完成二进制参数ID(该状态由服务器告知客户端) |
注意:WebSocket的二进制参数输入都需要初始化时在nlpRequest-content中按类型提前申明并将代表该二进制参数ID赋值给nlpRequest-content-data.
3.返回示例及参数说明
3.1 语音查词
3.1.1 读
{
"code": 200,
"done": true,
"globalId": "154475607959195001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000633,
"operateState": 1010,
"parameters": {
"result": {
"dict": "cn_char",
"operation": "read",
"dictType": "tuling",
"info": {
"radicals": "大",
"synonyms": [],
"isCollect": false,
"polyphone": [{
"pinyin": "tiān",
"explanations": [
"在地面以上的高空",
"在上面",
"气候",
"季节,时节",
"日,一昼夜,或专指昼间",
"指神仙或他们所住的地方",
"自然界",
"[天干]古代用来记日或年的字,有“天干”和“地支”两类,天干共十字",
"自然的、生成的"
],
"audio": "http://universe-file-limit.turingapi.com/202110081709/a58ee5876441983160c712d70d069dad/dict/cn_char/e7abf46685a048ce9dc448081db706b5.mp3",
"combineWords": [{
"type": "start",
"word": "天头"
},
{
"type": "start",
"word": "天气"
},
{
"type": "start",
"word": "天罡"
},
{
"type": "start",
"word": "天冷"
},
{
"type": "end",
"word": "今天"
},
{
"type": "start",
"word": "天际"
},
{
"type": "end",
"word": "冬天"
},
{
"type": "start",
"word": "天空"
},
{
"type": "start",
"word": "天渊"
},
{
"type": "start",
"word": "天马行空"
}
]
}],
"strokesNumText": "共四画",
"wordAudio": "http://universe-file-limit.turingapi.com/202110081709/a58ee5876441983160c712d70d069dad/dict/cn_char/e7abf46685a048ce9dc448081db706b5.mp3",
"structure": "上下结构",
"radicalsAudio": "http://book-iot-cdn.turingos.cn/202110081739/055415265cb630eb7fbd83ab7b044d28/dictV2/93dd7d6e9effdea7478c910664ff1edf.mp3",
"strokesNumAudio": "http://universe-file-limit.turingapi.com/202110081709/4feaca7d0793e32544678bc867846f94/dict/ac27e8f189d5425f91e44ea3d9cff369.mp3",
"translations": [],
"antonyms": [
"地"
],
"strokesOrderText": "横、横、撇、捺",
"copy": [
"http://book-iot-cdn.turingos.cn/202110081739/fdd63fddd47ffcaa9243d0eb53aa60a3/svg/svg-gif/allgif100/22825.gif"
],
"radicalsText": "大字头",
"strokesOrderAudio": "http://universe-file-limit.turingapi.com/202110081709/b6c3d201e598670faaf945e9ed387edf/dict/9aa311796eaf461d89d86087fa61bbef.mp3",
"word": "天",
"strokesNum": "4",
"strokesOrder": "一 一 ノ ㇏"
}
},
"content": "天"
}
},
"results": [{
"groupType": 0,
"resultType": "text",
"values": {
"text": "天的读音是"
}
}]
}
}
3.1.2 写
{
"code": 200,
"done": true,
"globalId": "154475607959195001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000633,
"operateState": 1010,
"parameters": {
"result": {
"dict": "cn_char",
"operation": "spell",
"dictType": "tuling",
"info": {
"radicals": "大",
"synonyms": [],
"isCollect": false,
"polyphone": [{
"pinyin": "tiān",
"explanations": [
"在地面以上的高空",
"在上面",
"气候",
"季节,时节",
"日,一昼夜,或专指昼间",
"指神仙或他们所住的地方",
"自然界",
"[天干]古代用来记日或年的字,有“天干”和“地支”两类,天干共十字",
"自然的、生成的"
],
"audio": "http://universe-file-limit.turingapi.com/202110081721/6cd4ed7733aad3a135d121b92bb95a90/dict/cn_char/e7abf46685a048ce9dc448081db706b5.mp3",
"combineWords": [{
"type": "start",
"word": "天头"
},
{
"type": "start",
"word": "天气"
},
{
"type": "start",
"word": "天罡"
},
{
"type": "start",
"word": "天冷"
},
{
"type": "end",
"word": "今天"
},
{
"type": "start",
"word": "天际"
},
{
"type": "end",
"word": "冬天"
},
{
"type": "start",
"word": "天空"
},
{
"type": "start",
"word": "天渊"
},
{
"type": "start",
"word": "天马行空"
}
]
}],
"strokesNumText": "共四画",
"wordAudio": "http://universe-file-limit.turingapi.com/202110081721/6cd4ed7733aad3a135d121b92bb95a90/dict/cn_char/e7abf46685a048ce9dc448081db706b5.mp3",
"structure": "上下结构",
"radicalsAudio": "http://book-iot-cdn.turingos.cn/202110081751/2bfaebff31d3a1c848fda0ae3e861188/dictV2/93dd7d6e9effdea7478c910664ff1edf.mp3",
"strokesNumAudio": "http://universe-file-limit.turingapi.com/202110081721/75087c79f8e2105cb5da2ac057e5ad26/dict/ac27e8f189d5425f91e44ea3d9cff369.mp3",
"translations": [],
"antonyms": [
"地"
],
"strokesOrderText": "横、横、撇、捺",
"copy": [
"http://book-iot-cdn.turingos.cn/202110081751/847caa6b76f509110dd3e5a9b7a8d60a/svg/svg-gif/allgif100/22825.gif"
],
"radicalsText": "大字头",
"strokesOrderAudio": "http://universe-file-limit.turingapi.com/202110081721/adcfaff97fa6e2fa491911e770d6f6f7/dict/9aa311796eaf461d89d86087fa61bbef.mp3",
"word": "天",
"strokesNum": "4",
"strokesOrder": "一 一 ノ ㇏"
}
},
"content": "天"
}
},
"results": [{
"groupType": 0,
"resultType": "text",
"values": {
"text": "天的写法是"
}
}]
}
}
3.1.3 释义
{
"code": 200,
"done": true,
"globalId": "154475607959195001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000633,
"operateState": 1010,
"parameters": {
"result": {
"dict": "cn_word",
"operation": "meaning",
"dictType": "tuling",
"info": {
"isCollect": false,
"copy": [
"http://book-iot-cdn.turingos.cn/202110081802/f4eba529ee4dc90f367a1551ab97aae6/svg/svg-gif/allgif100/22825.gif",
"http://book-iot-cdn.turingos.cn/202110081802/a890f5fca4a6c166df57ae064ac44ae6/svg/svg-gif/allgif100/31354.gif"
],
"polyphone": [{
"pinyin": "tiān kōng",
"examples": [{
"en": "",
"cn": "倘若我是一只鸟儿,我就要在天空自由的飞翔。"
},
{
"en": "",
"cn": "从你不怕坠落的那一刻开始,天空就离你不远了。"
},
{
"en": "",
"cn": "月亮就如银盘悬挂在天空中,似明似暗的星星羞怯地眨着眼睛。"
}
],
"synonyms": [
"天外",
"天际"
],
"translations": [],
"antonyms": [
"大地",
"地面"
],
"explanations": [
"地面以上很高很远的广大空间"
],
"audio": "http://universe-file-limit.turingapi.com/202110081732/f1b8308fe94528fe08159d35f7aac584/dict/cn_word/ce37a60a926143c4a33cea52e1c77a5a.mp3"
}],
"wordAudio": "http://universe-file-limit.turingapi.com/202110081732/f1b8308fe94528fe08159d35f7aac584/dict/cn_word/ce37a60a926143c4a33cea52e1c77a5a.mp3",
"word": "天空"
}
},
"content": "天空"
}
},
"results": [{
"groupType": 0,
"resultType": "text",
"values": {
"text": "天空的解释是"
}
}]
}
}
3.1.4 背诵
{
"code": 200,
"done": true,
"globalId": "154475607959195001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000633,
"operateState": 1010,
"parameters": {
"result": {
"dict": "cn_poem",
"operation": "recite",
"dictType": "tuling",
"info": {
"isCollect": false,
"details": [{
"code": "ad607368f95e4f6e9f61b8795da2477f",
"notes": [
"静夜思:静静的夜里,产生的思绪。",
"床:今传五种说法。",
"一指井台。已经有学者撰文考证过。中国教育家协会理事程实将考证结果写成论文发表在刊物上,还和好友创作了《诗意图》。"
],
"dynasty": "唐代",
"sentences": [{
"sentence": "床前明月光,疑是地上霜。",
"notes": [
"疑:好像。 ",
"床:今传五种说法。"
],
"explanations": [
"明亮的月光洒在窗户纸上,好像地上泛起了一层白霜。"
],
"audio": "http://universe-file-limit.turingapi.com/202110081734/2d48cea4357c9e0776fb58c59a8d8a9c/dict/28d3b65ae8d94a788ddc9a19a3d332b3.mp3"
},
{
"sentence": "举头望明月,低头思故乡。",
"notes": [
"举头:抬头。"
],
"explanations": [
"我抬起头来,看那天窗外空中的明月,不由得低头沉思,想起远方的家乡。"
],
"audio": "http://universe-file-limit.turingapi.com/202110081734/a9ed08f793c2bda5603885cd3175edcf/dict/e7e3a243393b4772a9bcc1a24f5b5a39.mp3"
}
],
"about": "李白(701年-762年) ,字太白,号青莲居士,又号“谪仙人”,唐代伟大的浪漫主义诗人,被后人誉为“诗仙”,与杜甫并称为“李杜”,为了与另两位诗人李商隐与杜牧即“小李杜”区别,杜甫与李白又合称“大李杜”。据《新唐书》记载,李白为兴圣皇帝(凉武昭王李暠)九世孙,与李唐诸王同宗。其人爽朗大方,爱饮酒作诗,喜交友。李白深受黄老列庄思想影响,有《李太白集》传世,诗作中多以醉时写的,代表作有《望庐山瀑布》《行路难》《蜀道难》《将进酒》《明堂赋》",
"name": "静夜思",
"appreciation": " 这首诗写的是在寂静的月夜思念家乡的感受。\n\n 诗的前两句,是写诗人在作客他乡的特定环境中一刹那间所产生的错觉。一个独处他乡的人,白天奔波忙碌,倒还能冲淡离愁,然而一到夜深人静的时候,心头就难免泛起阵阵思念故乡的波澜。何况是在月明之夜,更何况是月色如霜的秋夜。“疑是地上霜”中的“疑”字,生动地表达了诗人睡梦初醒,迷离恍惚中将照射在床前的清冷月光误作铺在地面的浓霜。而“霜”字用得更妙,既形容了月光的皎洁,又表达了季节的寒冷,还烘托出诗人",
"explanations": [
"明亮的月光洒在窗户纸上,好像地上泛起了一层白霜。\n我抬起头来,看那天窗外空中的明月,不由得低头沉思,想起远方的家乡。"
],
"poet": "李白",
"wordAudio": "http://book-iot-cdn.turingos.cn/202110081804/663dabbc7df938134a45a5672e364441/dictV2/4bd64e728edf77275f90d8b6af1bfb9.mp3",
"content": "床前明月光,疑是地上霜。\n举头望明月,低头思故乡。",
"tags": [
"唐诗三百首",
"小学古诗",
"月亮",
"思乡",
"景色"
]
}],
"isWhole": true,
"type": "title"
}
},
"content": "静夜思"
}
},
"results": [{
"groupType": 0,
"resultType": "text",
"values": {
"text": "背诵静夜思"
}
}]
}
}
3.1.5 翻译
{
"code": 200,
"done": true,
"globalId": "154475607959195001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000633,
"operateState": 1010,
"parameters": {
"result": {
"dict": "cn_word",
"operation": "translate",
"dictType": "tuling",
"info": {
"isCollect": false,
"copy": [
"http://book-iot-cdn.turingos.cn/202110081808/7b63e9f43656c9c0f2415d3edecc0feb/svg/svg-gif/allgif100/33529.gif",
"http://book-iot-cdn.turingos.cn/202110081808/41f87d68cb2ec4549eed6dd1f7bfac39/svg/svg-gif/allgif100/26524.gif"
],
"polyphone": [{
"pinyin": "píng guŏ",
"examples": [{
"en": "",
"cn": "果园里,红艳艳的苹果压弯了树枝。"
},
{
"en": "",
"cn": "那红彤彤的苹果挂在枝头,成了一个笑红了脸的娃娃。"
},
{
"en": "",
"cn": "她扑哧一笑脸红的就像苹果一样。"
}
],
"synonyms": [],
"translations": [],
"antonyms": [],
"explanations": [
"落叶乔木。叶互生,叶片有齿。是中国北方重要果树之一。也指这种植物的果实"
],
"audio": "http://universe-file-limit.turingapi.com/202110081738/17cf6a7cdf8c158fafe8b02ecb08665f/dict/cn_word/76d046e861e744c295216aed99d46d1d.mp3"
}],
"wordAudio": "http://universe-file-limit.turingapi.com/202110081738/17cf6a7cdf8c158fafe8b02ecb08665f/dict/cn_word/76d046e861e744c295216aed99d46d1d.mp3",
"word": "苹果"
}
},
"content": "苹果"
}
},
"results": [{
"groupType": 0,
"resultType": "text",
"values": {
"text": "苹果的翻译是"
}
}]
}
}
返回参数说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | Y | 状态code;参考状态code列表 |
| globalId | String | Y | 请求唯一标识,用于排查日志 |
| message | String | Y | code对应的说明 |
| asrResponse | Json | N | asr请求回复信息 |
| nlpResponse | Json | N | nlp相关回复信息 |
asrResponse参数说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| binarysId | String | Y | asr二进制参数Id |
| value | String | Y | asr识别内容 |
| state | int | Y | 200:asr识别完成结果 210:asr识别中间结果返回 |
nlpResponse - Intent字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | Y | 输出应用code |
| operateState | intint | Y | 应用状态(应用单独定义) |
| parameters | Json | Y | 输出信息 |
parameters - result字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| dictType | String | Y | 词典类别 tuling为图灵词典 niujing为牛津词典 |
| operation | String | Y | read(读)、spell(写)、meaning(释义)、recite(背诵)、translate(翻译) |
| dict | String | Y | 图灵词典类型 汉字(cn_char) 成语(cn_idiom) 古诗词(cn_poem) 历史人名(cn_word_person) 汉词(cn_word) 英文单词(en_word) 英文短语(en_phrase) 无查词内容(others) |
| info | Json | Y | 查词内容,可参考《在线OCR识别及词典查词协议》 |
results字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| resultType | String | Y | 输出类型 文本(text); 链接(url); 音频(voice); 动作表情(action); 视频(video); 图片(image); 图文(news); |
| values | Map | Y | 输出内容 |
| groupType | int | Y | 组类型(普通接入可忽略该参数) 0为独立输出; 大于0时可能包含同组相关内容 |
3.2 教材点播
{
"code": 200,
"done": true,
"globalId": "166664300506582001",
"message": "success",
"nlpResponse": {
"intent": {
"code": 1000664,
"operateState": 1121,
"parameters": {
"result": {
"albumName": "1Module 1",
"albumId": 5961,
"albumVo": {
"classId": 5962,
"className": "1She's very nice"
}
}
}
}
}
}
Intent字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | Y | 输出应用code |
| operateState | int | Y | 应用状态 |
| parameters | Json | Y | 返回结果 |
operateState字段说明
| operateState | 说明 |
|---|---|
| 1100 | 进入教材点播技能 |
| 1120 | 返回专辑内容中课文音频 |
| 1121 | 返回单曲的课文音频 |
| 1012 | nlu解析缺少部分字段 |
| 1015 | 请求第三方接口出错 |
| 1053 | 扫读笔未进行教材设置,请确认是否请求教材设置接口(参见学习园地功能说明文档) |
| 1054 | 获取不到对应的音频数据,请确认是否请求保存教材设置接口(参见学习园地功能说明文档) |
parameters字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| albumName | String | Y | 专辑名字 |
| albumId | int | Y | 专辑id 每次返回后,需客户端更新本地缓存的专辑id |
| playType | String | Y | 循环单首或者整个专辑 0:循环单曲; 1:循环专辑(默认为1) |
| classId | String | Y | 音频id |
| className | String | Y | 音频名字 |
| audioUrl | String | Y | 音频url |
result字段说明
| 参数 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| groupType | int | Y | 组类型(普通接入可忽略该参数) 0为独立输出; 大于0时可能包含同组相关内容 |
| resultType | String | Y | 输出类型 文本(text); 链接(url); 音频(voice); 动作表情(action); 视频(video); 图片(image); 图文(news); |
| values | Map | Y | 输出内容 |
附录:code状态列表
| code | 说明 |
|---|---|
| 200 | 正确结果返回 |
| 210 | 参数初始化成功,请收到该标识后上传二进制数据(如果需要) |
| 220 | 参数上传完成,正在请求nlp/tts |
| 240 | 输入参数为空,nlp/tts不处理 |
| 270 | 测评中间结果 |
| 280 | 测评最终结果 |
| 300 | 无效数据:二进制参数已完成传输,不要发送该数据 |
| 4004 | 机器人类型非法 |
| 4005 | apikey信息错误 |
| 4006 | deviceId信息错误 |
| 4007 | 解密失败,您的加密逻辑存在异常 |
| 4008 | 数据内容格式错误 |
| 4009 | 机器人被禁用 |
| 4010 | 试用期已过 |
| 4011 | 系统不支持二进制参数 |
| 4012 | 今天我们已经聊了很多啦,明天再来找我聊天吧。 |
| 4013 | 这一小时的对话次数已经超过我的极限啦,让我休息一下,待会再聊 |
| 4014 | 这一分钟里我们已经聊了很多啦,休息,休息一下吧 |
| 4015 | 二进制参数错误,请确定binarysId是否对应 |
| 4016 | 单次交互时间过长,请查看文档! |
| 4017 | 二进制参数错误,有重复binarysId! |
| 4018 | 二进制参数输入状态异常 |
| 4019 | 二进制参数处理时间超时/第三方引擎参数错误 |
| 4020 | ASR权限异常 |
| 4022 | 二进制传输内容过大! |
| 4023 | 单次交互同类型的二进制参数只允许输入一个 |
| 4025 | 上传数据失败,请稍后~ |
| 4026 | nlp/tts请求内容过长 |
| 4027 | 请求类型不能为空 |
| 4028 | 丢弃任务:同一用户不允许同时处理一个以上的ASR请求 |
| 4029 | robot ASR调用次数耗尽 |
| 4030 | robot NLP调用次数耗尽 |
| 4031 | uri不支持 |
| 4032 | 请求时间戳偏与服务器时间偏差太大,message为服务器时间戳 |
| 4100 | 服务正在升级 请稍后再试 |
| 4101 | 请求没有正确初始化! |
| 4102 | 长时间未请求业务,关闭连接 |
| 4200 | robot信息异常 |
| 4201 | nlp/tts处理异常 |
| 5001 | 音频信息参数错误 |
| 5002 | 未上传任何二进制数据 |
| 5003 | ASR音频格式不支持 |
| 5004 | ASR引擎链接异常 |
| 5005 | ASR引擎异常超时 |
| 5006 | 讯飞ASR引擎异常 |
| 5007 | ASR数据传输失败,没有初始化 |
| 5008 | ASR二进制数据转码失败 |
| 5010 | ASR不支持混合模式识别 |
| 5100 | 评测启动失败,请稍后再试 |
| 5101 | 评测状态错误,请正确上传文件 |
| 5102 | 评测类型非法 |
| 5103 | 评测内容为空 |
| 5104 | userid并发请求测评功能 |
| 5105 | 测评失败,请查看错误信息 |
| 6000 | 丢弃任务:同一用户不允许同时处理一个以上的ASR请求 |
注意 * 4XXX~5XXX异常,服务端将主动关闭与客户端的connection,其余code不会关闭;