权利主体登记接口
接口编号
BQ01分类知识产权服务 / 作品著作权状态启用1、接口说明
权利主体登记,将把权利人(自然人/企业法人/其他组织)信息提交至平台,便于开展其他业务。
2、接口信息
| 请求地址 | https://quanzhou.muzhiyun.com/api/bqowner.do |
| 请求方式 | POST |
| 请求格式 | application/json; charset=utf-8 |
| 响应格式 | application/json; charset=utf-8 |
| 超时时间 | 60 秒(建议) |
| 计费方式 | 免费 |
本接口免费,调用不计费、不扣款。
3、鉴权说明
所有请求必须携带下列三个公共参数,缺一不可。它们既是请求参数,也参与签名。
| 参数名 | 说明 | 类型 | 必填 | 示例 | 备注 |
|---|---|---|---|---|---|
appid | 应用ID | String(32) | 是 | muzhiyun | 由服务商提供。 |
sendtime | 请求时间戳 | Int | 是 | 1790784000 | Unix 时间戳 (云市场可不受时间约束) |
sign | 签名 | String(32) | 是 | BEE42F7A74F4482A9A405EDB229CFB6C | 签名,详见签名生成算法 |
签名算法
1) 取本次请求的全部参数(不含 sign 自身); 2) 按参数名 ASCII 升序排序,拼接成 k1=v1&k2=v2&…; 3) 末尾追加 &key=你的AppKey; 4) 对整串做 MD5 后转大写,即得 sign。
调用示例 · 按本接口真实示例值实算一遍
你的 AppKey(仅本地签名用,不随请求发送):
YOUR_APP_KEY1
参与签名的参数(已剔除 sign 自身,按参数名升序)
addr=厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室&appid=muzhiyun&idcardbimg=http://img.163.com/fifle/202256.jpg&idcardcat=统一社会信用代码证&idcardfimg=http://img.163.com/fifle/202256.jpg&idcardno=91350205MA8TE0P97L&phonenum=13159414139&qianzhang=http://img.163.com/fifle/202256.jpg&sendtime=1792521183&userid=A101&username=拇指云(厦门)软件有限公司&usertype=企业法人
2
末尾追加 &key=你的AppKey
addr=厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室&appid=muzhiyun&idcardbimg=http://img.163.com/fifle/202256.jpg&idcardcat=统一社会信用代码证&idcardfimg=http://img.163.com/fifle/202256.jpg&idcardno=91350205MA8TE0P97L&phonenum=13159414139&qianzhang=http://img.163.com/fifle/202256.jpg&sendtime=1792521183&userid=A101&username=拇指云(厦门)软件有限公司&usertype=企业法人&key=YOUR_APP_KEY
3
整串做 MD5 后转大写,得到 sign
D83B1802A87917D38362A2E5FBD6AA3D
4
最终请求参数(JSON 包,作为请求 Body 发送)
{
"addr": "厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室",
"appid": "muzhiyun",
"idcardbimg": "http://img.163.com/fifle/202256.jpg",
"idcardcat": "统一社会信用代码证",
"idcardfimg": "http://img.163.com/fifle/202256.jpg",
"idcardno": "91350205MA8TE0P97L",
"phonenum": "13159414139",
"qianzhang": "http://img.163.com/fifle/202256.jpg",
"sendtime": "1792521183",
"userid": "A101",
"username": "拇指云(厦门)软件有限公司",
"usertype": "企业法人",
"sign": "D83B1802A87917D38362A2E5FBD6AA3D"
}上例 AppKey 写作
YOUR_APP_KEY,请换成你自己的 AppKey 重算 sign —— sign 与 AppKey 绑定,同样的参数换 AppKey 会得到完全不同的 sign。复制本例后,把 YOUR_APP_KEY 替换为你自己的 AppKey,再按 ①②③ 重算 sign 即可直接调用(sendtime 为当前时间戳,300 秒内有效)。排序只按参数名,不看参数值;布尔值按 1/0 参与拼接;数组型参数不参与签名。时间戳要求:
sendtime 为 10 位 Unix 秒级时间戳,与服务器时间相差超过 300 秒 视为过期请求。AppID / AppKey 由开放平台发放,可在「用户管理 → 开发者凭证」中查看。4、请求参数
以下参数通过 Body(application/json) 传递
| 参数名 | 说明 | 类型 | 必填 | 示例 | 备注 |
|---|---|---|---|---|---|
addr | 联系地址 | String(200) | 否 | 厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室 | 主体联系地址(无传默认为第一著作权人地址) |
qianzhang | 签章图片 | String(255) | 否 | http://img.163.com/fifle/202256.jpg | http可访问的图片地址;非必传,一般是自然人的签章,便于开展各项业务。 |
phonenum | 手机号码 | String(14) | 是 | 13159414139 | 联系人手机号码,须为有效的 11 位大陆手机号 |
idcardbimg | 证件反面 | String(255) | 否 | http://img.163.com/fifle/202256.jpg | http可访问的文件地址,须包含文件类型(JPG/JPEG/PNG);一般是身份证反面。 |
idcardfimg | 证件正面 | String(255) | 是 | http://img.163.com/fifle/202256.jpg | http可访问的文件地址,须包含文件类型(JPG/JPEG/PNG);例如营业执照、身份证、户口本信息页、港澳台证等。 |
idcardcat | 证件类型 | String(50) | 否 | 统一社会信用代码证 | 证件类型:具体参照作品字典字段,身份证|统一社会信用代码证|居住证|护照|其他有效身份证件 |
idcardno | 证件号码 | String(20) | 是 | 91350205MA8TE0P97L | 统一社会信用代码(自然人请传入身份证号码) |
username | 用户名称 | String(50) | 是 | 拇指云(厦门)软件有限公司 | 用户真实姓名或者主体全称 |
usertype | 用户类型 | String(14) | 是 | 企业法人 | 主体身份类型:自然人|企业法人|机关法人|事业单位法人|社会团体法人|其他组织 |
userid | 用户编号 | String(10) | 是 | A101 | 自定义用户编号,要求10个字符内(最少3个字符),只能是数字、大小写字母组合,且在同一个AppId下唯一。 |
5、返回结果
接口统一返回 JSON,
ok=1 表示成功、ok=0 表示失败;鉴权或配置类错误同时返回 HTTP 666。| 字段 | 类型 | 说明 |
|---|---|---|
ok | Int | 1=成功,0=失败 |
msg | String | 结果描述 / 失败原因 |
成功响应示例
{
"ok": 2,
"msg": "权利主体登记成功",
"data": {
"userid": "A101",
"usertype": "企业法人",
"username": "拇*****公司",
"idcardno": "91*****97L",
"idcardfimg": "https:\/\/f.*********.jpg",
"phonenum": "13159414139",
"province": "福建",
"city": "厦门市",
"district": "思明区",
"town": "开元街道",
"address": "**********室",
"idcardbimg": "https:\/\/f.*********.jpg"
}
}失败响应示例
{
"ok": 0,
"msg": "请传入用户编号【userid】"
}余额不足 / 无可用套餐
{
"ok": 0,
"msg": "余额不足,且无可用套餐,请充值后重试。"
}接口已停用
{
"ok": 0,
"msg": "接口【权利主体登记接口】已停用,暂停调用,请联系管理员。"
}常见错误提示(msg 原文)
缺少必要的参数【appid、sendtime、sign】请详看开发文档。 AppID不存在,请联系产品经理进行业务开通。 sendtime不是10位的数字。 时间戳超时,请重新请求。 签名校验失败。 余额不足,请充值后重试。 接口【XXX】已停用,暂停调用,请联系管理员。
6、调用示例
下面示例自动计算签名(ksort 后 MD5 大写):复制后只需把
你的AppID / 你的AppKey 换成真实凭证即可运行。Python / PHP 为完整可运行版;cURL、JavaScript 展示请求形态。GET 接口请把参数(含 appid/sendtime/sign)拼到 URL 查询串。cURL
curl -X POST "https://quanzhou.muzhiyun.com/api/bqowner.do" \ -H "Content-Type: application/json" \ -d '{"appid":"你的AppID", "sendtime":"<当前时间戳>", "sign":"<按签名算法计算>", "appid":"muzhiyun","sendtime":"1790784000","addr":"厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室","qianzhang":"http:\/\/img.163.com\/fifle\/202256.jpg","phonenum":"13159414139","idcardbimg":"http:\/\/img.163.com\/fifle\/202256.jpg","idcardfimg":"http:\/\/img.163.com\/fifle\/202256.jpg","idcardcat":"统一社会信用代码证","idcardno":"91350205MA8TE0P97L","username":"拇指云(厦门)软件有限公司","usertype":"企业法人","userid":"A101" }'
PHP
<?php $appId = "你的AppID"; // 没有则填 muzhiyun $appKey = "你的AppKey"; $url = "https://quanzhou.muzhiyun.com/api/bqowner.do"; $params = [ 'appid' => 'muzhiyun', 'sendtime' => '1790784000', 'addr' => '厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室', 'qianzhang' => 'http://img.163.com/fifle/202256.jpg', 'phonenum' => '13159414139', 'idcardbimg' => 'http://img.163.com/fifle/202256.jpg', 'idcardfimg' => 'http://img.163.com/fifle/202256.jpg', 'idcardcat' => '统一社会信用代码证', 'idcardno' => '91350205MA8TE0P97L', 'username' => '拇指云(厦门)软件有限公司', 'usertype' => '企业法人', 'userid' => 'A101', ]; // 以下三项由代码自动补,无需手填 $params["appid"] = $appId; $params["sendtime"] = (string)time(); ksort($params); $src = ''; foreach($params as $k=>$v) $src .= $k.'='.$v.'&'; $src .= 'key='.$appKey; $params["sign"] = strtoupper(md5($src)); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode($params, JSON_UNESCAPED_UNICODE), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $resp = curl_exec($ch); curl_close($ch); echo $resp;
Python
import time, hashlib, json, urllib.request APP_ID = "你的AppID" # 没有则填 muzhiyun APP_KEY = "你的AppKey" URL = "https://quanzhou.muzhiyun.com/api/bqowner.do" params = { "appid": "muzhiyun", "sendtime": "1790784000", "addr": "厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室", "qianzhang": "http://img.163.com/fifle/202256.jpg", "phonenum": "13159414139", "idcardbimg": "http://img.163.com/fifle/202256.jpg", "idcardfimg": "http://img.163.com/fifle/202256.jpg", "idcardcat": "统一社会信用代码证", "idcardno": "91350205MA8TE0P97L", "username": "拇指云(厦门)软件有限公司", "usertype": "企业法人", "userid": "A101", } params["appid"] = APP_ID params["sendtime"] = str(int(time.time())) params = dict(sorted(params.items())) # 参数名升序 sign_src = "&".join(f"{k}={v}" for k, v in params.items()) + "&key=" + APP_KEY params["sign"] = hashlib.md5(sign_src.encode("utf-8")).hexdigest().upper() req = urllib.request.Request( URL, data=json.dumps(params).encode("utf-8"), headers={"Content-Type": "application/json"}, method="POST", ) print(urllib.request.urlopen(req, timeout=30).read().decode("utf-8"))
JavaScript
const url = "https://quanzhou.muzhiyun.com/api/bqowner.do"; const params = { 'appid': 'muzhiyun', 'sendtime': '1790784000', 'addr': '厦门市思明区开元街道禾祥西路587号聚祥广场A栋801室', 'qianzhang': 'http://img.163.com/fifle/202256.jpg', 'phonenum': '13159414139', 'idcardbimg': 'http://img.163.com/fifle/202256.jpg', 'idcardfimg': 'http://img.163.com/fifle/202256.jpg', 'idcardcat': '统一社会信用代码证', 'idcardno': '91350205MA8TE0P97L', 'username': '拇指云(厦门)软件有限公司', 'usertype': '企业法人', 'userid': 'A101', appid: "你的AppID", sendtime: String(Math.floor(Date.now()/1000)), // sign: 按上文「签名算法」在前端算 md5(ksort(k=v&…)&key=AppKey) 后填入 }; fetch(url, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(params), }).then(r => r.json()).then(console.log);
7、注意事项
1、必传参数:userid、usertype、username、idcardno、idcardfimg、phonenum。
2、idcardfimg/idcardbimg/qianzhang若传,必须是可直接访问的图片URL,须以http://或https://开头;登记后将适当对图片进行压缩处理,亦会回显本平台现签的http图片地址。
3、userid即本系统登录名,3~10个字符,只能是数字与大小写字母组合;同一系统下先到先得,后来者即便换appid也拿不到同一个userid。
4、usertype必须是主体身份类型:自然人/企业法人/机关法人/事业单位法人/社会团体法人/其他组织。
5、idcardno:自然人传18位居民身份证号,企业等非自然人传18位统一社会信用代码。
6、idcardcat:证件类型:具体参照作品字典字段,身份证|统一社会信用代码证|居住证|护照|其他有效身份证件。
7、phonenum须为有效的11位手机号码。
8、addr:如传,将调地址标准化接口核验;不传时按主体识别出的住址。
9、返回ok=2表示登记成功,不收费,data为登记后的主体信息;ok=0表示失败,msg给出原因。
2、idcardfimg/idcardbimg/qianzhang若传,必须是可直接访问的图片URL,须以http://或https://开头;登记后将适当对图片进行压缩处理,亦会回显本平台现签的http图片地址。
3、userid即本系统登录名,3~10个字符,只能是数字与大小写字母组合;同一系统下先到先得,后来者即便换appid也拿不到同一个userid。
4、usertype必须是主体身份类型:自然人/企业法人/机关法人/事业单位法人/社会团体法人/其他组织。
5、idcardno:自然人传18位居民身份证号,企业等非自然人传18位统一社会信用代码。
6、idcardcat:证件类型:具体参照作品字典字段,身份证|统一社会信用代码证|居住证|护照|其他有效身份证件。
7、phonenum须为有效的11位手机号码。
8、addr:如传,将调地址标准化接口核验;不传时按主体识别出的住址。
9、返回ok=2表示登记成功,不收费,data为登记后的主体信息;ok=0表示失败,msg给出原因。
拇指云