1. 有声书-语音搜索专辑列表(audio-search)

1.1 用户界面

手机

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

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

1.2 请求

有声读物查询请求:

1、模糊搜索意图,意图名:apiKey=voice-search。

上述场景需要返回专辑ID列表,如果开发者已经提供元数据给HAG,可不实现该接口。

2、模糊搜索场景下返回专辑ID列表的场景,不需要支持分页,支持配置最大返回多少条记录,默认最多返回50个专辑记录;最大返回多少条专辑记录,通过pageSize字段传给开发者。

3、参数字段名字说明

请求报文样例:

  1. {
  2.    "slots": {
  3.        "albumName": {
  4.            "name": "albumName",
  5.            "slotType": "string",
  6.            "values": [{
  7.                "real": "大秦帝国之纵横"
  8.            }]
  9.        },
  10.        "artistName": {
  11.            "name": "artistName",
  12.            "slotType": "string",
  13.            "values": [{
  14.                "real": "孙皓晖"
  15.            }]
  16.        },
  17.        "category": {
  18.            "name": "category",
  19.            "slotType": "string",
  20.            "values": [{
  21.                "real": "历史小说"
  22.            }]
  23.        },
  24.        "pageSize": {
  25.            "name": "pageSize",
  26.            "slotType": "string",
  27.            "values": [{
  28.                "real": "50"
  29.            }]
  30.        },
  31.        "keyword": {
  32.            "name": "keyword",
  33.            "slotType": "string",
  34.            "values": [{
  35.                "real": "新闻广播"
  36.            }]
  37.        },
  38.        "province": {
  39.            "name": "province",
  40.            "slotType": "string",
  41.            "values": [{
  42.                "real": "江苏省"
  43.            }]
  44.        },
  45.        "city": {
  46.            "name": "city",
  47.            "slotType": "string",
  48.            "values": [{
  49.                "real": "南京市"
  50.            }]
  51.        }
  52.    }
  53. }
成员名称描述是否必选类型取值范围
albumName专辑名否string最大长度:32
artistName艺术家名否string最大长度:32
category分类名否string最大长度:32
chapter章节否string最大长度:16
pageSize分页大小限制。不携带时表示默认值为50。否string最大长度:16

1.3 响应

有声垂类的查询响应

响应报文样例:

  1. {
  2.    "totalCount": 30,
  3.    "audioItemList": [{
  4.        "stream": {
  5.            "url": "xxx"
  6.        },
  7.        "metadata": {
  8.            "contentType": "2",
  9.            "source": "华为音乐",
  10.            "contentExInfo": {}
  11.        }
  12.    }]
  13. }
成员名称描述是否必选类型取值范围
totalCount返回专辑类资源总数(不分页),默认最大值50条,根据输入参数pageSize可返回不超过pageSize的条数。是long最小值:1,最大值:1000
next下一条分页,不携带时没有更多的数据否string最大长度:16
audioItemList返回节目/专辑类资源列表信息是AudioPlayerAudioWithMetaItem[]

2. 有声书-查询专辑详情,获取专辑的节目列表(audio-albumDetail)

2.1 请求

有声读物查询请求:

1、根据专辑ID返回专辑里面的节目列表,意图名apiKey=audio-albumDetail,如果开发者已经提供元数据给HAG,可不实现该接口;

2、根据专辑ID查询有声节目列表的场景,需要支持分页;分页请求参数startIndex和pageSize参数;

3、参数字段名字说明:

请求报文样例:

  1. {
  2.    "albumCode": {
  3.        "name": "albumCode",
  4.        "slotType": "string",
  5.        "values": [{
  6.            "real": "xx"
  7.        }]
  8.    },
  9.    "chapter": {
  10.        "name": "chapter",
  11.        "slotType": "string",
  12.        "values": [{
  13.            "real": "1"
  14.        }]
  15.    },
  16.    "startIndex": {
  17.        "name": "startIndex",
  18.        "slotType": "string",
  19.        "values": [{
  20.            "real": "1"
  21.        }]
  22.    },
  23.    "pageSize": {
  24.        "name": "pageSize",
  25.        "slotType": "string",
  26.        "values": [{
  27.            "real": "50"
  28.        }]
  29.    },
  30.    "orderBy": {
  31.        "name": "orderBy",
  32.        "slotType": "string",
  33.        "values": [{
  34.            "real": "0"
  35.        }]
  36.    }
  37. }
成员名称描述是否必选类型取值范围
albumCode专辑的唯一编码,用于获取专辑里面的节目列表。否string最大长度:32
chapter章节。取第几章节。数字描述。否string最大长度:16
startIndex分页起始下标。不携带时表示从第1条开始查询。否string最大长度:16
pageSize分页大小限制。不携带时表示默认值为50。否string最大长度:16
orderBy排序规则。0代表正序,1代表逆序,不携带时表示正序。否string最大长度:16

2.2 响应

有声垂类的查询响应

响应报文样例:

  1. {
  2.    "audioItemList": [{
  3.        "stream": {
  4.            "url": "xxx"
  5.        },
  6.        "metadata": {
  7.            "contentType": "19",
  8.            "source": "华为音乐",
  9.            "contentExInfo": {}
  10.        }
  11.    }]
  12. }
成员名称描述是否必选类型取值范围
next分页场景下,返回给业务侧,下一页请求的起始值。否string最大长度:16
page分页场景下,返回给业务侧当前页页码,不携带时表示没有分页。否string最大长度:16
totalCount返回本查询意图场景下,查询到的资源记录总数,不是本次请求返回的记录数,用于支持分页查找。否long/
audioItemList返回专辑中的节目列表详情,如果资源的URL没有失效时间,可以直接在本结构体中一并返回。是AudioPlayerAudioWithMetaItem[]/
parentAlbum返回专辑本身的信息(仅在voice-albumDetail查询时有效,且必填。)否AudioPlayerAudioMetaData/

3. 有声书-获取节目资源URL(audio-queryContentUrl)

3.1 请求

有声读物查询请求:

1、根据节目ID返回节目URL和节目的资源描述,意图名apiKey=audio-queryContentUrl,如果开发者已经提供带有URL的元数据给HAG,可不实现该接口;

2、参数字段名字说明:contentCode:有声节目ID,唯一标示一个有声节目的ID。

请求报文样例:

  1. {
  2.    "contentCode": {
  3.      "name": "contentCode",
  4.      "slotType": "string",
  5.      "values": [
  6.        {"real":"yy"}
  7.      ]
  8.    }
  9. }
成员名称描述是否必选类型取值范围
contentCode有声节目的唯一编码,用于获取有声节目的URL和节目的资源描述信息。否string最大长度:32
albumCode有声节目的专辑ID否string最大长度:32

3.2 响应

有声垂类查询节目资源路径的响应

响应报文样例:

  1. {
  2.    "audioItemList": [{
  3.        "stream": {
  4.            "url": "xxx"
  5.        }
  6.    }]
  7. }
成员名称描述是否必选类型取值范围
audioItemList返回节目资源URL是
AudioPlayerAudioWithMetaItem[]/

4. 结构

4.1 AudioPlayerWithoutMetaItem

有声节目的资源URL

成员名称描述是否必选类型取值范围
stream播放流信息,单独查询某个节目的URL时,采取如下字段返回给端侧播放器播放地址在取节目URL时或者查询广播电台场景下是必填,其他场景下是可选。否AudioPlayStream/

4.2 AudioPlayerAudioWithMetaItem

音频播放条目(带元数据)

成员名称描述是否必选类型

取值范围

stream播放流信息,单独查询某个节目的URL时,采取如下字段返回给端侧播放器播放地址在取节目URL时或者查询广播电台场景下是必填,其他场景下是可选。否AudioPlayStream
metadata音频元数据否AudioPlayerAudioMetaData

4.3 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 有声专辑扩展字段(除去电台)。是

如下结构任一:

AudioContentAlbumExInfo,

AudioContentRadioExInfo,

AudiobookExInfo,

AudioContentPlayListExInfo,

AudioContentArtistExInfo。


4.4 AudioPlayStream

播放流信息,单独查询某个节目的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,枚举值:
  krc,
  lrc,
  lrclan

 

4.5 AudiobookExInfo

节目的响应内容定义:

成员名称描述是否必选类型取值范围
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
3~6岁 2
6~12岁 3
12~18岁 4
gt 18岁 5
3~12岁 6

否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

4.6 AudioContentPlayListExInfo

收藏类、播放历史的扩展字段:

成员名称描述是否必选类型取值范围
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)/

4.7 AudioContentAlbumExInfo

专辑的响应内容定义

成员名称描述是否必选类型取值范围
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岁
0~12岁 1
3~6岁 2
6~12岁 3
12~18岁 4
gt 18岁 5
3~12岁 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

4.8 AudioContentRadioExInfo

返回电台类参数名称

成员名称描述是否必选类型取值范围
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/

4.9 AudioContentArtistExInfo

艺术家的响应内容定义

成员名称描述是否必选类型取值范围
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