# API 接口

# 获取全量书籍 ID 列表

简要描述: 获取合作方下所有书籍的 ID 列表,分页返回,每页 100 条,推荐定时请求每日 1 次。

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/idlist

请求参数:查看通用请求参数

请求参数 必须 类型 说明
page int 页码,正整数

返回字段:(查看通用返回字段

接口字段 类型 说明
cbids string[] 书籍 id 列表
page int 当前页
maxPage int 总页数

请求示例:

https://cpapi-i.yuewen.com/book/idlist?appflag=test&timestamp=1700000000&page=1&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "cbids": [
        "22135456000445102",
        "22149077000687902",
        "22149707000917202",
        "22109602000760102",
        "22113582000042902",
        "22120562000525102",
        "22166135000833302",
        "22105413000701402"
        ],
        "page": 1,
        "maxPage": 100
        },
        "msg": "成功"
        }

# 获取书籍基本信息

简要描述: 获取书籍信息,可以缓存到合作方服务器上

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/info

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid string 书籍 id

返回字段:(查看通用返回字段

接口字段 类型 说明
cbid string 书籍 id,书籍唯一标识
allWords int 全部正文章节的总字数
authorId string 作者 id,作者唯一标识
authorName string 作者笔名
freeType int 书籍一级分类 id:阅文分类 ID 和名称 (opens new window)
categoryId int 书籍二级分类 id:阅文分类 ID 和名称 (opens new window)
webpCoverUrl string 封面图片的 URL 地址(webp 格式,推荐使用)
coverUrl string 封面图片的 URL 地址
status int 连载状态: 50 为已完结,其它为连载中
subCategoryId int 书籍三级分类 id:阅文分类 ID 和名称 (opens new window)
title string 书籍名称
vipStatus int 一本作品是否已经开始收费的标识,可能存在是 VIP 作品但未添加 VIP 章节的情况 Vip 标志-1:公众 1:VIP
vipTime string 被设置为收费作品的时间
intro string 书籍简介(不超过 2000 字)
keyword string 关键词
auditStatus int 书籍审核状态:19 为审核通过,其它值为锁定/屏蔽
updateTime string 书籍更新时间,如章节更新、简介更新等,都会更新该时间
newChapterId string 最新章节 ID
newChapterName string 最新章节标题
site int 书籍在阅文的首发站点,可以体现授权来源 5:起点男生 1:创世中文网 2:云起书院 3:起点女生 6:阅文集团 9:起点文学 21:小说阅读网 22:潇湘书院 23:红袖添香 24:言情小说吧如果返回的值不在上述枚举,可以联系阅文产品技术查询值定义
form int 原创、出版书标识:-1 原创,1 出版
checkLevel int 标明书籍上架等级:15:正常作品。
11:有轻微风险的作品,避免除排行榜以外的人工/自动运营推荐。用户可以通过搜索、购买记录、书架等找到该书,书可以正常阅读、购买。
10:有一定风险的作品,避免全部的人工/自动运营推荐。用户可以通过搜索、购买记录、书架等找到该书,书可以正常阅读、购买。
9:中风险作品,避免全部的人工/自动运营推荐,避免让用户通过搜索等简单方式获取到。用户可以通过购买记录、书架等找到该书,书可以正常阅读、购买。
9 以下作品不可上架展示。
ChargeType int 购买类型:1 按章,2 按本
totalPrice int 按本购买总金额(分)
unitPrice int 每千字价格(分)
Isbn string 国际标准书号
publisher string 出版商
publishTime string 出版时间
supportFormat int 格式类型:1 仅支持 txt,2 仅支持 epub,3 支持 txt 和 epub
smartTagIds int[] 智能标签列表,需要调用 tagDetailInfoByTagId 接口获取标签具体信息。不是全部书都有智能标签。
tag struct 标签,可以体现一本书的特征或流派等信息(参考 tag 字段结构
discountInfo struct 单书限时折扣(参考 discountInfo 字段结构
batchBuyDiscountInfo struct 章节批量购买折扣[未配置该折扣时,不返回该字段] (batchBuyDiscountInfo 字段结构
vipDiscountInfo struct 会员折扣[未配置该折扣时,不返回该字段] (参考 vipDiscountInfo 字段结构

tag 字段结构

接口字段 类型 说明
tagId string 标签 id
tagName string 标签名字

discountInfo 字段结构

接口字段 类型 说明
dist_type int 折扣类型:1 按固定价,2 按比例折扣
price int dist_type=1:整本书价格,单位分;dist_type=2:书或章的折扣比例,0 免费,65 即 6.5 折,80 即 8 折,100 即原价
start_time int 折扣开始时间戳(秒)
end_time int 折扣结束时间戳(秒)

batchBuyDiscountInfo 字段结构

接口字段 类型 说明
startCount int 批量折扣区间开始章节数
endCount int 批量折扣区间结束章节数
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)

vipDiscountInfo 字段结构

接口字段 类型 说明
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)
endTime int 折扣结束时间戳(秒)

请求示例:

https://cpapi-i.yuewen.com/book/info?appflag=test&timestamp=1700000000&cbid=10000&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "cbid": "8626591604595403",
        "allWords": 392659,
        "authorId": "3635894803959601",
        "authorName": "雪妖精01",
        "freeType": 2,
        "categoryId": 30020,
        "coverUrl": "//qidian.qpic.cn/qdbimg/349573/c_8626591604595403/180",
        "status": 30,
        "subCategoryId": 30021,
        "title": "重生八零好时光",
        "vipStatus": 1,
        "vipTime": "2017-12-01 00:05:00",
        "intro": "林彩虹重生在大姐出嫁的那天。\r\n  看着热闹的家园她只觉得满目讽刺。\r\n  上辈子欠我的,辱我的,定要一一讨还。\r\n  只是这个出现在她面前要把她抱走的男人是怎么回事?",
        "keyword": "",
        "tag": [
        {
        "tagId": "31027",
        "tagName": "励志"
        },
        {
        "tagId": "31205",
        "tagName": "乡村爱情"
        }
        ],
        "auditStatus": 19,
        "updateTime": "2018-01-23 20:04:05",
        "newChapterId": "25948969462636627",
        "newChapterName": "第194章:热情",
        "site": 3,
        "form": -1,
        "checkLevel": 15,
        "ChargeType": 1,
        "totalPrice": 0,
        "unitPrice": 5,
        "Isbn": "1234567",
        "publisher": "XX出版社",
        "publishTime": "2000-01-01 00:00:00",
        "smartTagIds":[
        51002001,
        51000030,
        51000027,
        51000018,
        51000029,
        51000016,
        510001043,
        53000032
        ],
        "discountInfo": {
        "dist_type": 1,
        "price": 0,
        "start_time": 1516611600,
        "end_time": 1517216400
        },
        "batchBuyDiscountInfo": [
        {
        "startCount": 20,
        "endCount": 39,
        "price": 90,
        "startTime": 1693467295,
        "endTime": 1693467295
        },
        {
        "startCount": 40,
        "endCount": 59,
        "price": 80,
        "startTime": 1693467295,
        "endTime": 1693467295
        }
        ],
        "vipDiscountInfo": {
        "price": 90,
        "startTime": 1690790462,
        "endTime": 1753948862
        }
        },
        "msg": "成功"
        }

# 获取书籍的所有章节列表

简要描述: 获取书籍所有章节列表,含免费章节和付费章节,可以缓存到合作方服务器上

注意:本接口不返回章节是否已购买

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/chapterlist

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid string 书籍 id

返回字段:(查看通用返回字段

接口字段 类型 说明
cbid string 书 id
chapterList struct 章节列表信息 (参考 chapterList 字段结构

chapterList 字段结构

接口字段 类型 说明
cvid string 卷 id
vName string 卷名称
volumeSort int 卷序号
chapters struct 单章信息 (参考 chapters 字段结构

chapters 字段结构

接口字段 类型 说明
ccid string 章 id
chapterTitle string 章名称
chapterSort int 章序号
vipflag int 是否 VIP 章节,1 为 VIP 章节,0 为非 VIP 章节
freeStatus int vipStatus=1 且 freeStatus=1 是收费章节
vipStatus=1 且 freeStatus=0 是 VIP 中的免费章节
updateTime int 章节更新时间戳(秒)
prevCcid string 上一章章节 ID
nextCcid string 下一章章节 ID
originalWords int 章节字数(即章节第一次发布时的字数,不随章节修改变化,阅文返回的章节价格根据此字段值计算。)

请求示例:

https://cpapi-i.yuewen.com/book/chapterlist?appflag=test&timestamp=1700000000&cbid=10000&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "cbid": "22281178000299202",
        "chapterList": [
        {
        "cvid": "95696930835985160",
        "volumeSort": 1,
        "vName": "第一集 盘龙之戒",
        "chapters": [
        {
        "ccid": "95697008140694285",
        "chapterTitle": "第一章 小镇的早晨",
        "chapterSort": 1000001024,
        "vipflag": 0,
        "freeStatus": 0,
        "originalWords": 8929,
        "updateTime": 1211335591,
        "prevCcid": "0",
        "nextCcid": "95697008140759820"
        },
        {
        "ccid": "95697008140759820",
        "chapterTitle": "第二章 龙血战士家族(上)",
        "chapterSort": 1000002048,
        "vipflag": 0,
        "freeStatus": 0,
        "originalWords": 3710,
        "updateTime": 1211419784,
        "prevCcid": "95697008140694285",
        "nextCcid": "95697008140792588"
        }]
        }]
        },
        "msg": "成功"
        }

# 获取章节内容(免费模式)

简要描述: 获取指定章节内容,接口不会校验是否购买,直接返回已购买

注意:此接口仅针对免费合作模式,此接口返回的正文内容不可缓存,必须实时调用获取

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/chapter/getchapterinfoforfree

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid string 书籍 id
ccid string 章节 id
openid string 用户 id
withcontent int 是否返回章节内容(数据量较大,默认 0 不返回内容)

返回字段:(查看通用返回字段

接口字段 类型 说明
cbid string 书籍 id
ccid string 章节 id
chargeType int 收费类型:1 按章,2 按本
content string 作品正文(不超过 20,000 字)withcontent=1 时返回内容
isTaked int 购买状态:1 已购买,0 未购买
chapterName string 章节标题
updateTime int 章节更新时间戳(秒)
prevCcid string 上一章章节 ID
nextCcid string 下一章章节 ID
chapterOrder int 章节序号(当有章节被屏蔽、调序时,该序号可能会变化)
wordsCount int 章节字数(即章节第一次发布时的字数,不随章节修改变化,阅文返回的章节价格根据此字段值计算。)
freeStatus int vipStatus=1 且 freeStatus=1 是收费章节
vipStatus=1 且 freeStatus=0 是 VIP 中的免费章节
vipStatus int 是否 VIP 章节,1 为 VIP 章节,0 为非 VIP 章节
chapterPrice int 章节价格(虚拟币)
bookPrice int 整本书价格(虚拟币),按本购买时有效

请求示例:

https://cpapi-i.yuewen.com/chapter/getchapterinfoforfree?appflag=test&timestamp=1700000000&cbid=10000&ccid=20000&openid=user1&withcontent=1&sign=XXXXX

返回示例:

{
    "code":0,
    "data":{
        "ccid":"107489188751328952",
        "cbid":"22153207000285602",
        "chapterName":"第八十三章 夜车",
        "updateTime":1406822808,
        "prevCcid":"107489188751296185",
        "nextCcid":"107489188751345337",
        "chapterOrder":1,
        "chargeType":1,
        "wordsCount":2951,
        "freeStatus":1,
        "vipStatus":1,
        "isTaked":1,
        "chapterPrice":14,
        "bookPrice":0,
        "content":"在学识方面,没有人能胜过苟寒食,能让他佩服的人也很少,今夜,陈长生做到了这一点。\r\n  他看着苟寒食说道:“不敢当。”\r\n  “你当得起。”苟寒食看着这个先前没有引起自己任何重视的少年,有些感慨。\r\n  他想起惊才绝艳的大师兄,想到这场婚事,竟发现悄无声息间,自己对师兄的信心竟有些动摇。\r\n  “刚才殿下最后那……”他..."
    },
    "userInfo":{
        "openid":"1"
    },
    "msg":"成功"
}

# 获取章节内容(付费模式)

简要描述: 获取指定章节内容,如果是付费章节需要传入 openid,接口会校验并返回购买状态,未购买的付费章节仅返回预览正文内容

注意:此接口返回的正文内容不可缓存,必须实时调用获取

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/chapter/getchapterinfo

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid string 书籍 ID
ccid string 章节 ID
openid string 用户 ID
withcontent int 是否返回章节内容(数据量较大,默认 0 不返回内容)

返回字段:(查看通用返回字段

接口字段 类型 说明
cbid string 书籍 ID
ccid string 章节 ID
chargeType int 收费类型:1 按章,2 按本
content string 章节正文内容(<20,000 字),withcontent=1 时返回内容
isTaked int 购买状态:1 已购买,0 未购买
chapterName string 章节标题
updateTime int 章节更新时间戳(秒)
prevCcid string 上一章章节 ID
nextCcid string 下一章章节 ID
chapterOrder int 章节序号(当有章节被屏蔽、调序时,该序号可能会变化)
wordsCount int 章节字数(即章节第一次发布时的字数,不随章节修改变化,阅文返回的章节价格根据此字段值计算。)
vipStatus int 是否 VIP 章节,1 为 VIP 章节,0 为非 VIP 章节
freeStatus int vipStatus=1 且 freeStatus=1 是收费章节
vipStatus=1 且 freeStatus=0 是 VIP 中的免费章节
chapterPrice int 章节价格(虚拟币)
bookPrice int 整本书价格(虚拟币),按本购买时有效
rawChapterPrice int 章节原始价格 [未配置批量折扣或会员折扣时,不返回该字段]
batchBuyDiscountInfo struct 章节批量购买折扣[未配置该折扣时,不返回该字段] (参考 batchBuyDiscountInfo 字段结构
vipDiscountInfo struct 会员折扣[未配置该折扣时,不返回该字段] (参考 vipDiscountInfo 字段结构

batchBuyDiscountInfo 字段结构

接口字段 类型 说明
startCount int 批量折扣区间开始章节数
endCount int 批量折扣区间结束章节数
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)

vipDiscountInfo 字段结构

接口字段 类型 说明
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)
endTime int 折扣结束时间戳(秒)

如果在正文内容中包含以下字符,请您自行转义字符:

字符 转义符号 字符名称
&amp; & & 符号
&lt; < 小于号
&gt; > 大于号
&quot; " 双引号
&apos; ' 单引号

请求示例:

https://cpapi-i.yuewen.com/chapter/getchapterinfo?appflag=test&timestamp=1700000000&cbid=10000&ccid=20000&openid=user1&withcontent=1&sign=XXXXX'

返回示例:

{
	"code": 0,
	"data": {
		"ccid": "107489188751328952",
		"cbid": "22153207000285602",
		"chapterName": "第八十三章夜车",
		"updateTime": 1406822808,
		"prevCcid": "107489188751296185",
		"nextCcid": "107489188751345337",
		"chapterOrder": 1,
		"chargeType": 1,
		"wordsCount": 2951,
		"freeStatus": 1,
		"vipStatus": 1,
		"isTaked": 0,
		"chapterPrice": 14,
		"bookPrice": 0,
		"content": "在学识方面,没有人能胜过苟寒食,能让他佩服的人也很少,今夜,陈长生做到了这一点。\r\n  他看着苟寒食说道:“不敢当。”\r\n  “你当得起。”苟寒食看着这个先前没有引起自己任何重视的少年,有些感慨。\r\n  他想起惊才绝艳的大师兄,想到这场婚事,竟发现悄无声息间,自己对师兄的信心竟有些动摇。\r\n  “刚才殿下最后那……”他...",
		"rawChapterPrice": 10,
		"batchBuyDiscountInfo": [{
				"startCount": 20,
				"endCount": 39,
				"price": 90,
				"startTime": 1693467295,
				"endTime": 1693467295
			},
			{
				"startCount": 40,
				"endCount": 59,
				"price": 80,
				"startTime": 1693467295,
				"endTime": 1693467295
			}
		],
		"vipDiscountInfo": {
			"price": 90,
			"startTime": 1690790462,
			"endTime": 1753948862
		}
	},
	"userInfo": {
		"openid": "1"
	},
	"msg": "成功"
}

# 批量获取章节列表(付费模式)

简要描述: 批量获取章节信息,单次上限 200 章,含购买校验,不含正文内容

请求方式:POST

请求地址

https://cpapi-i.yuewen.com/chapter/getchapterinfobatch

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid long 书籍 ID
openid string 用户 ID (查询合作方用户是否购买章节,必须传递 openid。)
ccids string 章节 ID,多个以|分隔

返回字段:(查看通用返回字段

接口字段 类型 说明
ccid string 章节唯一 ID
cbid string 书籍唯一 ID
chapterName string 章节标题
updateTime int 章节更新时间戳(秒)
prevCcid string 上一章章节 ID
nextCcid string 下一章章节 ID
chapterOrder int 章节序号(当有章节被屏蔽、调序时,该序号可能会变化)
chargeType int 收费类型:1 按章购买,2 按本购买
wordsCount int 章节字数(即章节第一次发布时的字数,不随章节修改变化,阅文返回的章节价格根据此字段值计算。)
vipStatus int 是否 VIP 章节,1 为 VIP 章节,0 为非 VIP 章节
freeStatus int vipStatus=1 且 freeStatus=1 是收费章节
vipStatus=1 且 freeStatus=0 是 VIP 中的免费章节
isTaked int 购买状态:1 已购买,0 未购买
chapterPrice int 章节价格(虚拟币)
bookPrice int 整本书价格(虚拟币),按本购买时有效
rawChapterPrice int 章节原始价格 [未配置批量折扣或会员折扣时,不返回该字段]
batchBuyDiscountInfo struct 章节批量购买折扣[未配置该折扣时,不返回该字段] (参考 batchBuyDiscountInfo 字段结构
vipDiscountInfo struct 会员折扣[未配置该折扣时,不返回该字段] (参考 vipDiscountInfo 字段结构

batchBuyDiscountInfo 字段结构

接口字段 类型 说明
startCount int 批量折扣区间开始章节数
endCount int 批量折扣区间结束章节数
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)

vipDiscountInfo 字段结构

接口字段 类型 说明
price int 折扣比例,如:80 表示 8 折
startTime int 折扣开始时间戳(秒)
endTime int 折扣结束时间戳(秒)

请求示例:

https://cpapi-i.yuewen.com/chapter/getchapterinfobatch

Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'appflag=test' \
--data-urlencode 'timestamp=1700000000' \
--data-urlencode 'sign=XXXXX' \
--data-urlencode 'cbid=10000' \
--data-urlencode 'ccids=20000|20001' \
--data-urlencode 'openid=user1' \

返回示例:

{
	"code": 0,
	"data": [{
			"ccid": "295695656xxxxxx12",
			"cbid": "10953601xxxxxx3",
			"chapterName": "测恢1",
			"updateTime": 1530196816,
			"prevCcid": "2956955xxxxxxx98",
			"nextCcid": "295695xxxxxx488",
			"chapterOrder": 3000,
			"chargeType": 1,
			"wordsCount": 1896,
			"freeStatus": 0,
			"vipStatus": 0,
			"isTaked": 1,
			"chapterPrice": 0,
			"bookPrice": 0,
			"rawChapterPrice": 10,
			"batchBuyDiscountInfo": [{
					"startCount": 20,
					"endCount": 39,
					"price": 90,
					"startTime": 1693467295823,
					"endTime": 1693467295823
				},
				{
					"startCount": 40,
					"endCount": 59,
					"price": 80,
					"startTime": 1693467295,
					"endTime": 1693467295
				}
			],
			"vipDiscountInfo": {
				"price": 90,
				"startTime": 1690790462,
				"endTime": 1753948862
			}
		},
		{
			"ccid": "2956954xxxxxxx071",
			"cbid": "109536018xxxxxxx3",
			"chapterName": "慧廉6",
			"updateTime": 1530196738,
			"prevCcid": "0",
			"nextCcid": "295695516xxxxxxx6",
			"chapterOrder": 0,
			"chargeType": 1,
			"wordsCount": 1856,
			"freeStatus": 0,
			"vipStatus": 0,
			"isTaked": 1,
			"chapterPrice": 0,
			"bookPrice": 0,
			"rawChapterPrice": 10,
			"batchBuyDiscountInfo": [{
					"startCount": 20,
					"endCount": 39,
					"price": 90,
					"startTime": 1693467295823,
					"endTime": 1693467295823
				},
				{
					"startCount": 40,
					"endCount": 59,
					"price": 80,
					"startTime": 1693467295,
					"endTime": 1693467295
				}
			],
			"vipDiscountInfo": {
				"price": 90,
				"startTime": 1690790462,
				"endTime": 1753948862
			}
		],
	},
	"msg": "成功"
}

# 购买书籍或章节(付费模式)

简要描述: 用户购买书籍或章节,同时使用有价币和免费币,需要将订单回传给阅文。如果合作模式没有免费币(找商务确认),请传递 0。

注意:单用户多章购买时,请批量传入 ccids,不要并发请求多次。因为接口加锁在 cbid+openid 上,如果同一个用户、对一本书并发购买,可能导致某些请求失败。 批量单次请求失败,则批量章节都未购买成功。

请求方式:POST

请求地址

https://cpapi-i.yuewen.com/booktake/authenfree

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid string 书籍 id
type int 购买类型:1 按章购买,2 按本购买
ccids string 按章购买时,购买的章节 id 列表,格式为:章节 id:章节价格(虚拟币),多章以英文逗号分隔。例如:1111:5,222:5,3333:5
openid string 用户 id
paymoney int 消费的有价币金额(有价币)
paymoneyfree int 消费的免费币金额(免费币)
paytime int 消费时间戳(秒)
orderid string 消费唯一订单号

返回字段:(查看通用返回字段

请求示例:

使用场景 1,书籍信息字段 chargetype=1 按章购买:

用户 user1 按章批量购买了 cbid=10000 的两个章节,ccid 为 20000、20001,两章价格分别为 10、15 虚拟币(取自章节信息 chapterPrice 字段),用户使用了 20 有价币+5 免费币,则请求示例如下:

https://cpapi-i.yuewen.com/booktake/authenfree
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'appflag=test' \
        --data-urlencode 'timestamp=1700000000' \
        --data-urlencode 'sign=XXXXX' \
        --data-urlencode 'cbid=10000' \
        --data-urlencode 'type=1' \
        --data-urlencode 'ccids=20000:10,20001:15' \
        --data-urlencode 'openid=user1' \
        --data-urlencode 'paymoney=20' \
        --data-urlencode 'paymoneyfree=5' \
        --data-urlencode 'paytime=1700000000' \
        --data-urlencode 'orderid=order1'

使用场景 2,书籍信息字段 chargetype=2 整本购买:

用户 user1 整本购买了书籍 cbid=10000,整本价格 1000 虚拟币(取自书籍信息 totalPrice 字段),用户使用了 800 有价币+200 免费币,则请求示例如下:

https://cpapi-i.yuewen.com/booktake/authenfree
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'appflag=test' \
        --data-urlencode 'timestamp=1700000000' \
        --data-urlencode 'sign=XXXXX' \
        --data-urlencode 'cbid=10000' \
        --data-urlencode 'type=2' \
        --data-urlencode 'openid=user1' \
        --data-urlencode 'paymoney=800' \
        --data-urlencode 'paymoneyfree=200' \
        --data-urlencode 'paytime=1700000000' \
        --data-urlencode 'orderid=order1'

返回示例:

{
        "code":0,
        "msg":"成功"
        }

# 获取指定时间内下架书籍

简要描述: 获取指定时间段内下架书籍,推荐定期请求每 10 分钟 1 次,建议起止时间间隔不超过 2 小时,多次调用起止时间边界最好存在一定重合。(参考书籍更新/上架/下架规则

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/getunshelfbooklist

请求参数:查看通用请求参数

请求参数 必须 类型 说明
starttime int 起始时间(uninx 时间戳),单位秒
endtime int 截止时间(uninx 时间戳),单位秒,不传默认当前时间

返回字段:(查看通用返回字段

接口字段 类型 说明
cbids string[] 已下架的作品 ID 列表
totalCount int 下架总数

请求示例:

https://cpapi-i.yuewen.com/book/getunshelfbooklist?appflag=test&timestamp=1700000000&starttime=170000000&endtime=1700003600&sign=XXXXX'

返回示例:

{
        "code": 0,
        "data": {
        "cbids": [
        "21945341000109102",
        "22153207000285602"
        ],
        "totalCount": 2
        },
        "msg": "成功"
        }

# 获取指定时间内更新与上架的书籍

简要描述: 获取指定时间段内更新的书籍(新增授权、信息变更、章节变更的书籍),建议每 10 分钟 1 次请求、起止时间间隔不超过 2 小时,多次调用起止时间边界最好存在一定重合。(参考书籍更新/上架/下架规则

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/getupdatebooklist

请求参数:查看通用请求参数

请求参数 必须 类型 说明
starttime int 起始时间(uninx 时间戳),单位秒
endtime int 截止时间(uninx 时间戳),单位秒,不传默认当前时间

返回字段:(查看通用返回字段

接口字段 类型 说明
cbids string[] 已更新的作品 ID 列表
totalCount int 更新总数

请求示例:

https://cpapi-i.yuewen.com/book/getupdatebooklist?appflag=test&timestamp=1700000000&starttime=170000000&endtime=1700003600&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "cbids": [
        "21945341000109102",
        "22153207000285602"
        ],
        "totalCount": 2
        },
        "msg": "成功"
        }

# 获取 epub 书籍文件下载地址

简要描述: 获取作品的 epub 下载地址,含购买校验,仅对支持 epub 格式的书籍有效。(参考 epub 书规则
epub 书籍含付费内容,未购买时(fileType=1)提供试读,合作方用户购买后(fileType=0)提供完整版链接。

请求方式:GET 请求地址

https://cpapi-i.yuewen.com/book/getepuburl

请求参数:查看通用请求参数

请求参数 必须 类型 说明
cbid long 书籍 id
openid string 合作方用户 ID (合作方用户阅读已购买付费内容,必须传递 openid)

返回字段:(查看通用返回字段

接口字段 类型 说明
fileType int 文件类型:0 完整版;1 预览版
url string 下载地址

请求示例:

https://cpapi-i.yuewen.com/book/getepuburl?appflag=test&timestamp=1700000000&cbid=10000&openid=user1&sign=XXXXX

返回示例:

{
        "code":0,
        "data":{
        "fileType": 0,//文件类型:0 完整版(需要购买) ;1 预览版
        "url": "xxxxxx"
        },
        "msg":"成功"
        }

# 获取所有分类列表

简要描述: 获取所有分类列表,推荐定时请求每日 1 次

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/category/allcategory

请求参数:查看通用请求参数

返回字段:(查看通用返回字段

接口字段 类型 说明
freeType int 一级分类 id
freeTypeName string 一级分类名称
subSort struct 二级分类信息

subSort 字段

接口字段 类型 说明
categoryId int 二级分类 id
categoryName string 二级分类名称
secSort struct 三级分类信息

secSort 字段

接口字段 类型 说明
secCategoryId int 三级分类 id
secCategoryName string 三级分类名称

请求示例:

https://cpapi-i.yuewen.com/category/allcategory?appflag=test&timestamp=1700000000&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "1": {
        "freeType": 1,
        "freetypeName": "男生",
        "subSort": {
        "20001": {
        "categoryId": 20001,
        "categoryName": "玄幻",
        "secSort": {
        "20002": {
        "secCategoryId": 20002,
        "secCategoryName": "东方玄幻"
        },
        "20003": {
        "secCategoryId": 20003,
        "secCategoryName": "异世大陆"
        }
        }
        }
        }
        }
        },
        "msg": "成功"
        }

# 获取智能标签信息

简要描述: 获取智能标签信息

请求方式:GET

请求地址

https://cpapi-i.yuewen.com/book/tagDetailInfoByTagId

请求参数:查看通用请求参数

请求参数 必须 类型 说明
tagId int 标签 id

返回字段:(查看通用返回字段

接口字段 类型 说明
tagId int 标签 id
tagShortName string 标签名
tagName string 标签全名
tagDescription string 标签描述
gender int 性别:1 男,2 女
cate string 二级分类;流派、人物、风格、情节

请求示例:

https://cpapi-i.yuewen.com/book/tagDetailInfoByTagId?appflag=test&timestamp=1700000000&tagId=51000030&sign=XXXXX

返回示例:

{
        "code": 0,
        "data": {
        "tagId": 51000030,
        "tagShortName": "网文经典",
        "tagName": "网文经典",
        "tagDescription": "指兼具类型特色与作品成绩的网文优秀代表作品。",
        "gender": 1,
        "cate": "流派"
        },
        "msg": "成功"
        }