其它文档

公告/常见问题/用户反馈接口: docs/yjg
其它证书: docs/nwc

签名算法

当提交的数据为JSON,请不要忘记在HTTP头(HEADERS)设置:Content-Type: “application/json; charset=UTF-8” 为防止未授权API调用,以及API调用过程中被黑客恶意篡改,以下接口需要携带签名。

需要签名的参数:

  1. URL参数(URL “?”后的那些)

  2. BODY里的参数(表单提交,Content-Type: application/x-www-form-urlencoded,Content-Type: multipart/form-data)

  3. JSON参数(Content-Type: application/json)

例子:

access-key: 111111111111111111111111
access-secret: 222222222222222222222222222222222222

签名过程如下:

  1. 获取当前UNIX时间戳,如:1463540862.92

  2. 把刚才UNIX时间戳放到HTTP头(HEADERS)中,格式为:Time: 1463540862.92

  3. 生成UUID(通用唯一识别码,也叫GUID),如:f7f44dc0-129c-11e6-83aa-af9ccd7878b7

  4. 把刚才UUID放到HTTP头(HEADERS)中,格式为:UUID: f7f44dc0-129c-11e6-83aa-af9ccd7878b7

  5. 对API请求参数,根据参数名称的ASCII码表的顺序排序(包括URI上的。如有内嵌字典对象也需要排序;因数组顺序是固定的,所以不用排序),并跳过布尔值、null值(字典对象的参数名称需要保留,只跳过该值)。如:foo=1, bar=2, foo_bar=3, foobar=4排序后的顺序是bar=2, foo=1, foo_bar=3, foobar=4。

  6. 将UNIX时间戳、UUID及排序好的参数名和参数值拼装在一起,根据上面的示例得到的结果为:1463540862.92f7f44dc0-129c-11e6-83aa-af9ccd7878b7bar2foo1foo_bar3foobar4。

  7. 把拼装好的字符串采用utf-8编码

  8. 使用HMAC MD5给拼装好的字符串签名(使用access-secret)

  9. 将摘要得到的字节流结果使用十六进制表示,示例为:b1d6deb4198873917bf5ba2d033671f5

  10. 把十六进制摘要使用BASE64编码,示例为:YjFkNmRlYjQxOTg4NzM5MTdiZjViYTJkMDMzNjcxZjU=

  11. 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}