# 系统对接
# 导读
此处大部分接口请求必须携带签名计算后的sign参数,请先了解清楚如何计算签名再进行开发
# 签名计算
将所有传递的参数名按照字母升序排序进行拼接,然后将参数拼接好的结果后面加上用户密钥,最后将拼接的最终结果MD5
Ps:拼接时不会计算sign和参数值为空的参数
# 签名举例:
要传递的参数为:c=1&b=2&a=3
则签名计算方法为:md5(a=3&b=2&c=1.用户密钥);
# PHP签名示例:
<?php
/**
* @param $param 需要签名的参数数组
* @param $key 用户密钥(用户后台生成的key)
* @return string
*/
function sign($param, $key)
{
$signPars = "";
ksort($param);
foreach ($param as $k => $v) {
if ("sign" <> $k && "" != $v) {
$signPars .= $k . "=" . $v . "&";
}
}
$signPars = trim($signPars, '&');
$signPars .= $key;
$sign = md5($signPars);
return $sign;
}
$Key = "9167078df48be0327a33586cd82195b1"; //用户后台生成的对接密钥
$DataPost = ['a' => '3','b' => "2",'c' => "1"]; //里面可存放需要传递的参数,如下单信息,订单信息等
$Sign = sign($DataPost,$Key); //签名结果
$DataPost = array_merge([
'sign' => $Sign
], $DataPost); //在需要签名的数组里面插入sign签名参数
$DataPost; //需要传递的参数数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 商品列表
http(s)://域名/api.php?act=DockingGoodsList
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
act | string | 是 | 判断参数 | ||
url | string | 是 | 你的域名 | ||
id | number | 是 | 用户ID | ||
sign | string | 是 | 签名值 |
# act的合法值
属性 | 说明 | 最低版本 |
---|---|---|
DockingGoodsList | 判断参数 |
# url的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxx.xx | 发起请求的站点域名 |
# id的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1000+n | 用户编号,在对方站点内注册用户获取 |
# sign的合法值
属性 | 说明 | 最低版本 |
---|---|---|
签名 | 传值签名 |
# 返回值
{
"state": 1,
"msg": "商品列表获取成功",
"data": [
{
"gid": "商品ID",
"cid": "分类ID",
"title": "商品名称"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 商品详情
http(s)://域名/api.php?act=DockingGoodsLog
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
act | string | 是 | 判断参数 | ||
url | string | 是 | 你的域名 | ||
id | number | 是 | 用户ID | ||
gid | number | 是 | 商品ID | ||
sign | string | 是 | 签名值 |
# act的合法值
属性 | 说明 | 最低版本 |
---|---|---|
DockingGoodsLog | 判断参数 |
# url的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxx.xx | 发起请求的站点域名 |
# id的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1000+n | 用户编号,在对方站点内注册用户获取 |
# gid的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1+n | 商品编号 |
# sign的合法值
属性 | 说明 | 最低版本 |
---|---|---|
签名 | 传值签名 |
# 返回值
{
"state": 1,
"msg": "商品详情获取成功",
"data": {
"gid": "商品ID",
"cid": "分类ID",
"name": "商品名称",
"min": "最小下单数量",
"max": "最大下单数量",
"image": "商品图片",
"picture": "商品详情图",
"value": "商品输入框",
"content": "商品说明",
"alert": "商品弹窗提示",
"quantity": "商品下单数量",
"custom": "商品自定义价格规则",
"price": "购买商品价格",
"points": "兑换所需积分",
"level": "你的等级名称",
"level_arr": {
"1": {
"name": "可提示等级名称",
"price": "升级后的商品价格",
"points": "升级后的商品兑换价格"
}
},
"inputs":"下单参数,下单时会用到",
"input": "下单输入框名称"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 商品下单
http(s)://域名/api.php?act=Docking_buy
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
act | string | 是 | 判断参数 | ||
url | string | 是 | 你的域名 | ||
id | number | 是 | 用户ID | ||
num | number | 是 | 商品下单数量 | ||
gid | number | 是 | 商品ID | ||
type | number | 1 | 是 | 付款方式 | v1.8 |
sign | string | 是 | 签名值 |
# act的合法值
属性 | 说明 | 最低版本 |
---|---|---|
Docking_buy | 判断参数 |
# url的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxx.xx | 发起请求的站点域名 |
# id的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1000+n | 用户编号,在对方站点内注册用户获取 |
# num的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1+n | 商品下单数量 |
必须是商品最下下单数量的整数
# gid的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1+n | 商品编号 |
# type的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1 | 余额付款 | v1.8 |
2 | 积分付款 | v1.8 |
# sign的合法值
属性 | 说明 | 最低版本 |
---|---|---|
签名 | 传值签名 |
# 返回值
{
"code": 1,
"order": "订单号",
"money": "余额/剩余积分",
"msg": "返回提示信息",
"token": "[JSON]卡密" //仅在卡密对接商品下单时出现
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 订单查询
http(s)://域名/api.php?act=DockingQuery
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
act | string | 是 | 判断参数 | ||
url | string | 是 | 你的域名 | ||
id | number | 是 | 用户ID | ||
order | number | 是 | 订单号 | ||
sign | string | 是 | 签名值 |
# act的合法值
属性 | 说明 | 最低版本 |
---|---|---|
DockingQuery | 判断参数 |
# url的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxx.xx | 发起请求的站点域名 |
# id的合法值
属性 | 说明 | 最低版本 |
---|---|---|
1000+n | 用户编号,在对方站点内注册用户获取 |
# order的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxxxxxxx | 下单后返回的订单号 |
# sign的合法值
属性 | 说明 | 最低版本 |
---|---|---|
签名 | 传值签名 |
# 返回值
{
"state": 1,
"msg": "订单xxxxx数据获取成功",
"money": "余额/剩余积分",
"data": {
"state": "1:已完成,2:待处理,3:异常,4:正在处理,5:已退款,6:售后维权,7:已评价",
"num": "下单数量",
"price": "付款金额",
"remark": "订单备注信息",
"input": "下单信息",
"Initial": "订单初始数量,如pdd砍价,初始0",
"Present": "订单当前数量,当前100,实时数量",
"addtiem": "订单创建时间"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 系统克隆
http(s)://域名/?AppApies&identification=CommodityCloning&int=passivity
# 参数
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
token | string | 是 | 克隆密钥 | ||
url | string | 是 | 你的域名 | ||
ip | string | 是 | 你的IP |
# token的合法值
属性 | 说明 | 最低版本 |
---|---|---|
32位key | 克隆密钥,同系统克隆插件内获取 |
# url的合法值
属性 | 说明 | 最低版本 |
---|---|---|
xxx.xx | 发起请求的站点域名 |
# ip的合法值
属性 | 说明 | 最低版本 |
---|---|---|
x.x.x.x | 你的IP地址 |
# 返回值
{
"code": 1,
"token": "克隆密钥",
"msg": "克隆数据获取成功!",
"data_shequ": "货源列表",
"data_goods": "商品列表",
"data_money": "已废弃,原价格模板",
"data_freight": "运费模板列表",
"data_price": "等级列表"
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
注意:若想使用此接口,对方站点必须在应用商店安装了同系统克隆插件!,否则无法获取!