其它文档¶
公告/常见问题/用户反馈接口: docs/yjg
其它证书: docs/nwc
签名算法¶
当提交的数据为JSON,请不要忘记在HTTP头(HEADERS)设置:Content-Type: “application/json; charset=UTF-8” 为防止未授权API调用,以及API调用过程中被黑客恶意篡改,以下接口需要携带签名。
需要签名的参数:
URL参数(URL “?”后的那些)
BODY里的参数(表单提交,Content-Type: application/x-www-form-urlencoded,Content-Type: multipart/form-data)
JSON参数(Content-Type: application/json)
例子:
access-key: 111111111111111111111111
access-secret: 222222222222222222222222222222222222
签名过程如下:
获取当前UNIX时间戳,如:1463540862.92
把刚才UNIX时间戳放到HTTP头(HEADERS)中,格式为:Time: 1463540862.92
生成UUID(通用唯一识别码,也叫GUID),如:f7f44dc0-129c-11e6-83aa-af9ccd7878b7
把刚才UUID放到HTTP头(HEADERS)中,格式为:UUID: f7f44dc0-129c-11e6-83aa-af9ccd7878b7
对API请求参数,根据参数名称的ASCII码表的顺序排序(包括URI上的。如有内嵌字典对象也需要排序;因数组顺序是固定的,所以不用排序),并跳过布尔值、null值(字典对象的参数名称需要保留,只跳过该值)。如:foo=1, bar=2, foo_bar=3, foobar=4排序后的顺序是bar=2, foo=1, foo_bar=3, foobar=4。
将UNIX时间戳、UUID及排序好的参数名和参数值拼装在一起,根据上面的示例得到的结果为:1463540862.92f7f44dc0-129c-11e6-83aa-af9ccd7878b7bar2foo1foo_bar3foobar4。
把拼装好的字符串采用utf-8编码
使用HMAC MD5给拼装好的字符串签名(使用access-secret)
将摘要得到的字节流结果使用十六进制表示,示例为:b1d6deb4198873917bf5ba2d033671f5
把十六进制摘要使用BASE64编码,示例为:YjFkNmRlYjQxOTg4NzM5MTdiZjViYTJkMDMzNjcxZjU=
BASE64编码后加上授权KEY放到请求的HTTP头(HEADERS)中,格式为:Auth: access-key:sign,示例为:Auth: 111111111111111111111111: YjFkNmRlYjQxOTg4NzM5MTdiZjViYTJkMDMzNjcxZjU=
Python 示例签名代码:
import hmac, base64
def dict2str(d):
s = u""
for k in sorted(d.keys()):
v = d[k]
if isinstance(v, dict):
s += u"%s%s" % (k, dict2str(v))
elif isinstance(v, (list, tuple)):
s += u"%s%s" % (k, list2str(v))
elif isinstance(v, bool) or v is None:
s += u"%s" % k
else:
s += u"%s%s" % (k, v)
return s
def list2str(l):
s = u""
for v in l:
if isinstance(v, dict):
s += dict2str(v)
elif isinstance(v, (list, tuple)):
s += list2str(v)
elif not isinstance(v, bool) and v is not None:
s += u"%s" % v
return s
def sign(secret, timestamp, UUID, param):
p_str = unicode(timestamp) + unicode(UUID) + dict2str(param)
h = hmac.new(str(secret), p_str.encode("utf-8")).hexdigest()
return base64.encodestring(h).strip()
错误码¶
40100: 令牌缺失
40101: 令牌失效
40102: 用户权限不足
40103: 管理权限不足
40110: 用户名或密码错误
40111: 用户不存在
40310: 该功能需要升级为VIP会员
40311: 库存查询可用次数不足
供应商的新增、编辑、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:suppliers/ 提交方法:POST/PUT/GET 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
新增:POST suppliers/ 更新:PUT suppliers/xxx (xxx为供应商简称) 搜索:GET suppliers/ (支持翻页(page/page_size)及排序(sort/desc),参考用户列表接口) 查看:GET suppliers/xxx (xxx为供应商简称)
字段说明(类型皆为字符串): supplier 供应商简称 其它见用户信息的 info 属性(info里的,不包含info)
特定权限控制: 查看特定供应商,需要“查看供应商权限”,目前是C/D类用户 其它皆需要管理员权限
使用统计¶
(需要签名)
接口路径:statistics/ 提交方法:POST 提交格式:JSON等签名支持的格式 返回格式:JSON
提交格式及参数说明:
type:类型代码(数字),1 IOS 2 Android 3 移动端 4 网页端
code:功能代码(数字),1 证书查询 2 金价 3 计算器 4 库存查询 5 钻石价格牌 6 类型筛选器 7 价格筛选器 8 成本核算器 9 预售调价器 10 库存新增
token: 令牌(可选,非必要,用户如果登陆了那就要加上,可记录用户相关信息)
返回格式:
{
"result": true
}
为用户创建上传库存授权码¶
(需要签名、需要令牌、需要管理权限)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:stocks/accesses/ 提交方法:POST 提交格式:JSON等签名支持的格式 返回格式:JSON
提交格式及参数说明:
{
"user": "18600000001", // 用户名
"supplier": "NAME" // 数据中心对应的供应商名称
}
返回格式:
{
"result": true,
"msg": "提示信息"
}
库存上传¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。
接口路径:stocks/files/
提交方法:POST
提交格式:multipart/form-data
返回格式:JSON
返回格式:
提交格式及参数说明:
参数请参考:http://dc.checkgems.com/api/v1/
区别是需要带上令牌
库存新增/编辑/删除¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:stocks/ 提交方法:POST/PUT/DELETE 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
参数请参考:http://dc.checkgems.com/api/v1/
区别是需要带上令牌
库存批量上下架¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:stocks/shelves/ 提交方法:POST/DELETE 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
参数请参考:http://dc.checkgems.com/api/v1/
区别是需要带上令牌
经销商获取/过滤/搜索¶
(需要签名、需要令牌)
接口路径:dealers/ 方式2: dealers/xxx (xxx为用户名) 提交方法:GET 提交格式:JSON等签名支持的格式 返回格式:JSON 提交格式及参数说明:
功能用法参数属性参考用户列表接口 翻页等控制功能可用,翻页(page/page_size)及排序(sort/desc) 过滤条件只限于info里的各项,如搜索中国地区的经销商: dealers/?info. Place=CHN
图片上传/查看¶
(上传需要签名和令牌)
接口路径:images/ 提交方法:POST/GET 提交格式:multipart/form-data 返回格式:JSON 此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
视频上传¶
(上传需要签名和令牌)
接口路径:videos/ 提交方法:POST 提交格式:multipart/form-data 返回格式:JSON 此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
统包货的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:parcels/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
统包货的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:parcels/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
成品白彩钻的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:inlays/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
成品白彩钻的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:inlays/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
空托的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:inlay-settings/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
空托的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:inlay-settings/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
彩宝的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:gems/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
彩宝的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:gems/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
翡翠的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:emeralds/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
翡翠的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:emeralds/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
素金的新增、编辑、删除、查看¶
(需要签名、需要令牌、特定权限控制)
接口路径:prime-golds/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/
素金的搜索/筛选¶
(需要签名、需要令牌、特定权限控制)
接口路径:prime-golds/filters/ 提交格式及参数说明:
参考:http://dc.checkgems.com/api/v1/ inStock: 只搜索现货
联系客服¶
(需要签名)
接口路径:help/chat/ 提交方法:GET 提交格式:JSON等签名支持的格式 返回格式:JSON 提交格式及参数说明:
APP < =2.3.0 type: 客服类型 “1” 通用中文客服 “2” 通用英文客服 例子: help/chat/?type=1
返回:
{
"result": True,
"user": "18600000000",
"nick": "客服MM",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg"
}
APP > =2.3.1 GET help/chat/
返回:
{
"result": True,
"rows": [
{
"user": "18600000000",
"nick": "客服MM",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg",
"description": "中文客服"
},
...
]
}
好友/联系人¶
(需要签名,需要令牌)
接口路径:contacts/friends/ 提交方法:GET 提交格式:JSON等签名支持的格式 返回格式:JSON 获取好友提交/返回格式及参数说明:
好友列表:GET contacts/friends/
单个好友信息:GET contacts/friends/186000000001 (比列表更详细的个人信息)
返回:
{
"result": true,
"rows": [
{
"user": "18600000001",
"nick": "昵称1",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg",
"nick_remark": "备注名1",
"tags": ["123456", "654321"] //标签ID,注意:有可能跟该ID不对应任何标签,这种情况当无该标签
},
{
"user": "18600000002",
"nick": "昵称2",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg",
"nick_remark": "备注名2",
"tags": ["123456", "654321"] //标签ID,注意:有可能跟该ID不对应任何标签,这种情况当无该标签
},
...
]
}
同意好友请求提交/返回格式及参数说明:
同意好友请求:POST contacts/friends/
{
"user": "186000000001", //需要对方已经提交了好友添加请求
"nick_remark": "备注名",
"tags": ["123456", "654321"] //联系人标签ID
}
返回:
{
"result": false,
"msg": "找不到该用户或者该用户没有给你发送添加好友请求",
}
删除朋友提交说明:
DELETE contacts/friends/*** (***为用户名)
返回:
{
"result": true,
}
编辑好友、把联系人添加到标签,提交参数说明:
PUT contacts/friends/*** (***为用户名)
注:不需要每次传递所有可能的参数,如果只改标签,那么只传递tags即可
{
"nick_remark": "备注名",
"tags": ["1234567", "7654321"] //标签ID
}
返回:
{
"result": true
}
新朋友¶
(需要签名,需要令牌)
接口路径:contacts/new-friends/ 提交格式:JSON等签名支持的格式 返回格式:JSON 提交参数说明:
新增新好友(发送好友请求)
POST contacts/new-friends/
{
"user": 18000000001,
"nick_remark": "备注名",
"info": "我是XX",
"tags": ["123456", "654321"] //联系人标签ID
}
返回:
{
"result": true,
"msg": "添加好友请求已经发送",
}
删除:
DELETE contacts/new-friends/*** (***为用户名)
返回:
{
"result": true,
}
获取新朋友列表提交说明
GET contacts/new-friends/
{
"page": 0, //页数,默认0
"page_size": 50 //每页条目数,最大为1000,默认50
}
返回:
{
"result": true,
"page": 0, //当前页
"page_size": 50, //每页条目数
"count": 500, //总条目
"page_total": total, //总页数
"rows": [
{
"user": "18600000001", //账户
"nick": "GG", //昵称
"portrait": "http://abc.com/abc.jpg", //头像
"status": 1, //状态说明: 1 待审核; 2 已通过
"apply": {
"info": "我是xx", //申请信息
"update_time": "2016-12-28 10:21:34" //申请时间
}
},
...
]
}
联系人标签管理¶
(需要签名,需要令牌)
接口路径:contacts/tags/ 提交格式:JSON等签名支持的格式 返回格式:JSON 新增提交参数说明:
POST contacts/tags/
{
"name": "标签名", //必填
"users": ["123", "456"] //可选
}
删除提交参数说明:
DELETE contacts/tags/*** (***为标签id)
把某用户移出标签参数说明:
DELETE contacts/tags/***/?users=###,###,### (***为标签id,###为用户)
修改标签提交参数说明:
PUT contacts/tags/*** (***为标签id)
{
"name": "标签名", //可选
"users": ["123", "456"] //可选
}
获取标签提交/返回参数说明:
GET contacts/tags/
返回:
{
"result": true,
"tags": {
"1234567": { //1234567为标签ID
"name": "标签1",
"users": [
{
"user": "18600000001",
"nick": "昵称1",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg",
"nick_remark": "备注名1",
"tags": ["123456", "654321"] //标签ID,注意:有可能跟该ID不对应任何标签,这种情况当无该标签
},
{
"user": "18600000002",
"nick": "昵称2",
"portrait": "http://api.checkgems.com/static/images/portrait.jpg",
"nick_remark": "备注名2",
"tags": ["123456", "654321"] //标签ID,注意:有可能跟该ID不对应任何标签,这种情况当无该标签
},
...
},
"1234568": { //1234568为标签ID
...
}
}
}
联系人黑名单管理¶
(需要签名,需要令牌)
接口路径:contacts/blacklists/ 提交格式:JSON等签名支持的格式 返回格式:JSON 新增参数说明:
POST contacts/blacklists/
{
"user": "18600000001",
}
返回:
{
"result": true
}
删除参数说明:
DELETE contacts/blacklists/18600000001
返回:
{
"result": true
}
获取列表参数说明:
GET contacts/blacklists/
返回:
{
"result": true,
"users": [
{
"user": "18600000001", //账户
"nick": "GG", //昵称
"portrait": "http://abc.com/abc.jpg", //头像
},
{
"user": "18600000002", //账户
"nick": "GG", //昵称
"portrait": "http://abc.com/abc.jpg", //头像
}
]
}
联系人群组管理¶
(需要签名,需要令牌)
接口路径:contacts/groups/ 提交格式:JSON等签名支持的格式 返回格式:JSON 创建、把用户加入群组参数说明:
创建:
POST contacts/groups/
参数:
{
"name": "亲友团",
"is_public": True, //是否为公开群,取值也可以为1和0
"users": ["18600000001", "18600000002"] //需要已添加好友,非好友直接忽略掉,不会有任何提示
}
返回:
{
"result": true,
"_id": "123", //群ID
"name": "群名称"
}
把用户加入群:
POST contacts/groups/*** (***为群id)
参数:
{
"users": ["18600000001", "18600000002"] //需要已添加好友,非好友直接忽略掉,不会有任何提示
}
返回:
{
"result": true
}
修改群组名称等信息参数说明:
必须为群主才能修改群信息
PUT contacts/groups/*** (***为群id)
{
"name": "亲友团",
"is_public": True, //是否为公开群,取值也可以为1和0
"owner": "18600000002" //群主转让
}
返回:
{
"result": true
}
解散群组参数说明:
删除群组需要自己为群主
DELETE contacts/groups/*** (***为群id)
返回:
{
"result": true
}
退出、把某用户踢出群组参数说明:
DELETE contacts/groups/***/?users=###,###,### (***为群id,###为用户,退出用户为自己时填自己的账号)
返回:
{
"result": true
}
获取群组信息参数说明:
GET contacts/groups/*** (***为群id)
返回:
{
"result": true,
"name": "亲友团",
"is_public": True, //是否为公开群
"users": [
{
"user": "18600000001", //账户
"nick": "GG", //昵称
"nick_remark": "GG1", //备注昵称
"portrait": "http://abc.com/abc.jpg", //头像
},
{
"user": "18600000002", //账户
"nick": "GG", //昵称
"nick_remark": "GG2", //备注昵称
"portrait": "http://abc.com/abc.jpg", //头像
}
]
}
获取群组列表
GET contacts/groups/
返回:
{
"result": true,
"rows": [
{
"_id": "12345", //群组ID
"name": "亲友团",
"is_public": True, //是否为公开群
"owner": "18600000001" //群主
},
{
"_id": "123456", //群组ID
"name": "亲友团2",
"is_public": True, //是否为公开群
"owner": "18600000001" //群主
}
]
}
获取添加群成员列表(用于邀请朋友进群,如果有缓存好友列表推荐自己处理)
GET contacts/groups/***?add-members=1 (***为群ID)
返回:
{
"result": true,
"users" [
{
"user": "18600000001", //账户
"nick": "GG", //昵称
"nick_remark": "GG1", //备注昵称
"portrait": "http://abc.com/abc.jpg", //头像
"is_member": true //该好友已经是群成员
},
{
"user": "18600000002", //账户
"nick": "GG", //昵称
"nick_remark": "GG2", //备注昵称
"portrait": "http://abc.com/abc.jpg", //头像
"is_member": false //该好友已经不是群成员
}
]
}
裸钻库存导出¶
(需要签名)
接口路径:stocks/archives/ 提交方法:POST 返回格式:JSON 提交/返回格式:
参考:http://dc.checkgems.com/api/v1/ 参数:in_stock: true 导出现货
裸钻供应商库存最后更新时间¶
(需要签名)
接口路径:dpi/suppliers-stocks-update/ 提交方法:GET 提交/返回格式:
参考:http://dc.checkgems.com/api/v1/ 多个字段 subscription_threshold:订阅阈值,该供应商新增数量超过该值会有消息提醒
生成升级会员支付订单¶
(需要HTTPS、需要签名、需要令牌)
接口路径:pay-order/vip/ 提交方法:POST 提交/返回格式:
提交订单:
{"method": "wxpay"}
参数说明:
method: 支付方式 "wxpay" 微信支付
返回:
{"result": false,
"msg": "下单失败"
"pay_data": {"package": "Sign=WXPay", "timestamp": "1505722584", "sign": "ABC", "partnerid": "123", "appid": "wx123", "prepayid": "wx321", "noncestr": "abc"}
}
pay_data: 提交到微信支付所需的参数
msg: 当result为false时存在,描述失败原因
临时体验权限支付订单¶
(需要HTTPS、需要签名、需要令牌)
接口路径:pay-order/mode-experience/ 提交方法:GET/POST 提交/返回格式:
获取价格 GET
返回:
{"result": true,
"total_fee": 1}
total_fee: 价格,单位分
提交订单 POST
参考:pay-order/vip/
转账付款订单¶
(需要HTTPS、需要签名、需要令牌)
接口路径:pay-order/transfer/ 提交方法:POST 提交/返回格式:
提交订单 POST
{
"method": "wxpay",
"fee": 100,
"trade_comment: "随便花"
}
参数说明:
method: 支付方式 "wxpay" 微信支付
fee: 支付金额,单位:分
trade_comment: 交易备注,最大长度:60个字符,汉字每个占6个字符(最大支持10个汉字)
返回参考:pay-order/vip/
订阅¶
(需要签名、需要令牌)
接口路径:subscription/ 提交方法:GET/POST/PUT 提交格式:JSON等签名支持的格式 返回格式:JSON 提交/返回格式:
取得供应商更新的订阅列表:GET subscription/dpi_suppliers_update/
返回:
{"result": true,
"dpi_suppliers_update": {"VAIBHAV": 50}
}
订阅设置:POST/PUT subscription/
{"dpi_suppliers_update": {"VAIBHAV": 50}}
参数说明:
dpi_suppliers_update: 供应商更新提醒
VAIBHAV: 供应商(传supplier,不是shortname)
50: 新增数量阈值,即超过多少数值会有消息提醒
返回:
{"result": true}
素金金价¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:prime-golds/price/ 提交方法:GET/PUT 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
参数请参考:http://dc.checkgems.com/api/v1/
区别是需要带上令牌
素金批量修改¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:prime-golds/batch/ 提交方法:PUT 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
参数请参考:http://dc.checkgems.com/api/v1/
区别是需要带上令牌
给用户批量发送系统消息¶
(需要签名、需要令牌、需要管理权限)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:push-system-notification-batch/ 提交方法:POST 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
提交参数(发送消息):
{
"users": ["18600000001", "18600000002"],
"message": "Hello World!",
"extra": "relogin" // 非必填,给APP的附加指令,对用户不可见,详情咨询APP开发人员,不懂是干嘛的请不要传此参数
}
提交参数(发送文件):
{
"users": ["18600000001", "18600000002"],
"file_url": "http://domain.com/abc.csv",
"file_name": "abc.csv" // 非必填,默认从file_url中提取
}
返回:
{
"result": true,
"successes": ["18600000001", "18600000002"],
"failures": []
}
收款、提现流水¶
提交格式及参数说明:
主意:金额皆以“分”为单位!!!
支付接口使用¶
新增收款记录:POST payment/record/
提交参数:
{
"secret": "xxx", // 安全码
"trade_no": "123", // 交易号
"trade_user": "18900000001", // 收款用户
"trade_fee": 1 // 收款金额
"trade_channel": 1 // 交易通道:1通联快捷支付;2通联收银宝;3通联收银宝(支付宝);4通联收银宝(微信);5微信
}
返回:
{
"result": true,
}
查询账户余额:GET payment/account/?user=18900000001&secret=xxx
返回:
{
"result": true,
"available_amount": 100, // 可用额度
"freeze_amount": 50, // 冻结额度
"total_amount": 150 // 总额度
}
新增提现请求:POST payment/withdrawals/ 提交参数:
{
"secret": "xxx", // 安全码
"trade_no": "123", // 交易号
"trade_user": "18900000001", // 用户
"trade_fee": 1, // 提现金额
"trade_comment": "提现卡号什么的备注信息"
}
返回:
{
"result": true,
}
管理后台流水及审核¶
流水:GET payment/record/ 提交参数:无
返回:
{
"result": true,
"rows": [
{
"_id": 1 // ID
"insert_time": "2018-04-19 13:04:59", // 交易创建时间
"update_time": "2018-04-19 13:04:59", // 交易更新时间
"trade_type": 1, // 交易类型
"trade_channel": 1, // 交易通道
"trade_no": "1", // 交易号
"trade_user": "18665018912", // 交易用户
"trade_fee": 1, // 交易金额,负值为提现,审核调提现接口
"trade_comment": "888" // 提现卡号什么的备注信息
"total_amount": 1, // 交易后总余额
"poundage_fee": 0, // 手续费
"status": 1, // 1待审核;2已审核
"auditor": "18900000001", // 审核员
},
...
]
}
收款审核:PUT payment/record/
提交参数:
{
"_id": 1 // ID
"status": 2
}
返回:
{
"result": true
}
提现审核:PUT payment/withdrawals/
提交参数:
{
"_id": 1, // ID
"status": 2
}
返回:
{
"result": true
}
裸钻|统包|成品|财宝|翡翠|素金调价¶
(需要签名、需要令牌、需要管理员权限)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:cg-price/[stocks|parcels|inlays|gems|emeralds|prime_golds]/[调价对象] 提交方法:GET/PUT 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
调价对象:
market 市场价调价
global 全局调价
A A权限调价
B B权限调价
C C权限调价
D D权限调价
E E权限调价
供应商名(Supplier) 供应商调价
例子:
查询全局调价设置:GET cg-price/stocks/global 查询ABC供应商调价设置:GET cg-price/stocks/ABC
修改全局调价设置(裸钻):PUT cg-price/stocks/global { “factor_f”: ‘’, # 修改彩钻价格,乘法运算,必传 “factor”: ‘’, # 修改白钻价格,乘法运算,operand/factor二选一 “operand”: ‘’ # 修改白钻退点,加法运算,operand/factor二选一 }
修改全局调价设置(非裸钻):PUT cg-price/gems/global { “factor”: ‘’, # 修改价格,乘法运算 }
返回:
{"result": true}
积分活动管理¶
(需要签名、需要令牌、需要管理员权限)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:integral/event/manager/ 提交方法:POST/GET/PUT/DELETE 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
获取活动列表:GET integral/event/manager/
{
"result": true,
"rows": [
{
"_id": "123456",
"title": "活动名称",
"desc": "活动简介",
"integral": -20, # 增加(+)/扣除(-)的积分
}
...
]
}
获取活动二维码:GET integral/event/manager/qrcode/**** # ****为_id 创建活动:POST integral/event/manager/
提交:
{
"title": "活动名称",
"desc": "活动简介",
"integral": -20, // 增加(+)/扣除(-)的积分
}
返回:
{"result": true}
修改活动:PUT integral/event/manager/*****
提交:
{
"title": "活动名称1",
"desc": "活动简介1",
"integral": -20, // 增加(+)/扣除(-)的积分
}
返回:
{"result": true}
删除活动:DELETE integral/event/manager/*****
返回:
{"result": true}
积分活动¶
(需要签名、需要令牌)
此接口会根据UUID过滤重复提交,当UUID一样时不会再次执行,只会直接调取上次执行的结果。 接口路径:integral/event/**** 提交方法:GET/POST 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
获取活动信息:GET integral/event/**** #****为ID
返回:
{
"result": true,
"title": "活动名称1",
"desc": "活动简介1",
"integral": -20, // 增加(+)/扣除(-)的积分
}
参加活动:POST integral/event/**** #****为ID
返回:
{
"result": true,
"integral": -20, // 增加(+)/扣除(-)的积分
"msg": "已扣除 20 积分"
}
获得用户当前积分¶
(需要签名、需要令牌)
接口路径:integral/access/ 提交方法:GET 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 提交格式及参数说明:
GET integral/access/
返回:
{
"result": true,
"amount": 1000 // 积分总额
}
成品、空托同款¶
(需要签名、需要令牌)
接口路径:[inlays|inlay-settings]/same-style/[产品ID] 提交方法:GET 提交格式:JSON等签名支持的格式 返回格式:JSON 返回格式: 同搜索接口 提交格式及参数说明:
GET inlays/same-style/1234 字典结构: GET inlays/same-style/1234?useDict=1
删除证书PDF¶
(需要签名、需要令牌)
接口路径:certs/XXX/YYYYYY.pdf 提交方法:DELETE 返回格式:JSON 返回格式:
{"result": true}