基本信息
接口地址
https://api.qixin.com/APIService/relation/getEquityStructureByName数据格式
JSON
请求方式
GET
请求示例
https://api.qixin.com/APIService/relation/getEquityStructureByName?name=成都成电光信科技股份有限公司描述
企业的三层股权穿透,三层股东(向上)穿透详细信息
请求参数 (Headers)
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
Auth-Version |
String | 是 | 2.0(参数值),固定传入:2.0 |
appkey |
String | 是 | 启信慧眼数据开放平台获取 ,获取方式:个人中心-安全中心-API 密钥,获取appkey的同时,请完成IP白名单的配置:个人中心-安全中心-API IP白名单设置,如未配置,接口调试会报错“104 未添加IP白名单” |
timestamp |
String | 是 | UNIX时间戳,精确到毫秒,示例:1656921036000,当前系统时间近10分钟有效 |
sign |
String | 是 | 请求认证签名,对appkey+timestamp+secret_key进行md5或者sha256摘要计算的结果,小写字符串(实际加密不带入‘+’) |
请求参数 (Query)
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
name |
String | 是 | 企业全名/注册号/统一社会信用代码 |
响应参数
| 参数名 | 类型 | 长度 | 描述 |
|---|---|---|---|
datadata.data |
Object | 0 | 返回查询结果,如果没有匹配记录则返回为空。具体字段含义见下表 |
actual_controllerdata.data.actual_controller |
Object | 0 | 实际控制人信息 |
namedata.data.actual_controller.name |
String | 255 | 实际控制人姓名 |
percentdata.data.actual_controller.percent |
String | 255 | 实际控制人股比 |
equity_structuredata.data.equity_structure |
Object | 0 | 股权结构信息 |
eiddata.data.equity_structure.eid |
String | 36 | 企业ID |
namedata.data.equity_structure.name |
String | 255 | 企业名称 |
short_namedata.data.equity_structure.short_name |
String | 255 | 企业简称 |
countdata.data.equity_structure.count |
Number | 255 | 对应的children数量 |
leveldata.data.equity_structure.level |
String | 255 | 层级 |
childrendata.data.equity_structure.children |
Array | 0 | 股权穿透次级信息 |
eiddata.data.equity_structure.children.eid |
String | 36 | 股东ID |
namedata.data.equity_structure.children.name |
String | 255 | 股东名称 |
typedata.data.equity_structure.children.type |
String | 255 | 股东类型,(E 企业 P 个人 UE 未在工商注册的公司 U 其他) |
short_namedata.data.equity_structure.children.short_name |
String | 255 | 股东简称 |
amountdata.data.equity_structure.children.amount |
String | 255 | 股东出资金额 |
percentdata.data.equity_structure.children.percent |
String | 255 | 股东比例 |
sh_typedata.data.equity_structure.children.sh_type |
String | 255 | 股东类型,工商股东/十大股东/主要股东(新三板)/原工商股东 |
leveldata.data.equity_structure.children.level |
String | 255 | 层级 |
countdata.data.equity_structure.children.count |
Number | 255 | 对应的children数量 |
childrendata.data.equity_structure.children.children |
Array | 0 | 参考children字段 |
signdata.sign |
String | 32 | 数据签名 |
statusdata.status |
String | 10 | 返回结果状态 |
messagedata.message |
String | 255 | 返回结果消息 |
响应示例
JSON
{
"status": "200",
"message": "操作成功",
"sign": "af867b4ac5a847979a66c8f6abb232f3",
"data": {
"equity_structure": {
"eid": "e8cdf5e0-97ad-4e1e-a8e4-29358f8a9866",
"name": "上海合合信息科技股份有限公司",
"short_name": "合合信息科技",
"level": "0",
"children": [
{
"eid": "1ff0afa29f2fe205919aa06ea80b5635",
"name": "镇立新",
"type": "P",
"short_name": "镇立新",
"amount": "3386.292万股",
"percent": "24.19%",
"sh_type": "十大股东",
"level": "1",
"children": [],
"count": 0
},
{
"eid": "2d01bba3b9a9e15954ec0b0b3d1debbd",
"name": "罗希平",
"type": "P",
"short_name": "罗希平",
"amount": "717.78万股",
"percent": "5.13%",
"sh_type": "十大股东",
"level": "1",
"children": [],
"count": 0
},
{
"eid": "3283a5f3f04a6b433bdce13a2db80419",
"name": "陈青山",
"type": "P",
"short_name": "陈青山",
"amount": "657.4995万股",
"percent": "4.70%",
"sh_type": "十大股东",
"level": "1",
"children": [],
"count": 0
}
],
"count": 537
},
"actual_controller": {
"name": "镇立新",
"percent": "25.35%"
}
}
}
代码示例
javascript
let request = require('request');
let urlEncode = require('urlencode');
let crypto = require('crypto');
let baseUrl = 'https://api.qixin.com/APIService/relation/getEquityStructureByName';
let appkey = '正式appkey';
let secretKey = '正式secret_key';
let timeStamp = new Date().getTime();
const hash = crypto.createHash('md5');
let sign = hash.update(appkey + timeStamp + secretKey).digest('hex');
let urlParams = {
name: 'name的值'
}
let concatParams = []
for (let key in urlParams) {
concatParams.push(key + '=' + urlParams[key]);
}
let options = {
'method': 'GET',
'url': baseUrl + '?' + concatParams.join('&'),
'headers': {
'Connection': 'keep-alive',
'Auth-version': '2.0',
'appkey': appkey,
'timestamp': timeStamp,
'sign': sign
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});