接入规范
一、平台目的
本平台旨在规定福佑开放平台与第三方接入平台的交互方式,交互规则,接口定义。每一个接入方福佑会分配一个唯一的APPKey 和APPSecret 标示。APPSecret 作为接口数据交互时生成签名sign 的参数,需要接入方妥善保护,不可外泄。
二、交互设计规则
◆安全性
对于远程交互,安全第一,需要避免数据在传输过程中被篡改,避免接口为其他地方恶意调用,影响服务器性能,对接双方接口交互的数据需要进行加密处理。
◆稳定性
对接双方需要保证双方交互接口的稳定性,避免`接口不稳定导致通信过程中数据不及时,甚至数据丢失,进而对平台客户产生影响。
◆高性能
需要交互的接口性能较高,需要双方的接口都能快速处理调用方发送的请求。
三、对接规范和流程
◆传输协议
福佑开放平台管理系统所有API基于HTTP协议来调用的。
◆数据传输格式
所有接口暂只支持json消息格式;所有接口都是post请求。
◆编码格式:UTF-8
交互编码格式统一用UTF-8,避免传递中文数据出现乱码。
◆安全验证
无论第三方接入方调用福佑接口还是福佑调用第三方接口统一使用一套签名认证规则。
系统参数请求方式 :
请求的服务路径后拼加参数: appKey=2&reqTimestamp=1484813846&signStr=7752da15a92e6ca6a277ea305f090ecd
例: https://www.open.fuyoukache.com/api/query/create?appKey=2&reqTimestamp=1484813846&signStr=7752da15a92e6ca6a277ea305f090ecd
signStr 生成规则: signStr=MD5(appKey&reqTimeStamp&appSecret) //请按照该顺序
注释:
appKey | 应用的唯一标识 |
reqTimestamp | 当前请求时间戳(10位) |
signStr | 签名字符串 |
appSecret | 应用的密钥 |
业务参数请求方式:是JSON格式的结构体,以http body的方式发送到服务器端。
◆认证实例
PHP authString sample
$appKey = 2 $reqTimestamp = 1484813846 $appSecret = "5c0b6ce0ab09e5ebcf81e697786fe0d4" $signStr = md5("{$appKey}&{$reqTimestamp}&{$appSecret}")
Java authString sample
int appKey = 2; int reqTimestamp = 1484813846; String appSecret = "5c0b6ce0ab09e5ebcf81e697786fe0d4"; String signStr = MD5Helper.md5(String.format("%s&%s&%s", appKey, reqTimestamp, appSecret));
Python authString sample
import hashlib appKey = 2; reqTimestamp = 1484813846; appSecret = "5c0b6ce0ab09e5ebcf81e697786fe0d4" md5gen = hashlib.md5() md5gen.update('%s&%s&%s' % (sysKey, reqTimeStamp, sysScret)) signStr = md5gen.hexdigest()
四、常见错误编码
返回编码 | 对应含义 |
---|---|
0 | 操作成功 |
1 | 操作异常 |
2 | 服务器出现错误 |
3 | 未查询到需要的结果 |
4 | 参数错误, 详情参考返回错误描述 |
8 | 重复内容 |
99 | 认证失败 |
100 | 下单超过时效 |