编程语言及工具
1、基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。
开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web 2.0的浪潮到来之前,开放的API 甚至源代码主要体现在桌面应用上,而现在越来越多的Web应用面向开发者开放了API。
具备分享、标准、去中心化、开放、模块化的Web 2.0站点,在为使用者带来价值的同时,更希望通过开放的API 来让站点提供的服务拥有更大的用户群和服务访问数量。
站点在推出基于开放API 标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API 提供的服务整合到自己的应用之中。同时,这种整合API 带来的服务应用,也会激发更多富有创意的应用产生。
为了对外提供统一的API 接口,需要对开发者开放资源调用API 的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。
当然,开放API 的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。
视频云技术提供商CC视频开放API接口,用户可以在自己的网站后台轻松完成视频的上传、视频播放控制操作,并可批量获取视频及平台信息。
2、先做好一个备案域名,最好正规的备案公司备案。
3、选择一家服务器租用,最好用阿里云、中网等牌子稍大的服务器
4、系统程序构建与架设,搭建在独立的服务器上,保证服务质量。
5、锋锐程序:
1、人性化界面,科学严谨,简洁易用的操作流程和管理界面。
2、智能通道接入
程序整合了市面上几十种常用的收费方式,输入自己的ID和密钥就可以开通,不懂技术也可以轻松搞定。
3、优势全方位通道
公司和全国多家sp、卡类、网银类等多种支付方式的优秀公司保持良好的合作关系,可以拿到市面上的几乎所有支付渠道并可以给客户 争取最高的价格优势。
4、超强安全性
设置商户密钥,支付信息加密传递,加强支付安全性,加密系统与其他支付平台兼容性优秀。
5、完善的后台管理
通过后台管理系统,方便查询定单管理、定单统计、财务管理、用户资料修改、商户密钥设置、推荐用户及用户支付金额、商户所得金 自定义订单号、支付日期、结帐信息等功能。
6、优秀的负载能力
系统实现非常优秀的负载能力。还支持无限服务器扩展,一旦业务发展,只需增加投放服务器即可完成系统投放能力扩展。
其程序功能强大,实用性强,支持任何网站接口程序,api接口程序
一、入参规范:
1.分页相关参数约定:
2.需要返回的数据格式:
通过参数data_type 获取特定的响应数据格式,可以是json(默认)、xml、jsonp、或js。
3.接口校验:
所有接口都带参数token(32位),初期可以先两边写死进行校验。
4.jsonp:
当需要返回jsonp时,向接口传入参数名为cback,即http请求中带参数cback=回调函数,注意回调函数中不允许有特殊字符,即需要过滤特殊字符,只允许为纯字母格式或下划线组成的格式,且最大长度不能超过20。
注意:当data_type为jsonp且不传cback的值时,系统默认会返回一个回调函数,函数名为def_func。
范例url:
http://mycatkin.com/auth/login/data_type/jsonp/p/1/ps/10/cback/myfunc/token/DJAQ21J574DKLJJ324JIQ9OKJSLDJVN21.json
#p##e#
二、出参规范:
1.查询:
返回参数统一按如下接口形式,其中cnt为ad在数据库中的总数目,如下面数据,ad下的list总数为2,area下的list总数为3。当接口有错误返回时,code大于1,且msg中含有错误信息,当无错误时,code为1,且msg为空。
当接口传入当前页参数p ,当前页数据条数ps时,接口返回时,同样也会反给客户端p与ps参数。
如果有极端情况,即同一接口返回多个list,则接口分页入参定义为“p+下划线+当前list的下标”,如下接口,ad下的list中,当前页的输入参数为p_ad,ad的每页条数输入参数为ps_ad,即post或get中分页参数为p_ad=1&ps_ad=20&p_area=1&ps_area=20
cnt不是当前list返回的条数,而是数据库中,该list的总条数,用于分页。
json格式示例:
{
“code”:1,
“msg”:“”,
“ad”:{
“cnt”:22,
“p”:2,
“ps”:20,
“list”:[{
“adv_title”:“\u8fd9\u662f\u5e7f\u544a\u6807\u98981”,
“adv_link”:“m.xxxxxx.cn\/advert\/tbsync\/”,
“open_target”:“2”,
“img_url”:“www.xxxxxx.cn\\\/data\\\/upload\\\/shop\\\/adv\\\/04825861373036910.png”
},
{
“adv_title”:“\u8fd9\u662f\u5e7f\u544a\u6807\u98982”,
“adv_link”:“m.xxxxxx.cn\\\/advert\\\/newerDerate\\\/?430”,
“open_target”:“2”,
“img_url”:“www.xxxxxx.cn\\\/data\\\/upload\\\/shop\\\/adv\\\/04782825931526321.png”
}
]
},
“area”:{
“cnt”:3,
“p”:1,
“ps”:20,
“list”:[{
“c_area_id”:“16”,“c_area_name”:“\u6df1\u5733”,
“c_area_pic”:“04732773115385188.jpg”,
“english_name”:“shenzhen”,“goodsCount”:“21”,
“img_url”:“www.xxxxxx.cn\\\/data\\\/upload\\\/shop\\\/adv\\\/04825861373036910.png”
},
{
“c_area_id”:“18”,
“c_area_name”:“\u6e56\u5357”,
“c_area_pic”:“04732773115385188.jpg”,
“english_name”:“hunan”,
“goodsCount”:“33”,
“img_url”:“www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png”
},
{
“c_area_id”:“2”,
“c_area_name”:“\u5317\u4eac”,
“c_area_pic”:“04732773115385188.jpg”,
“english_name”:“beijing”,“goodsCount”:“70”,
“img_url”:“www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png”
}
]
},
“goods_info”:{
“cnt”:1,
“p”:1,
“ps”:20,
“list”:[{
“goods_id”:“211”,
“goods_name”:“\u5927\u4fdd\u5065\u5305\u591c”,
“goods_price”:“1000.00”,
“main_image”:“www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png”
}]
}
}
以php为示例,其中php中数组拼接格式为:
$array_data = array(
“code” =》 1,
“msg” =》 ‘’,
“ad” =》 array(
“cnt” =》 22,
“p” =》 2,
“ps” =》 20,
“list” =》 array(
0 =》 array(
“adv_title” =》 “这是广告标题1”,
“adv_link” =》 “m.xxxxxx.cn/advert/tbsync/”,
“open_target” =》 “2”,
“img_url” =》 “www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png”
),
1 =》 array(
“adv_title” =》 “这是广告标题2”,
“adv_link” =》 “m.xxxxxx.cn\/advert\/newerDerate\/?430”,
“open_target” =》 “2”,
“img_url” =》 “www.xxxxxx.cn\/data\/upload\/shop\/adv\/04782825931526321.png”
)
)
),
“area” =》 array(
“cnt” =》 3,
“p” =》 1,
“ps” =》 20,
“list” =》 array(
0 =》 array(
“c_area_id” =》 “16”,
“c_area_name” =》 “深圳”,
“c_area_pic” =》 “04732773115385188.jpg”,
“english_name” =》 “shenzhen”,
“goodsCount” =》 “21”,
“img_url” =》 “www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png”
),
1 =》 array(
“c_area_id” =》 “18”,
“c_area_name” =》 “湖南”,
“c_area_pic” =》 “04732773115385188.jpg”,
“english_name” =》 “hunan”,
“goodsCount” =》 “33”,
“img_url” =》 “www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png”
),
2 =》 array(
“c_area_id” =》 “2”,
“c_area_name” =》 “北京”,
“c_area_pic” =》 “04732773115385188.jpg”,
“english_name” =》 “beijing”,
“goodsCount” =》 “70”,
“img_url” =》 “www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png”
),
)
),
“goods_info” =》 array(
“cnt” =》 1,
“p” =》 1,
“ps” =》 20,
“list” =》 array(
0 =》 array(
“goods_id” =》 “211”,
“goods_name” =》 “大保健包夜”,
“goods_price” =》 “1000.00”,
“main_image” =》 “www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png”
)
)
)
);
接口尽量按一个页面一个接口,但是公用的一些接口信息,如地区分类信息等,做单独接口处理,但是结果参数规范,按照上面数据格式返回数据。
返回的xml数据格式,如下:
《?xml version=“1.0” encoding=“utf-8”?》
《data》
《code》1《/code》
《msg/》
《ad》
《cnt》22《/cnt》
《p》2《/p》
《ps》20《/ps》
《list》
《article》
《advtitle》这是广告标题1《/advtitle》
《advlink》m.xxxxxx.cn/advert/tbsync/《/advlink》
《opentarget》2《/opentarget》
《imgurl》www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png《/imgurl》
《/article》
《article》
《advtitle》这是广告标题2《/advtitle》
《advlink》m.xxxxxx.cn\/advert\/newerDerate\/?430《/advlink》
《opentarget》2《/opentarget》
《imgurl》www.xxxxxx.cn\/data\/upload\/shop\/adv\/04782825931526321.png《/imgurl》
《/article》
《/list》
《/ad》
《area》
《cnt》3《/cnt》
《p》1《/p》
《ps》20《/ps》
《list》
《article》
《careaid》16《/careaid》
《careaname》深圳《/careaname》
《careapic》04732773115385188.jpg《/careapic》
《englishname》shenzhen《/englishname》
《goodsCount》21《/goodsCount》
《imgurl》www.xxxxxx.cn\/data\/upload\/shop\/adv\/04825861373036910.png《/imgurl》
《/article》
《article》
《careaid》18《/careaid》
《careaname》湖南《/careaname》
《careapic》04732773115385188.jpg《/careapic》
《englishname》hunan《/englishname》
《goodsCount》33《/goodsCount》
《imgurl》www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png《/imgurl》
《/article》
《article》
《careaid》2《/careaid》
《careaname》北京《/careaname》
《careapic》04732773115385188.jpg《/careapic》
《englishname》beijing《/englishname》
《goodsCount》70《/goodsCount》
《imgurl》www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png《/imgurl》
《/article》
《/list》
《/area》
《goodsinfo》
《cnt》1《/cnt》
《p》1《/p》
《ps》20《/ps》
《list》
《article》
《goodsid》211《/goodsid》
《goodsname》大保健包夜《/goodsname》
《goodsprice》1000.00《/goodsprice》
《mainimage》www.xxxxxx.cn/data/upload/shop/adv/04825861373036910.png《/mainimage》
《/article》
《/list》
《/goodsinfo》
《/data》
其中list中的数字下标用article代替,附php版本自定义的递归数组转xml函数:
function ArrtoXml($data, $rootNodeName = ‘data’, $xml=null)
{
// turn off compatibility mode as simple xml throws a wobbly if you don‘t.
if (ini_get(’zend.ze1_compatibility_mode‘) == 1)
{
ini_set (’zend.ze1_compatibility_mode‘, 0);
}
if ($xml == null)
{
$xml = simplexml_load_string(“《?xml version=’1.0‘ encoding=’utf-8‘?》《$rootNodeName /》”);
}
// loop through the data passed in.
foreach($data as $key =》 $value)
{
// no numeric keys in our xml please!
if (is_numeric($key))
{
// make string key.。.
$key = “article”。 (string) $key;
}
// replace anything not alpha numeric
$key = preg_replace(’/[^a-z]/i‘, ’‘, $key);
// if there is another array found recrusively call this function
if (is_array($value))
{
$node = $xml-》addChild($key);
// recrusive call.
ArrtoXml($value, $rootNodeName, $node);
}
else
{
// add single node.
$value = htmlentities($value);
$xml-》addChild($key,$value);
}
}
// pass back as string. or simple xml object if you want!
return $xml-》asXML();
}
注意事项:
当返回js时,即data_type=js,在json串前加入 RESULT=,即格式为RESULT={json串}。
当返回html时,即data_type=html,在返回的字符串中加入html头部,即DOCTYPE、HEAD、BODY等信息。
2.添加,修改,删除
当调用增删改数据接口时,code为1时表操作成功,当code大于1时,表示操作失败,并在msg中返回错误信息,如下:
{
“code”:101,
“msg”:“操作参数丢失!”
}
当然,若增删改后仍然需要返回响应数据,格式同查询。
全部0条评论
快来发表一下你的评论吧 !