手机

适用产品: 搜索,语音助手,智能助手。

适用产品: 搜索,语音助手,智能助手。
有声读物查询请求:
1、模糊搜索意图,意图名:apiKey=voice-search。
场景一:用户使用专辑名(或电台名)搜索,如用户语音搜索“我想听大秦帝国”、“我想听大秦帝国之纵横”、“大秦帝国纵横”。
场景二:用户使用艺术家名搜索,如用户语音搜索“我想听孙皓晖的作品”。
场景三:用户使用分类名搜索,如用户语音搜索“我想听历史小说”。
场景四:用户使用艺术家+专辑名搜索,如用户语音搜索“我想听孙皓晖的大秦帝国”。
场景五:用户使用艺术家+分类搜索专辑表,如用户语音搜索“我想听郭德纲的相声”。
上述场景需要返回专辑ID列表,如果开发者已经提供元数据给HAG,可不实现该接口。
2、模糊搜索场景下返回专辑ID列表的场景,不需要支持分页,支持配置最大返回多少条记录,默认最多返回50个专辑记录;最大返回多少条专辑记录,通过pageSize字段传给开发者。
3、参数字段名字说明
albumName:有声节目的专辑名或电台名。
artistName:有声节目的表演者或电台的主持人/嘉宾。
category:有声节目的历史小说,穿越小说或电台的音乐电台,经济电台,交通电台。
pageSize:分页大小限制。不携带时表示默认值为50。数字描述。
keyword:搜索电台场景下的搜索关键词。
province:搜索电台场景下的省份名。
city:搜索电台场景下的城市名。
请求报文样例:
- {
- "slots": {
- "albumName": {
- "name": "albumName",
- "slotType": "string",
- "values": [{
- "real": "大秦帝国之纵横"
- }]
- },
- "artistName": {
- "name": "artistName",
- "slotType": "string",
- "values": [{
- "real": "孙皓晖"
- }]
- },
- "category": {
- "name": "category",
- "slotType": "string",
- "values": [{
- "real": "历史小说"
- }]
- },
- "pageSize": {
- "name": "pageSize",
- "slotType": "string",
- "values": [{
- "real": "50"
- }]
- },
- "keyword": {
- "name": "keyword",
- "slotType": "string",
- "values": [{
- "real": "新闻广播"
- }]
- },
- "province": {
- "name": "province",
- "slotType": "string",
- "values": [{
- "real": "江苏省"
- }]
- },
- "city": {
- "name": "city",
- "slotType": "string",
- "values": [{
- "real": "南京市"
- }]
- }
- }
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| albumName | 专辑名 | 否 | string | 最大长度:32 |
| artistName | 艺术家名 | 否 | string | 最大长度:32 |
| category | 分类名 | 否 | string | 最大长度:32 |
| chapter | 章节 | 否 | string | 最大长度:16 |
| pageSize | 分页大小限制。不携带时表示默认值为50。 | 否 | string | 最大长度:16 |
有声垂类的查询响应
响应报文样例:
- {
- "totalCount": 30,
- "audioItemList": [{
- "stream": {
- "url": "xxx"
- },
- "metadata": {
- "contentType": "2",
- "source": "华为音乐",
- "contentExInfo": {}
- }
- }]
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| totalCount | 返回专辑类资源总数(不分页),默认最大值50条,根据输入参数pageSize可返回不超过pageSize的条数。 | 是 | long | 最小值:1,最大值:1000 |
| next | 下一条分页,不携带时没有更多的数据 | 否 | string | 最大长度:16 |
| audioItemList | 返回节目/专辑类资源列表信息 | 是 | AudioPlayerAudioWithMetaItem[] |
有声读物查询请求:
1、根据专辑ID返回专辑里面的节目列表,意图名apiKey=audio-albumDetail,如果开发者已经提供元数据给HAG,可不实现该接口;
2、根据专辑ID查询有声节目列表的场景,需要支持分页;分页请求参数startIndex和pageSize参数;
3、参数字段名字说明:
albumCode:专辑ID/电台ID,唯一标示一个专辑的索引。
chapter:章节。取第几章节。数字描述。
startIndex:分页起始下标。不携带时表示从第1条开始查询。数字描述。
pageSize:分页大小限制。不携带时表示默认值为50。数字描述。
orderBy:排序规则。0代表正序,1代表逆序,不携带时表示正序。
请求报文样例:
- {
- "albumCode": {
- "name": "albumCode",
- "slotType": "string",
- "values": [{
- "real": "xx"
- }]
- },
- "chapter": {
- "name": "chapter",
- "slotType": "string",
- "values": [{
- "real": "1"
- }]
- },
- "startIndex": {
- "name": "startIndex",
- "slotType": "string",
- "values": [{
- "real": "1"
- }]
- },
- "pageSize": {
- "name": "pageSize",
- "slotType": "string",
- "values": [{
- "real": "50"
- }]
- },
- "orderBy": {
- "name": "orderBy",
- "slotType": "string",
- "values": [{
- "real": "0"
- }]
- }
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| albumCode | 专辑的唯一编码,用于获取专辑里面的节目列表。 | 否 | string | 最大长度:32 |
| chapter | 章节。取第几章节。数字描述。 | 否 | string | 最大长度:16 |
| startIndex | 分页起始下标。不携带时表示从第1条开始查询。 | 否 | string | 最大长度:16 |
| pageSize | 分页大小限制。不携带时表示默认值为50。 | 否 | string | 最大长度:16 |
| orderBy | 排序规则。0代表正序,1代表逆序,不携带时表示正序。 | 否 | string | 最大长度:16 |
有声垂类的查询响应
响应报文样例:
- {
- "audioItemList": [{
- "stream": {
- "url": "xxx"
- },
- "metadata": {
- "contentType": "19",
- "source": "华为音乐",
- "contentExInfo": {}
- }
- }]
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| next | 分页场景下,返回给业务侧,下一页请求的起始值。 | 否 | string | 最大长度:16 |
| page | 分页场景下,返回给业务侧当前页页码,不携带时表示没有分页。 | 否 | string | 最大长度:16 |
| totalCount | 返回本查询意图场景下,查询到的资源记录总数,不是本次请求返回的记录数,用于支持分页查找。 | 否 | long | / |
| audioItemList | 返回专辑中的节目列表详情,如果资源的URL没有失效时间,可以直接在本结构体中一并返回。 | 是 | AudioPlayerAudioWithMetaItem[] | / |
| parentAlbum | 返回专辑本身的信息(仅在voice-albumDetail查询时有效,且必填。) | 否 | AudioPlayerAudioMetaData | / |
有声读物查询请求:
1、根据节目ID返回节目URL和节目的资源描述,意图名apiKey=audio-queryContentUrl,如果开发者已经提供带有URL的元数据给HAG,可不实现该接口;
2、参数字段名字说明:contentCode:有声节目ID,唯一标示一个有声节目的ID。
请求报文样例:
- {
- "contentCode": {
- "name": "contentCode",
- "slotType": "string",
- "values": [
- {"real":"yy"}
- ]
- }
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| contentCode | 有声节目的唯一编码,用于获取有声节目的URL和节目的资源描述信息。 | 否 | string | 最大长度:32 |
| albumCode | 有声节目的专辑ID | 否 | string | 最大长度:32 |
有声垂类查询节目资源路径的响应
响应报文样例:
- {
- "audioItemList": [{
- "stream": {
- "url": "xxx"
- }
- }]
- }
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| audioItemList | 返回节目资源URL | 是 | AudioPlayerAudioWithMetaItem[] | / |
有声节目的资源URL
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| stream | 播放流信息,单独查询某个节目的URL时,采取如下字段返回给端侧播放器播放地址在取节目URL时或者查询广播电台场景下是必填,其他场景下是可选。 | 否 | AudioPlayStream | / |
音频播放条目(带元数据)
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| stream | 播放流信息,单独查询某个节目的URL时,采取如下字段返回给端侧播放器播放地址在取节目URL时或者查询广播电台场景下是必填,其他场景下是可选。 | 否 | AudioPlayStream | |
| metadata | 音频元数据 | 否 | AudioPlayerAudioMetaData |
音频元数据
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| contentType | 有声类资源类型 3:有声艺术家artist 5:有声收藏、播放历史列表扩展字段 6:电台类radio 19:有声内容扩展字段 20:有声专辑扩展字段(除去电台)。 | 是 | string | |
| collectTimes | 热度(收藏) | 否 | long | |
| commentTimes | 热度(点评) | 否 | long | |
| shareTimes | 热度(分享) | 否 | long | |
| listenTimes | 热度(播放) | 否 | long | |
| viewTimes | 热度(浏览) | 否 | long | |
| confidence | 置信度,表示该返回结果的准确性,百分制表达,如95%,则该字段值为95,默认值100,表示完全匹配。 | 否 | long | 最小值:0,最大值:100 |
| source | 内容来源,如宝宝巴士、贝瓦儿歌、小伴龙、蜻蜓FM、阿基米德等,用CP名字的首字母缩写,当前已经预定义的枚举值如下:XMLYFM 喜马拉雅FMQTFM 蜻蜓FMQEFM 企鹅FMLRTS 懒人听书YQTS 氧气听书KLFM 考拉FMAJMDFM 阿基米德FMFFFM 凤凰FMDFSJ 东方视角EGDD 儿歌点点HESY 洪恩双语BWEG 贝瓦儿歌BBBS 宝宝巴士BLHEG 贝乐虎儿歌EGDUODUO 儿歌多多XBL 小伴龙KSJGS 凯叔讲故事FDDSH 樊登读书会KDGS 口袋故事DBSJ 豆瓣时间ZXSY 中信书院36KE 36氪LSDS 路上读书SLL 盛琳兰。 | 是 | string | 最大长度:32 |
| sourceName | 内容来源,如宝宝巴士、贝瓦儿歌、小伴龙、蜻蜓FM、阿基米德等,此字段是对source字段的中文描述,当前已经预定义的枚举值如下:XMLYFM 喜马拉雅FMQTFM 蜻蜓FMQEFM 企鹅FMLRTS 懒人听书YQTS 氧气听书KLFM 考拉FMAJMDFM 阿基米德FMFFFM 凤凰FMDFSJ 东方视角EGDD 儿歌点点HESY 洪恩双语BWEG 贝瓦儿歌BBBS 宝宝巴士BLHEG 贝乐虎儿歌EGDUODUO 儿歌多多XBL 小伴龙KSJGS 凯叔讲故事FDDSH 樊登读书会KDGS 口袋故事DBSJ 豆瓣时间ZXSY 中信书院36KE 36氪LSDS 路上读书SLL 盛琳兰。 | 否 | string | 最大长度:32 |
| contentExInfo | 业务扩展信息:1.当ContentType为3时,为AudioContentArtistExInfo 艺术家查询扩展字段2.当ContentType为5时,为AudioContentPlayListExInfo 音乐/有声收藏、播放历史列表扩展字段3.当ContentType为6时,为AudioContentRadioExInfo 电台扩展字段4.当ContentType为19时,为AudiobookExInfo 有声内容扩展字段5.当ContentType为20时,为AudioContentAlbumExInfo 有声专辑扩展字段(除去电台)。 | 是 | 如下结构任一: |
播放流信息,单独查询某个节目的URL时,采取如下字段返回给端侧播放器播放地址:
在取节目URL时或者查询广播电台场景下是必填,其他场景下是可选。
成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
url | 音频URL | 是 | string | |
backupUrl | 如果CP返回了音频流媒体资源的备用URL,则通过该字段返回,当 url 字段中的下载地址访问失败时使用 | 否 | string |
lyricAddress | 歌词文件地址,URL格式,在音乐场景下,lyricAddress和lyricContent至少二选一 | 否 | string | 最大长度:512 |
lyricContent | 歌词文件内容,Base64编码保存,在音乐场景下,lyricAddress和lyricContent至少二选一 | 否 | string | 最大长度:4096 |
lyricFmt | 歌词格式 | 否 | string | 最大长度:32,枚举值: |
节目的响应内容定义:
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| contentCode | 有声节目字段的唯一编码 | 是 | string | 最大长度:32 |
| contentName | 有声节目名 | 是 | string | 最大长度:400 |
| contentSubName | 有声节目副名 | 否 | string | 最大长度:400 |
| timeLength | 节目时长,单位为秒 | 是 | string | |
| fileSize | 文件大小 | 否 | long | |
| albumCode | 节目隶属的专辑编码 | 是 | string | 最大长度:32 |
| status | 节目状态,0:下线 1:上线 2:不可用(可能是已删除或没版权), 默认为1 | 是 | int | |
| artistCodes | 节目里艺术家编码拼接的字符串,以|拼接 | 否 | string | 最大长度:1000 |
| artistNames | 节目里艺术家名字拼接的字符串,以/拼接 | 否 | string | 最大长度:1000 |
| cpName | 开发者名称 | 否 | string | 最大长度:300 |
| author | 作词,儿歌场景下用 | 否 | string | 最大长度:300 |
| composer | 作曲,儿歌场景下用 | 否 | string | 最大长度:300 |
| freeFlag | 是否免费 0 否 1 是 默认为0 | 是 | int | |
| resAddress | 资源文件地址,如果开发者的资源地址不是时效性的,则可以通过该字段直接返回,可以避免后续再次查询资源URL的意图调用。 | 否 | string | 最大长度:512 |
| link | 资源的deeplink跳转地址。可选字段 | 否 | Interaction | |
| lyricAddress | 歌词文件地址,儿歌场景下用。 | 否 | string | 最大长度:512 |
| description | 节目描述信息 | 否 | string | 最大长度:2048 |
| releaseDate | 日期格式, yyyy-MM-dd | 否 | string(DateFormatString) | |
| icon | 作品的ICON图片URL | 否 | ImageInfo | |
| firstClass | 一级分类,在有声垂类下,当前分为有声(AUDIO)、儿童(CHILD)。 | 否 | string | 最大长度:64,枚举值: AUDIO, CHILD |
| secondClass | 二级分类,有声垂类:电台、小说、儿童、相声、评书、公开课、脱口秀、有声书、小品、演讲、诗歌、戏曲、历史、人文、广播剧、咨询、讲座、其它 儿童类:故事、英语、国学、百科、课堂、早教、育儿、声音、唐诗宋词、其它。一个节目属于多个分类,则多个分类以|分隔 | 否 | string | 最大长度:64 |
| thirdClass | 三级分类或分类名,如小说类:武侠、穿越、言情、玄幻、官场、都市、重生、悬疑、灵异、历史、其它。一个节目属于多个分类,则多个分类以|分隔 | 否 | string | 最大长度:128 |
| age | 年龄段,如3~6岁 0~12岁 1 | 否 | string | 最大长度:16,枚举值: 1, 2, 3, 4, 5,6 |
| crowd | 适宜人群,分为CHILD(儿童),ADULT(成人)。 | 否 | string | 最大长度:32,枚举值: CHILD, ADULT |
| language | 欧美、小语种、日语、韩语、粤语、闽南语、华语、未知。 | 否 | string | 最大长度:16 |
| chapter | 该字段表示第几季的第几集,如第一季的第5集,默认为空,表示只有1集。 | 否 | int | |
| bought | 是否已经购买,0-未购买。 1-已购买搜索场景下该字段无效获取专辑的详情时该字段有效(APIKey为audio-albumDetail)。 | 否 | string | |
| extendValue | 扩展字段 | 否 | object |
收藏类、播放历史的扩展字段:
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| albumCode | 专辑ID | 是 | string | 最大长度:64 |
| albumName | 专辑名,如乌鸦与狐狸 | 是 | string | 最大长度:64 |
| contentId | 内容ID,每个专辑里面仅保存最后播放的节目。 | 否 | string | 最大长度:32 |
| contentName | 有声节目名。 | 是 | string | 最大长度:400 |
| chapter | 章节,是数字的第几章节。播放历史场景有效。 | 否 | int | |
| offsetTime | 上次播放的具体时间。播放历史场景必填,收藏场景下无效。 | 否 | string | 最大长度:64 |
| icon | 专辑ICON图片URL | 否 | ImageInfo | |
| firstClass | 一级分类,在有声垂类下,当前分为有声(AUDIO)、儿童(CHILD) | 否 | string | 最大长度:64,枚举值: AUDIO, CHILD |
| secondClass | 二级分类,有声垂类:电台、小说、儿童、相声、评书、公开课、脱口秀、有声书、小品、演讲、诗歌、戏曲、历史、人文、广播剧、咨询、讲座 儿童类:故事、英语、国学、百科、课堂、早教、育儿、声音、唐诗宋词一个节目属于多个分类,则多个分类以|分隔。 | 否 | string | 最大长度:64 |
| thirdClass | 三级分类或分类名,如小说类:武侠,穿越,言情,玄幻,官场,都市,重生,悬疑,灵异,历史一个节目属于多个分类,则多个分类以|分隔。 | 否 | string | 最大长度:128 |
| lastPlayTime | 时间格式,yyyyMMddHHmmssSSS。 | 是 | string(DateTimeFormatString) | / |
专辑的响应内容定义
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| albumCode | 专辑编码 | 是 | string | 最大长度:32 |
| albumName | 专辑名称 | 是 | string | 最大长度:300 |
| albumSubName | 专辑副名称 | 否 | string | 最大长度:300 |
| status | 歌曲状态,0:下线 1:上线 默认为1 | 是 | int | |
| artistCodes | 专辑里艺术家编码拼接的字符串,以|拼接 | 否 | string | 最大长度:1000 |
| artistNames | 专辑里艺术家名字拼接的字符串,以/拼接 | 是 | string | 最大长度:1000 |
| author | 作者 | 否 | string | 最大长度:300 |
| cpName | 开发者名称 | 否 | string | 最大长度:300 |
| songNum | 专辑内节目数目 | 否 | int | |
| description | 专辑描述信息 | 否 | string | 最大长度:2048 |
| releaseDate | 日期格式, yyyy-MM-dd | 否 | string(DateFormatString) | |
| icon | 专辑或作品的ICON图片URL | 是 | ImageInfo | |
| firstClass | 一级分类,在有声垂类下,当前分为有声(AUDIO)、儿童(CHILD) | 否 | string | 最大长度:64,枚举值: AUDIO, CHILD |
| secondClass | 二级分类,有声垂类:电台、小说、儿童、相声、评书、公开课、脱口秀、有声书、小品、演讲、诗歌、戏曲、历史、人文、广播剧、咨询、讲座、其它 儿童类:故事、英语、国学、百科、课堂、早教、育儿、声音、唐诗宋词、其它一个节目属于多个分类,则多个分类以|分隔 | 否 | string | 最大长度:64 |
| thirdClass | 三级分类或分类名,如小说类:武侠、穿越、言情、玄幻、官场、都市、重生、悬疑、灵异、历史、其它。一个节目属于多个分类,则多个分类以|分隔 | 否 | string | 最大长度:128 |
| age | 年龄段,如3~6岁 | 否 | string | 枚举值: 1, 2, 3, 4, 5,6 |
| crowd | 适宜人群,分为CHILD(儿童),ADULT(成人) | 否 | string | 最大长度:32,枚举值: CHILD, ADULT |
| language | 欧美、小语种、日语、韩语、粤语、闽南语、华语、未知 | 否 | string | 最大长度:16 |
| link | 资源的deeplink跳转地址。可选字段 | 否 | Interaction | |
| chargeType | 专辑支持的购买类型,0是免费,1是整个专辑购买,2是分集购买 | 是 | int | 枚举值: 0,1,2 |
| relateCpSkuId | 商品Id | 否 | string(CpSkuIdDef) | |
| buyCount | 已购集数(如果是整专辑购买,那么填写为totalcount, 如果是分集购买,那么填写为真实购买集数)获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| bought | 默认为0,整专辑购买时,填写1,分集购买填写0获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| origPrice | 原始价格获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| price | 普通用户价格获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| memberPrice | 会员价格获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| audition | 前多少集免费获取专辑的详情时该字段有效(APIKey为audio-albumDetail) | 否 | string | |
| complete | 专辑的状态,如0更新 、1 完结,默认值是1 | 否 | int | |
| extendValue | 扩展字段 | 否 | object |
返回电台类参数名称
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| radioCode | 电台 id | 是 | string | / |
| radioName | 电台名称 | 是 | string | / |
| radioSubName | 电台别名,如芒果台 | 否 | string | / |
| status | 节目状态,0:下线 1:上线2:不可用(可能是已删除或没版权), 默认为1 | 否 | int | / |
| artistCodes | 艺术家编码拼接的字符串,以|拼接。 | 否 | string | 最大长度:1000 |
| artistNames | 艺术家名字拼接的字符串,以/拼接。 | 否 | string | 最大长度:1000 |
| icon | 电台的图片URL | 否 | ImageInfo | / |
| parentFmid | 父电台 id,非 0 时说明该电台是子电台。 | 否 | int | / |
| fmFrequency | 电台的频道,如FM88.8 | 否 | string | / |
| resAddress | 资源文件地址,如果开发者的资源地址不是时效性的,则可以通过该字段直接返回,可以避免后续再次查询资源URL的意图调用。 | 是 | string | 最大长度:512 |
| link | 资源的deeplink跳转地址。可选字段。 | 否 | Interaction | / |
| firstClass | 一级分类,在有声垂类下,固定为AUDIO,默认值为AUDIO。 | 否 | string | 最大长度:64,枚举值: AUDIO |
| secondClass | 二级分类,在有声垂类下,固定为电台,默认值为电台。 | 否 | string | 最大长度:64,枚举值: 电台 |
| thirdClass | 三级分类或分类名,如 2:公共电台 6:有声电台 7:名人电台,以实际取值为准一个节目属于多个分类,则多个分类以|分隔。 | 否 | string | 最大长度:128 |
| freeFlag | 是否免费 0 否 1 是 默认为0 | 否 | int | / |
| extendValue | 扩展字段 | 否 | object | / |
艺术家的响应内容定义
| 成员名称 | 描述 | 是否必选 | 类型 | 取值范围 |
| artistCode | 艺术家编码 | 是 | string | 最大长度:32 |
| artistName | 艺术家名称 | 是 | string | 最大长度:300 |
| artistSubName | 艺术家别名 | 否 | string | 最大长度:300 |
| status | 歌曲状态,0:下线 1:上线 2:已删除或无版权 默认为1。 | 是 | int | / |
| artistSex | 艺术家性别,0:男 1:女 2:组合 3:未知 | 否 | int | / |
| icon | 专辑或作品的ICON图片URL | 否 | ImageInfo | / |
| description | 艺术家描述信息 | 否 | string | 最大长度:2048 |
| extendValue | 扩展字段 | 否 | object |