# 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"
}