《中国电信动漫产品平台接口规范.doc》由会员分享,可在线阅读,更多相关《中国电信动漫产品平台接口规范.doc(53页珍藏版)》请在三一办公上搜索。
1、中国电信动漫产品平台接口规范(试行)中国电信集团公司目 录目 录2前 言41适用范围52引用标准63术语、定义和缩略语74网络结构95手机动漫平台与客户端接口定义95.1接口定义约定95.2终端和平台交互流程示例115.3业务消息体约定125.4业务消息体大小约定135.4.1消息体长度约定:135.4.2数据压缩传输:135.5业务接口名称定义135.6响应结果码定义155.7业务接口定义165.7.1注册登录接口165.7.1.1注册接口(register)165.7.1.2客户端退出接口(quit)175.7.2个性化接口185.7.2.1绑定用户帐户接口(addUserData)185
2、.7.2.2获取个人信息接口(getProfile)185.7.2.3个人信息更新接口(setProfile)195.7.2.4客户端皮肤获取接口(getSkinPkg)205.7.3内容信息同步接口205.7.3.1内容列表获取接口(getContentList)205.7.3.2内容详情获取接口(getContentDetail)215.7.3.3内容搜索接口(search)225.7.3.4内容列表节点(Content)235.7.3.5内容详细信息节点(ContentDetail)235.7.3.6产品信息节点(product)255.7.4订购接口265.7.4.1获取内容产品信息接
3、口(getContentProductInfo)265.7.4.2订购内容接口(subscribeContent)275.7.4.3取消订购包月产品接口(unsubscribeContent)275.7.4.4获取已订购包月产品接口(getCatalogSubscriptionList)275.7.4.5获取按次订购内容列表接口(getSubscriptionList)285.7.5在线阅读接口295.7.5.1获取漫画分集内容接口(getChapterInfo)295.7.5.2添加书签接口(addBookmark)305.7.5.3删除书签接口(deleteBookmark)305.7.5
4、.4获取用户书签列表接口(getBookmark)315.7.5.5获取收藏内容列表接口(getFavorite)325.7.5.6添加收藏内容接口(addFavorite)335.7.5.7删除收藏内容接口(deleteFavorite)335.7.6观看互动接口345.7.6.1获取评论接口(getComment)345.7.6.2用户评论接口(submitComment)355.7.6.3用户评分接口(markContent)355.7.6.4推荐内容接口(recommendedContent)365.7.6.5获取推荐列表接口(getRecommend)365.7.6.6删除推荐列表接
5、口(deleteRecommend)375.7.6.7获取公告接口(getBulletin)375.8DRM数字版权保护接口定义385.8.1DRM数字版权保护业务流程395.8.1.1手机客户端软件激活业务流程:395.8.1.2许可证获取业务流程395.8.1.3内容订购业务流程405.8.1.4版权重续业务流程415.8.1.5异常情况处理425.8.1.6恢复内容业务流程435.8.2DRM加密体系445.8.3手机动漫客户端激活接口455.8.4许可证获取接口465.8.4.1产品许可证获取465.8.4.2内容许可证获取475.8.4.3获取产品许可证和内容许可证485.8.4.4
6、许可证获取失败返回信息495.8.5HTTP响应码说明495.8.6结果码result-code说明50附录A:Ticket(许可证)50前 言本规范文档是中国电信动漫产品系列规范中的第三项。动漫产品系列规范包括以下几个规范:中国电信动漫产品业务规范中国电信动漫产品平台技术规范中国电信动漫产品平台接口规范中国电信动漫产品客户端规范中国电信动漫产品内容保护技术规范本规范解释权属于中国电信集团公司。本规范起草单位:中国电信股份有限公司上海研究院本规范主要起草人:1 适用范围本规范定义了中国电信动漫产品平台和中国电信其他产品基地、电信全国IT系统、动漫产品客户端之间进行数据通信交互的接口。适用于向中
7、国电信提供动漫产品系统设备的提供商,以及周边设备和与此相关的内容和服务提供商(CP/SP)。2 引用标准下列文件通过本文的参考而成为本规范的条款。凡是注日期的参考文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本文,凡是不注日期的参考文件,其最新版本适用于本文。【1】 中国电信动漫产品业务规范【2】 中国电信动漫产品平台技术规范【3】 中国电信动漫产品客户端技术规范3 术语、定义和缩略语下列术语、定义和缩略语适用于本标准:名词解释手机客户端安装在手机终端上通过与动漫产品平台进行数据交互,实现动漫下载和展示的客户端软件。手持阅读器/专用阅读终端带有无线接入模块,可连接至动漫产品平台
8、,支持动漫内容的展现、订购、下载和阅读的专用手持式阅读设备。动漫产品平台指提供动漫产品核心业务能力的部分,提供动漫的管理、下载控制、用户管理、计费等功能。频道频道是对内容进行的一级分类。当用户进入首页界面或者内容导航界面时,看到的第一级内容导航分类就是频道。分栏分栏是内容组织的二级分类,与其关联的频道有关,不同的频道对应着不同的分栏。每个频道下有多个分栏,每个分栏只归属一个频道。分栏可以动态增加更多的层次。书项每个书项对应一本动漫作品,每个分栏下包含多个书项,同一个书项也可属于不同的分栏。内容项内容项是内容组织的最小计费单元。每个书项中可包含多个内容项。内容项是书项的子集。内容项在计费模式上存
9、在试读收费两种类型。漫画以图片、动画为主的动漫作品。个人空间个人空间是指用户个人属性的集合,包括个人书签、个人书架、个人批注、个人帐户、个人设置等。个人空间同时存在于前后端,并保持更新同步。用户书签用户在阅读过程中主动加入的书签。系统书签系统在用户退出阅读时自动记录的书签。专区同一家CP/SP提供的内容打包。防盗链同一个URL地址只允许授权用户下载,不允许非授权用户直接通过URL访问。WAP/WEB统一门户中国电信动漫业务的全国统一门户,分为WAP和WEB两种。CEB中国电信电子书作品格式。由中国电信制定的动漫作品格式。CPContent Provider 专业内容提供商,为平台和用户提供动漫
10、作品资源。CDMACode-DivisionMultipleAccess码分多址接入ISMPInegrated Service Management Platform综合业务管理平台HTTP Hyper Text Transfer Protocol 超文本传送协议。URLUniform Resource Locator 统一资源定位。WAPWireless Application Protocol无线应用协议。4 网络结构动漫平台NSAGNMSC全国CP/SP全国结算其他基地Brew平台终端自注册平台第三方支付平台客户端IF1IF2IF3IF4IF5IF6IF7IF8IF9图4-1 动漫平台接
11、口图手机动漫平台与其他网元的接口包括:1. IF1:手机动漫平台与其他基地的接口;2. IF2:手机动漫平台和全国CP/SP之间的接口,使用HTTP或FTP;3. IF3:手机动漫平台与Brew平台的接口;4. IF4:手机动漫平台与终端自注册平台的接口;5. IF5:手机动漫平台与第三方支付平台的接口;6. IF6:手机动漫平台与客户端之间的接口;7. IF7:手机动漫平台与NMSC之间的接口; 8. IF8:手机动漫平台与ISAG之间的接口;9. IF9:手机动漫平台与全国结算平台的接口。5 手机动漫平台与客户端接口定义IF6接口为手机客户端和手机动漫平台之间的接口,客户端通过此接口获取用
12、户和内容信息,并且完成用户操作数据的上传。5.1 接口定义约定手机动漫平台终端门户接口消息协议栈如下图所示:图5-1 接口消息协议栈示意图接口消息采用HTTP+XML方式,终端首先同手机动漫平台建立会话,平台在消息应答中通过Cookie返回会话ID,客户端在Cookie中携带会话ID继续进行其他接口消息交互。同时客户端需要在HTTP Header中增加以下字段信息:必选:必须携带的字段;可选:指在满足某些情况下,可以携带的信息,不满足条件的情况下,可以不携带相关信息。请求消息字段名称是否必选描述Client-Agent必选终端系统类型、终端屏幕大小(宽*高)和厂商自定义信息三部分组成,三部分之
13、间用“/”分割,如:WINCE5.0/240*320/OtherInfomationx-up-calling-line-id必选用户手机号码客户端需要通过ctwap接入点连接平台,该字段由WAP网关前传user-id必选用户唯一标识,客户端首次启动时通过客户端注册接口获取;除客户端注册接口不需要该字段外,其他消息均需上报该字段信息。APIVersion必选消息协议版本号,以本规范版本号定义为准,如:1.0.0Content-Type可选消息体类型,使用POST方法上传数据时指定:application/xmlAccept-Encoding可选支持的数据压缩传输格式,如:gzipCookie可选
14、传递客户端和平台会话ID客户端和平台未建立会话时,该字段不存在客户端和平台建立会话后,后续消息交互客户端必须携带该字段参数上报会话ID该字段格式要求请参见HTTP/1.1 RFC2616Action必选调用接口名称平台在应答的HTTP Response Header中包含以下字段信息:应答消息字段名称是否必选描述Content-Encoding可选如果客户端支持压缩传输,平台返回内容的压缩格式result-code必选客户端请求响应结果码,其中0表示成功,其他结果码表示对应的错误信息Content-Type可选消息体类型 application/xmlContent-Length可选应答消息长
15、度,当平台应答消息包含消息体时需要指定消息体长度,不得使用chunked方式返回数据。Set-Cookie可选如果客户端请求中没有会话ID或者会话ID过期时,平台重新指定会话ID该字段格式要求请参见HTTP/1.1 RFC2616APIVersion必选消息协议版本号,以本规范版本号定义为准,如:1.0.0TimeStamp必选平台当前系统时间,时间格式:yyyy-MM-dd HH:mm:ss如:2008-11-08 15:14:045.2 终端和平台交互流程示例图5-2 终端与平台交互流程流程说明:1. 终端启动时,向电信动漫平台发起登陆鉴权请求(终端首次启动时发起注册请求);2. 电信动漫
16、平台进行终端和用户合法性校验,验证通过后平台生成响应的会话信息;3. 平台将鉴权结果(result-code字段)和会话信息(set-cookie字段)返回终端;4. 终端保存会话信息用于后续其他消息的交互;5. 终端携带会话信息(cookie字段)和平台进行其他消息的交互。5.3 业务消息体约定1、 请求消息和应答消息体采用XML编码方式,XML格式采用W3C的1.0规范,字符编码采用UTF-8。要求每个XML消息格式都是以起始。2、 消息格式采用XMLSchema来定义,遵循http:/www.w3.org/2001/XMLSchema的国际标准。3、 请求消息体以作为根节点,应答消息体以
17、作为根节点。如以下请求消息: V1.0.0 examplehashcode 4、 请求消息URI中如果包含参数需要采用UTF-8编码并经过URLEncode编码。5、 对响应消息的XML内容中包含复杂信息的字段,如站内消息内容包含内容的链接,则使用CDATA语法表示,定义自定义标签用于标识特殊对象,自定义特殊标签对象定义如下:标签名标签参数说明标签描述contentcontentid:内容ID内容信息标签,如:西游记 第一集chaptercontentid:内容IDchapterid:章节ID章节信息标签,如:第一章 白纸人 1 1 1234 2 false 18912345678 18912
18、345678 2010-03-02 12:13:14 !CDATA您的好友18912345678推荐您一部漫画七龙珠 5.4 业务消息体大小约定5.4.1 消息体长度约定:请求消息:小于4K;返回消息:小于8K;参数长度不做限定,只约定请求消息和返回消息的总体大小;5.4.2 数据压缩传输:当客户端支持数据压缩传输时,需要在请求的消息头的“Accept-Encoding”字段中指定压缩方式(gzip),如消息可以被压缩传输则平台将应答的数据报文进行压缩作为应答数据返回,Content-Length为压缩后的数据长度。详细可参见HTTP/1.1 RFC2616。5.5 业务接口名称定义接口名称A
19、ction定义如下:编号Action接口描述客户端登陆注册register客户端注册接口quit客户端退出接口个性化addUserData绑定用户帐户接口getProfile获取个人信息接口(包括积分,个人账户余额)updateProfile更新个人信息接口getSkinPackage客户端皮肤获取接口内容信息同步getContentList获取分栏内容列表接口getContentDetail获取内容详情接口search内容搜索接口在线阅读getChapterInfo获取漫画分集内容接口addBookmark添加书签接口deleteBookmark删除书签接口getBookmark获取用户书签
20、列表接口getFavorite获取收藏内容列表接口addFavorite添加收藏内容接口deleteFavorite删除收藏内容接口业务订购getContentProductInfo获取内容产品信息接口subscribeContent订购内容接口(包含多种订购方式)unsubscribeCatalog取消订购包月分栏接口getSubscriptionList获取按次订购内容列表接口getCatalogSubscriptionList获取已订购包月栏目接口互动阅读getComment获取评论接口submitComment用户评论接口markContent用户评分接口recommendedCont
21、ent推荐内容接口getRecommend获取推荐列表接口deleteRecommend删除推荐接口getBulletin获取公告接口5.6 响应结果码定义响应结果码描述0成功2001协议版本不支持2002非法的用户标识2003非法的客户端2004非法的请求接口2005请求参数缺失2006无效的参数2007不支持的操作2008会话超时2009不支持的用户信息参数2010无效的手机号码2012无效的频道分栏标识2013无效的内容标识2014无效的排行榜类型2015无效的时间格式2016用户未订购2017重复的记录2018书签已存在2019内容已被收藏2020更新通知已预定2021更新通知未预定2
22、022非法的用户状态2023业务订购失败2024业务取消订购失败2025没有内容的访问权限2026验证码错误或者验证码已过期2027用户操作已达到每日次数限制(推荐/赠送)2028用户操作已达到上限(收藏/书签)2028用户已投票2999其他客户端请求错误3001请求超时3002服务器忙3003服务器维护中3004服务器数据库异常3010服务器暂时不支持此功能31003199服务器自定义错误码3999其他服务器错误5.7 业务接口定义5.7.1 注册登录接口5.7.1.1 注册登录接口(register)接口描述客户端首次启动,需要进行客户端注册,获取相关用户信息,以及欢迎页。注册成功后即自动
23、登录。接口消息定义请求方法:GET /portalapi?clientVersion=xxx&clientHash=xxx&welPage参数名称是否必选数据类型描述长度clientVersion是客户端版本clientHash是客户端Hash摘要,用于验证客户端合法性ClientHash=Base64(MD5(ClientVersion|客户端内置密码)welPage是Binary是否显示欢迎页请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述RegisterRspResponse1无ActionClientInfoRegisterRsp0.1无客户端需要升级时包含该节点
24、updateVersionClientInfo1String无客户端升级版本号updateURLClientInfo1String无客户端升级地址mustUpdateClientInfo1Boolean无是否强制升级updateMessageClientInfo0.1String无客户端升级加强特性描述信息,用于用户提示,允许为空UserInfoRegisterRsp0.1无用户基本信息客户端需要强制进行版本升级时该节点为空userIDUserInfo1String无用户唯一标识amountUserInfo1Integer无用户当前余额pointUserInfo1Integer无用户当前积分n
25、ickNameUserInfo1string无昵称homepageInfoRegisterRsp0.1无推送信息欢迎页数据sysBookmarkListhomepageInfo1.n上次观看内容系统书签bookmarkIdsysBookmarkList1String无书签IDTimesysBookmarkList1书签添加时间yymmddhhmmsschapterIdsysBookmarkList1String无章节IDchapterNamesysBookmarkList1String无章节名称pageIdsysBookmarkList1Integer无书签页编号pushContenthome
26、pageInfo1Content针对用户的推荐内容SpecialRegisterRsp1主菜单专题栏目更新spcPicSpecial1专题图片spcNameSpecial1专题名称5.7.1.2 客户端退出接口(quit)接口描述客户端退出接口接口消息定义请求方法:GET /portalapi 请求消息体:参数名称父节点标识出现次数数据类型节点属性描述quitReqRequest1ActionlashBookmarkquitReq1上报用户在线观看漫画的系统书签typelastBookmark1Integer1:系统书签2:用户书签(此处强制为1)contentIdlastBookmark1S
27、tring内容idpageIdlastBookmark1Integer页编号响应消息:无,通过HTTP header的响应结果码返回操作结果。5.7.2 个性化接口5.7.2.1 绑定用户帐户接口(addUserData)接口描述用户以非CTWAP方式访问动漫平台,客户端发起短信注册的同时,客户端上报平台用户填写的用户名和密码。接口消息定义请求方法:POST /portalapi 请求消息体:节点标识父节点标识出现次数数据类型节点属性描述AddUserDataReqRequest1userDataAddUserDataReq1userNameuserData1String用户名(邮箱或其他手机
28、号)passWrduserData1String用户密码响应消息:无,通过HTTP header的响应结果码返回操作结果。5.7.2.2 获取个人信息接口(getProfile)接口描述获取个人信息接口消息定义请求方法:Get/portalapi请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述getProfileRspResponseUserInfogetProfileRsp1string无用户信息nickNameUserInfo1string无昵称MailUserInfo个人邮箱pointUserInfo1Integer无用户积分amountUserInfo余额5.7.
29、2.3 个人信息更新接口(setProfile)接口描述更新个人信息接口消息定义请求方法:POST/portalapi请求消息体:节点标识父节点标识出现次数数据类型节点属性描述setProfileReqRequest1UserInfosetProfileReq1string用户信息nickNameUserInfo1string昵称MailUserInfostring个人邮箱响应消息:无,通过HTTP header的响应结果码返回操作结果。5.7.2.4 客户端皮肤获取接口(getSkinPkg)接口描述获取客户端皮肤配色方案接口消息定义请求方法:GET /portalapi请求消息体:无 响应
30、消息:节点标识父节点标识出现次数数据类型节点属性描述GetSkinPkgRspResponse1无skinPkgGetSkinPkgRsp1.n无皮肤配色方案borderskinPkg1Rgb值边框颜色textskinPkg1Rgb值文字颜色focusskinPkg1Rgb值焦点色buttonskinPkg1Rgb值按钮背景色listBkgndskinPkg1Rgb值栏目列表背景色pictureskinPkg1背景底纹图片descriptionskinPkg1无描述信息5.7.3 内容信息同步接口5.7.3.1 内容列表获取接口(getContentList)接口描述获取当前内容子内容列表信息
31、接口消息定义请求方法:GET/portalapi?ContentID=xxx& ContentCount=xxx& Offset=xxx参数名称是否必选数据类型描述长度ContentID 是String当前选择的内容列表ID 16ContentCount 是Integer请求的本内容列表中的内容个数,若需要全部取出则此字段写为08Offset是Integer需要显示的内容与第一条记录的偏移量8请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述GetContentListRspResponse1无ContentCount GetContentListRsp1Integer无请
32、求的内容列表中包含的内容个数ContentListGetContentListRspContent请求内容列表5.7.3.2 内容详情获取接口(getContentDetail)接口描述获取当前内容的详情接口消息定义请求方法:GET /portalapi?ContentID=xxx参数名称是否必选数据类型描述长度ContentID 是String当前选择的内容列表ID 16请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述GetContentDetailRspResponse1无ContentType GetContentDetailRsp1Integer无内容Conten
33、tDetailGetContentDetailRspContentDetail节目详细内容PrevContentIDGetContentDetailRspString节目列表中前一个节目ID,如是第一个,该字段为空NextContentIDGetContentDetailRspString节目列表中后一个节目ID,如是最后一个,该字段为空ProductListGetContentDetailRspProduct可订购的产品列表,包括订购章节或者包月5.7.3.3 内容章节获取接口(getChapter)接口描述获取每个内容ID下的内容章节列表,包括漫画章节列表和动画分级列表接口消息定义请求方法
34、:GET /portalapi?ContentID=xxx&start=xxx&count=xxx参数名称是否必选数据类型描述长度ContentID 是String当前选择的内容列表ID 16start否Integer起始页编号count否Integer需要显示的个数缺省使用平台默认配置请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述getChapterRspResponse1无TotalCaptergetChapterRsp0/1无当前内容的漫画章节总数ChapterList getChapterRsp0/1.n无查询到的漫画章节列表ChapterIDChapterLi
35、st1无章节IDSeriesNumChapterList1序号StatusChapterList1String鉴权信息表示章节的:免费、权限及是否可以收看状态。HeadUrlChapterList1无漫画章节首地址(依格式而定)DownloadUrlChapterList1无下载地址TotalVideogetChapterRsp0/1无当前内容的动画章节总数VideoList getChapterRsp0/1.n无查询到的动画章节列表VideoIDVideoList1无视频内容IDSeriesNumChapterList1序号StatusChapterList1String鉴权信息表示章节的:
36、免费、权限及是否可以收看状态。SmoothUrlVideoListString流畅版播放地址CleanUrlVideoListString清晰版播放地址5.7.3.4 内容搜索接口(search)接口描述搜索平台中的动漫内容接口消息定义请求方法:GET /portalapi请求消息体:节点标识父节点标识出现次数数据类型节点属性描述searchReqRequest1KeyWordsearchReq1string需要查询的关键字SearchTypesearchReq1Binary查询的内容类型使用二进制位描述搜索类型,“1”代表该类型有效,“0”表示该类型无效。字节位检索类型1分类检索2动画3漫画
37、4资讯5我的动漫SearchCountsearchReq1Integer需要搜索的条数,0为全部获取offsetsearchReq1Integer搜索结果中与第一条的偏移量响应消息:节点标识父节点标识出现次数数据类型节点属性描述searchRspResponse1无ContentList searchRsp1Content无查询到的内容列表ContentCountsearchRspContentDetail查询到的内容条数ResultDescsearchRspString结果描述5.7.3.5 搜索热点词获取接口(getHotWord)接口描述获取当前搜索输入相关的热门搜索关键字接口消息定义请求方法:GET /portalapi?keyword=xxx参数名称是否必选数据类型描述长度keyword 否String当前输入的搜索关键字 16请求消息体:无响应消息:节点标识父节点标识出现次数数据类型节点属性描述getHotWordRspResponse1无hotWordListgetHotWordRsp1string无相关热门关键词列表5.7.3.