# 接口规范
# 调用方式
请求方式: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 值 |
# 常见错误码列表
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 | 查询分类列表失败 |