文档中心

API调用指南

开放平台(FW)API 调用为HTTP 方式,开发者可以按一定格式自行拼装HTTP请求进行API 调用,以下内容主要为说明具体调用原理,具体可参考实例代码 。

API接口说明

调用FW的API接口时,即是与FW服务器进行一次数据交互的过程,所有的API都是基于REST基础的接口规范,可兼容多种编程语言,同时大部分API都支持http post方法。

API接口调用

1.功能说明

系统介绍调用环境入口地址,接口的参数、签名算法、注意事项

2.环境入口地址

API正式环境地址:http://apicloud.fineex.net/Interface/InterfaceWeb/InterfaceFwWMS.ashx

API测试环境地址:http://apicloud.uat.fineex.net/Interface/InterfaceWeb/InterfaceFwWMS.ashx

3.测试账号

app_key:888888

app_secret:123321

partner_id:0010000002

wareHouseCode:25670(联调测试仓)上线时会根据入仓情况提供正式仓库编码

4.签名算法

调用API 时需要对请求参数进行签名验证,FW服务器也会对该请求参数进行验证是否合法的。方法如下:

根据参数名称(除签名)将所有请求参数按照字母先后顺序排序:key + value .... key + value

例如:将foo=1,bar=2,baz=3 排序为bar=2,baz=3,foo=1,参数名和参数值链接后,得到拼装字符串bar2baz3foo1

再将请求报文XML数据拼接在后 如 请求报文为:xmldata 得到字符串bar2baz3foo1xmldata

将app_secret 拼接到参数字符串头、尾进行md5加密后,再转化成大写,格式是:byte2hex(md5(app_secretkey1value1key2value2...xmldataapp_secret))

如 app_secret=123 得到字符串123bar2baz3foo1xmldata123

为方便新客户对接进行签名验证,现新增签名验证方法:

URL请求中加入请求参数testSecret(testSecret本身不参与签名加密,值为加密参数Secret的值)【签名验证文档下载】

5.API调用注意事项

所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值不做urlencode编码。请求的Content-Type是application/x-www-form-urlencoded;charset=utf-8

所有api强制使用http post方法

注意POST的URL是带参数的;POST的报文数据是 XML格式;

调用方为【发网】的api流向是【发网-post-客户】也遵循此套规则,提供回调地址,发网按此套标准进行加密组装url和body进行post推送

调用方为【商家】的api流向是【客户-post-发网】;

若服务器有白名单等限制,应提前提出来,由发网人员提供服务器ip加入白名单列表。


sign签名算法 签名仍有疑问?请下载上面的【发网仓配接口签名验证文档】获取帮助

1.输入参数为

method=fineex.wms.trade.cancel

timestamp=2015-04-22 09:05:27

app_key=test_appkey

v=2.0

partner_id=0010000002

2.按首字母升序排列

app_key=test_appkey

method=fineex.wms.trade.cancel

partner_id=0010000002

timestamp=2015-04-22 09:05:27

v=2.0

3.连接字符串

连接参数名与参数值,并在结尾加上请求报文XML数据 msg,此处假设 msg=xmldata

然后在首尾加上app_secret,此处假设app_secret=test,如下:

testapp_keytest_appkeymethodfineex.wms.trade.cancelpartner_id0010000002timestamp2015-04-22 09:05:27v2.0xmldatatest

4.生成签名 sign

32位大写MD5值->DA6BB67466A03A5F0CB586E5A64A2F97

5.拼装URL请求

将所有参数值转换为UTF-8编码,然后拼装,如下:

http://apicloud.fineex.net/Interface/InterfaceWeb/InterfaceFwWMS.ashx?method=fineex.wms.trade.cancel&timestamp=2015-04-22 09:05:27&app_key=test_appkey&v=2.0&partner_id=0010000002&sign=DA6BB67466A03A5F0CB586E5A64A2F97


6.常见问题

1.使用body原文(xml)进行签名,大多数签名失败是参与签名的xml和请求的不一致,比如请求的是带换行的,参与签名的是压缩的。 2.timestamp请使用当前时间(DateTime.Now)且url中的timestamp和参与签名的timestamp需一致