API文档

动作

出自建站大师开放平台wiki

跳转到: 导航, 搜索

目录

文档描述

文档说明

本操作手册用来指导应用开发者或商户与建站大师企业网站顺利对接。请相关技术人员详细阅读本手册。 建站大师Open API使用REST接口调用和返回数据。这意味着这些数据的传输需要经由标准的HTTP GET及POST请求,在应用

服务器和建站大师服务器之间通过Internet进行通信。任何编程语言,包括但不限于PHP、ASP.net、Java、 Perl等均可以

很好的使用REST接口存取数据,因此也意味着作为开发者,您的应用可以使用任何编程语言进行开发。

文中黑粗的内容表示要重点注意的内容。

版本

2011-6-29 BETA KAY

阅读对象

应用开发人员 建站大师相关技术人员 接口联系人

职责 姓名 联系方式
业务支持 客 服 QQ:133670313
技术支持 陈老师 QQ:550363121

 

业务功能描述

接入作业流程简述

1)开发者或商户首先必须在OPEN.313.COM注册为开发者,并创建新应用获取API-KEY和SECRET-KEY。

2)建站大师开放平台应用分为前台应用和后台应用,在创建应用时需要填写前台应用地址CALLBACK_URL或者后台应用地址

ADMIN_URL,也可以都填写。

安全控制

1)建站大师应用开放平台采用加密和数字签名认证体系

2)通讯使用MD5对数据进行加密

3)应用和企业站数据交互都使用加密,并使用数字签名进行数据验证,确保数据的完整性

 

应用开通接口协议

通知url

用户创建应用时提供的callback_url(前台地址) 或者 admin_url(后台地址)

通知方式

GET 方式

协议参数

字段名 说明
member_id 当前登陆的客户ID
admin_id 当前登陆的管理员ID
sid 当前站点ID(各个企业站点唯一识别标识)
timestamp 当前系统时间,格式如:2010-06-29 12:12:12
sessionid 用户登录sessionid,一段时间内有效。查询用户信息时,带上该sessionid,建站大师验证sessionid有效性
add 当前站点是否购买了该应用。0:不是,1:是。
admin_prefix 当前站点后台的URL地址(url编码)
member_prefix 当前站点前台URL地址(url编码)
appid 当前应用ID(唯一)
suffix 应用内相对链接的URL(先url再base64)
admin_page_login 当前网站后台登陆页面地址(url编码)
member_page_login 当前网站前台客户登陆地址(url编码)
in_iframe 应用是否在IFRAME内,目前仅支持IFRAME即该值始终为1
v API版本号。
sig Md5签名信息,用以验证来源和数据合法性,详情请参阅返回参数说明


例如:

http://kay.com/chinaz_test/? sessionid=8c31f4b716218acbadbdc15c24f46fe7&member_id=&admin_id=10&sid=1&admin_prefix=http%3A%2F%2F313.com% 2Fadmin%2F&member_prefix=http%3A%2F%2F313.com%2F&admin_page_login=http%3A%2F%2F313.com%2Fadmin%2Fusers% 2Flogin&member_page_login=http%3A%2F%2F313.com%2Fmembers%2Fregister&in_iframe=1&v=1&add=1&timestamp=2011- 07-04+11%3A04%3A34&appid=7&suffix=&page_app=apps%2Findex%2F7%2F&sig=75d3473df421cd55da39d62c2319ebf3


http://kay.com/chinaz_test/

即为用户创建应用时所填写的callback_url 或者 admin_url ,后面为建站大师发送给应用的参数。

本示例中获取的非0非空且去掉sig字段的参数集合,按照字段名的ascii升序拼接字段名后值为:

STR="add=1&admin_id=10&admin_page_login=http://313.com/admin/users/login&admin_prefix=http://313.com/admin/ &appid=7&in_iframe=1&member_page_login=http://313.com/members/register&member_prefix=http://313.com/&page_a pp=apps/index/7/&sessionid=8c31f4b716218acbadbdc15c24f46fe7&sid=1&timestamp=2011-07-04 11:04:34&v=1"

根据签名规则,再连接该应用SECRET_KEY(本例中为167077ab68bd9c35086b07019b9f9a72),取小写MD5

SIG = MD5(STR+”&key=167077ab68bd9c35086b07019b9f9a72”) = 75d3473df421cd55da39d62c2319ebf3

计算所得SIG 与建站大师所传SIG 对比,相同即为参数来源合法

 

请求获取建站大师企业站信息网关协议

接入url

http://open.313.com/apps/rest

接入方式

POST/GET

协议参数

字段名 必需 说明
系统级参数组

api_key

创建应用时获得,唯一性,不可更改 32位

sessionid

用户登录sessionid,一段时间内有效。用户登陆应用时,由建站大师传送给应用

method

用户获取信息的接口API(详见附录API)

format

接口返回信息格式,支持XML,JSON

v

API版本号

timestamp

当前系统时间,格式如:2010-06-29 12:12:12

sig

Md5签名信息,用以验证来源和数据合法性,详情请参阅签名规则
业务信息参数组
各个API业务信息参数请参照附录API

 

API返回信息网关通知协议

一次有效的API调用应该类似这样的:

http://open.313.com/apps/rest?method=Articles.get_catinfo&sessionid=5629623ab5c77137dc39ac8b1b48ddb1&api_key=16c61a3ae13c941ea6b0681a1bb0c1d8&format=xml&v=1.0&timestamp=2011-07-04+11%3A22%3A15&sid=1&sig=2b8f12685010693f5c41dbf239aa65fd

返回方式

数据将以xml形式在同一会话中同步返回

例如:

<?xml version="1.0" encoding="utf-8"?>
<articles_response>
<meta>
<status>ok</status>
<version>1.0</version>
</meta>
<data>
<item>
<Article>
<cat_id>148</cat_id>
<cat_name>公司新闻</cat_name>
<cat_parent>0</cat_parent>
<cat_url>gongsixinwen</cat_url>
<language>chi</language>
</Article>
</item>
<item>
<Article>
<cat_id>149</cat_id>
<cat_name>业界新闻</cat_name>
<cat_parent>0</cat_parent>
<cat_url>yejiexinwen</cat_url>
<language>chi</language>
</Article>
</item>
<item>
<Article>
<cat_id>877</cat_id>
<cat_name>媒体报道</cat_name>
<cat_parent>0</cat_parent>
<cat_url>meitibaodao</cat_url>
<language>chi</language>
</Article>
</item>
</data>
</articles_response>

 

返回参数说明

字段名 必需 说明
Meta 元素
status API调用状态 ok:成功,error:出错
feedback 当status为error时出现,返回出错信息
credentials 当status为error时出现,包含应用传入的参数信息,方便用户验证
Data 元素
应用所需的数据信息,根据API不同,返回信息不同,详见附录API
pageInfo元素(当调用带有分页功能的API时出现)
pageNum 当前查询条件下的记录总数
pageNow 当前页数
pageSize 当前查询每页记录数

 

签名规则

除sig字段外,按照字段名的ascii升序拼接字段名值对,值为空的字段不参与,组成类似“name1=value1&name2=value2”

格式,最后再加上“&key=$secret_key”($secret_key为创建应用时获得的应用密钥,为识别应用来源合法性的唯一标识

)对结果进行MD5签名,MD5结果转化为小写。

建站大师将对所有提交到建站大师应用开放平台的参数进行全排列组合并签证签名,即使是非建站大师要求的参数,也将

加入到签名验证中,请开发人员注意,尽量不要提交非建站大师要求的参数。

应用密钥SECRET_KEY可以登陆建站大师开放平台(http://open.313.com)修改。

 

注意事项

1.为了让应用与建站大师企业网站更好的结合,建议对应用内部链接进行封装。例如应用地址为info.php?id=9,则该链接 可以封装成如:$admin_prefix.$page_app.base64_encode(urlencode(info.php?id=9)),其中$admin_prefix和$page_app 为建站大师传送给应用中的参数网站页面地址和应用页面。

2.应用在建站大师企业站中的显示尺寸:后台应该是宽: 980px,前台为宽900px 高:根据应用自动适应

3.建站大师本身使用UTF-8编码,因此,目前情况下,任何与建站大师接口的存取、界面显示、交互均只允许使用UTF-8字

符集。

4.建站大师应用部署存放位置方面是很灵活的,由您自行决定部署在独立服务器或虚拟空间上。但需要注意的是,您的应 用服务器部署位置、硬件配置、存储空间、运算速度、将很大程度上决定应用访问的速度和稳定性。建站大师企业网站用 户不会喜欢或依赖一个访问速度慢、不稳定的应用,而且一旦出现此类问题,应用对于用户的口碑会急剧下降,直接导致 使用应用的用户离开。因此请应用开发者十分重视速度、稳定性问题,尽量选择独立服务器和带宽稳定的国内电信或网通 机房部署您的应用。

 

附录API

Articles 文章模块 API

1)Articles. get_list (string fields, string sid, string cat_id,string page,string pagesize,string language)

* 返回文章列表 默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID
* @param string cat_id 文章的分类ID
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 
* @param string language 网站语言 目前有中文(chi), 英文(eng),支持多个查询,‘,’分隔 

2)Articles. get_info (string id)

* 返回单篇文章信息 
* @param string id 文章ID 

3)Articles. get_catinfo (string sid,string language)

* 返回文章分类信息 
* @param string sid 站点ID 

Customerservices 客服模块 API

1)Customerservices. get_list (string fields,string sid,string cat_id,string page,string pagesize,string language)

* 客服列表接口默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID
* @param string cat_id 分类 
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Customerservices. get_info (string id)

* 返回单个客服信息 
* @param string id 

3)Customerservices. get_catinfo (string sid,string language)

* 返回客服分类信息 
* @param string sid 站点ID 

Htmlpages 站点单独页模块 API

1)Htmlpages. get_info (string fields,string sid,string page,string pagesize,string language)

* 单独页列表接口默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID 
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Htmlpages. get_info (string id)

* 返回单个自定义页面 
* @param string id 

Linkins 友情链接模块 API

1)Linkins. get_list (string fields,string sid,,string cat_id,string page,string pagesize,string language)

* 友情链接列表接口默认第一页,一页10条记录
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID
* @param string cat_id 分类ID 
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Linkins. get_info (string id)

* 返回单个友情链接信息 
* @param string id 

3)Linkins. get_catinfo (string sid,string language)

* 返回友情链接分类信息 
* @param string sid 站点ID

Members 客户模块 API

1)Members. get_list (string fields,string sid,string page,string pagesize)

* 客户列表接口默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID 
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Members. get_info (string id)

* 返回单个客户信息 
* @param string id 

Orders 订单模块 API

1)Orders. get_list (string fields,string sid,string page,string pagesize,string language)

* 客户列表接口 默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID 
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Orders. get_info (string id)

* 返回单条订单信息 
* @param string id 

Products 产品模块 API

1)Products. get_list (string fields,string sid ,string cat_id,string page,string pagesize,string language)

* 产品列表接口 默认第一页,一页10条记录 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID
* @param string cat_id 分类
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Products. get_info (string id)

* 返回单个产品信息 
* @param string id 

3)Products. get_catinfo (string sid,string language)

* 返回产品分类信息 
* @param string sid 站点ID 

Websites 网站信息 API

1)Websites. get_list (string fields,string sid , string page,string pagesize,string language)

* 网站列表接口 默认第一页,一页10条记录 返回购买该当前应用的所有网站 
* @param string fields 返回字段名称 ,多个字段用","分开 
* @param string sid 站点ID
* @param string page 分页处理 页数 
* @param string pagesize 分页处理 每页记录数 

2)Websites. get_info (string sid)

* 返回购买该当前应用的单个网站信息 
* @param string sid