纷来商城系统接入引导

纷来商城系统接入引导

 文档版本号:V1.0.0 文档编号 : 20191106
 密级: 保密 归属部门: 研发部
 产品名: 纷来商城 子系统: 
 编写人: 阳前云 日期: 2019-11-06

1、引言

1.1文档概述

本文档提供商品同步以及订单同步等能力

1.2阅读对象

本文档阅读对象:纷来商城对接的第三方渠道开发人员

2、接口调用

2.1接口规则

名称 对应内容值 
 测试请求地址http://manage.51zheli.com/  
 生产请求地址 https://manager.fenlaishop.com
 传输方式 采用HTTP传输
 提交方式 如没有特别说明,默认采用POST提交方式  application/json
 字符编码 统一采用UTF-8字符编码
 签名算法 ascll排序+MD5加密签名
 签名要求 请求和接收数据均需要校验签名

2.2 统一请求参数  

字段名 变量名  必填类型  示例值说明 
 渠道 channelCode string FL  分配给该销售渠道的渠道编码
 sign sign是(无参数为否) string  8ee69888cef44e030721fd304508672 加密算法获取

2.3 统一返回响应参数 

返回值类型:JSON ( application/json )

返回码描述:

{

    "code":"0",

    "msg":"success"

}

返回码    返回信息    说明 
 0 success 成功
 -1  程序猿小哥哥刚才摔倒啦!请等他爬起来~ 失败

2.4 签名规则 

无论是请求还是应答,签名原始串按以下方式组装成字符串:
    post请求头需包含 channelCode(渠道号,该信息由纷来定义分配)和 sign  (签名字段,该信息由body内容数组按照键名的升序排序后拼接成字符串再拼接channelCode和key值再md5加密而成,最后转为小写);
java签名工具类
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Assert;

import javax.servlet.ServletRequest;
import java.util.Enumeration;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;

/**
* 签名工具
*/
public class SignUtils {
public static String getMD5Sign(JSONObject paramJson, String signKey) {
Assert.notNull(paramJson, "request params must not be null");
Set<String> set = paramJson.keySet();
TreeMap<String,String> treeMap = new TreeMap<>();
for(String key:set){
if(!"sign".equals(key)){
treeMap.put(key, paramJson.getString(key));
}
}
treeMap.put("signKey", signKey);
Set<Entry<String, String>> setKey = treeMap.entrySet();
StringBuilder sb = new StringBuilder();
setKey.forEach(e -> {
sb.append(e.getKey()).append(e.getValue());
});
return DigestUtils.md5Hex(sb.toString());
}
}