# 接口规范

# 调用方式

请求方式:GET、POST

请求地址

接入类型 请求地址
接入点 1 https://cpapi-i.yuewen.com
接入点 2 https://cpapi-n.yuewen.com

接入点 1 支持动态 CDN 的就近接入能力,速度优于接入点 2,请优先使用,如果接入点 1 出现故障,请路由至接入点 2。

请求头:

说明 类型 必填 说明
Content-Type string application/x-www-form-urlencoded

请求和响应的字符集编码均为 UTF-8

# 请求通用参数

通用入参:以下参数在所有接口调用均需传入,各接口不再重复说明。

参数 类型 必填 说明
appflag string 接入方唯一标识,在阅文开放平台获取的 appflag(参考阅文开放平台接入指南
timestamp int 服务器当前 unix 时间戳(秒),接口允许时间差为 ±300 秒
sign string 签名(参考签名算法

# 通用返回字段

通用出参:以下参数在所有接口返回值中均存在,各接口不再重复说明。

参数 类型 说明 业务说明
code int 返回码 业务状态码,0 为成功,其它参考错误码列表
msg string 返回信息 业务状态码对应的信息
data any 结构体 各接口返回对象

# 签名算法

为了确保接口调用过程中的安全性,所有接口都需要携带请求签名,接口会根据请求参数,对签名进行验证,并拒绝签名不合法的请求,签名过程如下: 备注:获取 appflag 与 appsecret(参考阅文开放平台接入指南

步骤 说明
1 本次调用接口请求参数(包含通用参数与业务参数但不包含 sign 参数)的参数名(key)首字母以 ASCII 升序排列,首字母相同则从左往右使用下个字母,以此类推
2 排序后的结果按照参数名(key)参数值(value)进行拼接,不做任何编码,不添加其它字符(格式:key1value1key2value2…keyNvalueN)得到参数字符串 S1
3 在参数字符串 S1 头部拼接 appsecret,得到签名字符串 S2
4 对签名字符串 S2 使用 MD5 算法获取哈希值后转为大写,即为通用入参的 sign 值

各语言签名示例 (opens new window)

# 常见错误码列表

code 说明
0 成功
1 通用失败
403 appflag 错误,或业务配置问题
404 接口不存在
429 请求过于频繁,QPS 超过限制
500 系统内部错误,需咨询阅文方对接人
1000 需要用户的接口(如购买)未传 openid
1001 请求参数错误,具体看 msg 描述
1005 签名 sign 字段验签失败
1006 当前 ip 不在白名单,可登录阅文开放平台或联系阅文方对接人进行配置
1007 未授权的合作模式或合同过期等:联系阅文方对接人配置
1009 timestamp 字段与当前时间相差超过 ±300 秒
1021 当前应用没有访问此 api 的权限:联系阅文方对接人开通
10010 cbid 错误或对应的书籍已下架
10011 ccid 错误或对应的章节已下架
10012 获取收费章节失败
10013 书籍不支持 epub 格式
10014 EPUB 书籍不支持获取章节列表, 请通过 getepuburl 下载文件
10043 传入的章节全部为免费或已购买
10055 书籍正在限免,不可购买
10056 购买失败
10057 购买价格不能低于阅文最低价格
10058 购买内容不同但订单号重复
10060 获取章节正文内容失败
10081 获取用户信息失败
10082 解析用户信息失败
10120 当前应用下未授权任何书籍
10190 当前应用下暂无折扣数据
10208 查询开始时间超过一个月
10210 查询时间段长度超过限制
10213 获取书籍列表失败
10600 查询智能标签失败
10700 查询分类列表失败