# API 接口
# 获取全量音频列表
简要描述:获取全量音频列表
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioList
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
pageNo | 是 | int | 页码 |
pageSize | 是 | int | 分页大小 |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
aDID | long | 音频ID | 音频唯一ID |
cBID | long | 书籍ID | 音频对应的书籍唯一ID |
updateDate | string | 更新时间 | 更新时间 |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioList&appKey=xxx&appToken=xxx&pageNo=xxx&pageSize=xxx
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"resultData": [
{
"aDID": 111,
"cBID": 222,
"updateDate": "xxx"
}
],
"totalCount": 1
}
}
# 获取音频基本信息
简要描述:获取音频书的基本信息
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioBase
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
ADID | 是 | long | 音频ID |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
aDID | long | 音频ID | 音频唯一ID |
audioName | string | 音频名称 | 音频名称 |
anchor | string | 播客 | 播客 |
allAudios | int | 总章节数 | 总章节数 |
cBID | long | 书籍ID | 音频对应的书籍唯一ID |
intro | string | 简介 | 简介 |
chargeType | int | 收费方式 | 1:整本免费 2:整本收费 3:按集(章节)收费 |
startChargeChapterSort | int | 开始收费章节序号 | 章节sort >= startChargeChapterSort则章节收费 |
money | int | 价格 | 单位为分 |
status | int | 书籍音频状态 | 1:正常 -1:下架 |
createDate | string | 创建时间 | 创建时间 |
updateDate | string | 更新时间 | 更新时间 |
bitRate | int | 码率 | 码率 |
anchorID | long | 播客ID | 播客ID |
allChapterSize | double | 章节总大小 单位为 M | 章节总大小 单位为 M |
lastChapterId | long | 最新更新章节ID | 最新更新章节ID |
lastChapterName | string | 最新更新章节名 | 最新更新章节名 |
scheduleStatus | int | 进度状态 1:连载中,2:已完结 | 进度状态 1:连载中,2:已完结 |
categoryid | int | 分类ID | 分类ID |
categoryname | string | 分类名 | 分类名 |
coverUrl | string | 封面url | 封面url |
cPID | long | 来源方标识 | 来源方标识 |
checklevel | int | 审核等级 | 15:正常上架 -1/8/9:下架 |
ownCopyright | int | 是否自有版权 -1:非自有版权 1:自有版权 |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioBase&appKey=xxx&appToken=xxx&ADID=xxx
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"aDID": 111,
"audioName": "xxx",
"anchor": "xxx",
"allAudios": 111,
"cBID": 111,
"intro": "xxx",
"chargeType": 1,
"startChargeChapterSort": 1,
"money": 1,
"status": 1,
"createDate": "xxx",
"updateDate": "xxx",
"bitRate": 1,
"anchorID": 1,
"allChapterSize": 1,
"lastChapterId": 1,
"lastChapterName": "xxx",
"scheduleStatus": 1,
"categoryid": 1,
"categoryname": "xxx",
"coverUrl": "xxx",
"cPID": 1,
"checklevel": 1,
"ownCopyright": 1
}
}
# 获取音频章节列表
简要描述:获取音频章节列表
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudiochapterList
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
ADID | 是 | long | 音频唯一ID |
pageNo | 是 | int | 页码 |
pageSize | 是 | int | 分页大小 |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
aCID | long | 章节ID | 章节唯一ID |
aDID | long | 音频ID | 音频唯一ID |
name | string | 音频章节名称 | 音频章节名称 |
sort | int | 排序 | 排序 |
duration | int | 时长 | 时长 |
createDate | string | 创建时间 | 创建时间 |
updateDate | string | 更新时间 | 更新时间 |
size | double | 音频体积 | 单位为MB |
status | int | 状态 | 1:正常 非1:下架 |
chaptermd5 | string | 章节内容md5 | 章节内容md5 |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudiochapterList&appKey=xxx&appToken=xxx&pageNo=xxx&pageSize=xxx&ADID=xxx
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"resultData": [
{
"aCID": 111,
"name": "xxx",
"sort": 1,
"duration": 1,
"aDID": 111,
"createDate": "xxx",
"updateDate": "xxx",
"size": 1.1,
"status": 1,
"chaptermd5": "xxx"
}
],
"totalCount": 10
}
}
# 获取指定时间内更新音频
简要描述:获取指定时间内新上架或有更新的音频
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=listGroundAudios
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
startTime | 是 | string | 起始时间,格式:YYYY-MM-DD HH:mm:ss |
endTime | 是 | string | 截止时间,格式:YYYY-MM-DD HH:mm:ss |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
resultData | long[] | adid列表 | adid列表 |
totalCount | int | 总数 | 总数 |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=listGroundAudios&appKey=xxx&appToken=xxx&startTime=xxx&endTime=xxx
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"resultData": [
111
],
"totalCount": 1
}
}
# 获取指定时间内下架音频
简要描述:获取指定时间内下架的音频
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=listUnshelfAudios
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
startTime | 是 | string | 起始时间,格式:YYYY-MM-DD HH:mm:ss |
endTime | 是 | string | 截止时间,格式:YYYY-MM-DD HH:mm:ss |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
resultData | long[] | adid列表 | adid列表 |
totalCount | int | 总数 | 总数 |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=listUnshelfAudios&appKey=xxx&appToken=xxx&startTime=xxx&endTime=xxx
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"resultData": [
111
],
"totalCount": 1
}
}
# 获取临时“音频内容URL”
简要描述:获取临时音频内容URL,禁止向用户直接提供此URL
请求方式:GET(HTTPS)
请求地址:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioContent
请求参数:(查看通用请求参数)
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
ADID | 是 | long | 音频ID |
ACID | 是 | long | 音频章节ID |
返回字段:(查看通用返回字段)
字段名称 | 字段类型 | 说明 | 业务说明 |
---|---|---|---|
transientUrl | string | 音频内容临时URL | 存在有效期,每次请求都会返回新的URL |
expirationDate | string | 过期时间 | 过期时间,格式:YYYY-MM-DD HH:mm:ss |
请求示例:
https://api.yuewen.com/content/cp/ServiceBus.do?service=cpAudio&action=getAudioContent&ADID=1&ACID=10&appKey=xxx&appToken=XXX
返回示例:
{
"returnCode": 0,
"returnMsg": "Success",
"result": {
"expirationDate": "2022-09-27 12:55:21",
"transientUrl": "https://xxxxxx"
}
}
# 消费订单回传
简要描述:用户购买音频、章节后合作方需要将订单回传给阅文 注意:单用户多章购买时,请批量传入acids(单批次不建议超过500条),不要并发请求多次。因为接口加锁在adid+openid上,如果同一个用户、对一本书并发购买,可能导致某些请求失败。
请求方式:POST(HTTPS)
请求地址: (注意域名的差异)
https://cpapi-i.yuewen.com/api/v1/report/audio
请求参数:
请求参数 | 是否必须 | 类型 | 说明 |
---|---|---|---|
appflag | 是 | string | 接入方唯一标识,在阅文开放平台获取的 appflag(参考阅文开放平台接入指南) |
timestamp | 是 | int | 服务器当前 unix 时间戳(秒),接口允许时间差为 ±300 秒 |
sign | 是 | string | 签名,(参考数据回传签名算法) |
adid | 是 | string | 音频ID |
type | 是 | int | 购买类型:2整本购买,3按章(集)购买 |
acids | 否 | string | 按章购买时必传,章节价格取音频信息中的money字段 格式为:章节id:章节价格(单位有价币,用户充值获取的虚拟币,1元:100有价币) 多章以英文逗号分隔。例如:1111:5,222:5,3333:5 |
openid | 是 | string | 用户ID |
paymoney | 是 | int | 消费有价币 多章时为本次请求所有章节价格总和(有价币) 按本购买时为音频信息中的money字段 |
paytime | 是 | int | 消费时间戳(秒) |
orderid | 是 | string | 消费唯一订单号 |
返回字段:
无
请求示例:
- 使用场景1,音频信息字段 chargeType=3 按章购买: 用户user1按章批量购买了adid=10000的两个章节,acid为20000、20001,价格为每章10虚拟币(取自音频信息money字段),则请求示例如下:
curl POST 'https://cpapi-i.yuewen.com/api/v1/report/audio'
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appflag=test' \
--data-urlencode 'timestamp=1700000000' \
--data-urlencode 'sign=XXXXX' \
--data-urlencode 'adid=10000' \
--data-urlencode 'type=3' \
--data-urlencode 'acids=20000:10,20001:10' \
--data-urlencode 'openid=user1' \
--data-urlencode 'paymoney=20' \
--data-urlencode 'paytime=1700000000' \
--data-urlencode 'orderid=order1'
- 使用场景2,音频信息字段 chargeType=2 整本购买: 用户user1整本购买了音频adid=10000,整本价格1000虚拟币(取自音频信息money字段),则请求示例如下:
curl POST 'https://cpapi-i.yuewen.com/api/v1/report/audio'
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appflag=test' \
--data-urlencode 'timestamp=1700000000' \
--data-urlencode 'sign=XXXXX' \
--data-urlencode 'adid=10000' \
--data-urlencode 'type=2' \
--data-urlencode 'openid=user1' \
--data-urlencode 'paymoney=1000' \
--data-urlencode 'paytime=1700000000' \
--data-urlencode 'orderid=order1'
返回示例:
{
"code": 0,
"message": "Success"
}