基本信息
接口地址
https://api.qixin.com/APIService/operation/getBiddingListByName数据格式
JSON
请求方式
GET
请求示例
https://api.qixin.com/APIService/operation/getBiddingListByName?name=成都成电光信科技股份有限公司描述
企业招投标列表,包括招投标ID、标题,招标单位、中标单位、以及其他与招投标项目相关的其他角色列表等
请求参数 (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 | 是 | 企业全名/注册号/统一社会信用代码 |
type |
String | 否 | 公告类型 ,入参填对应数字,支持多填, 以英文逗号,隔开 10 拟建公告 20 招标公告 30 中标公告 0 未知 |
role |
String | 否 | 角色 ,入参填对应数字,支持多填,以 英文逗号,隔开 10 招采单位/建设单位(公告类型为拟 建,一般称为建设单位) 20 代理单位 30 中标单位 40 中标候选人 50 其他相关企业 51投标单位 |
publish_year |
String | 否 | 发布年份,例如填入 2021,则返回该企业 2021 年的招投标信息 |
skip |
Number | 否 | 跳过条目数(默认为 0) 分页使用,单次返回 20 条记录,第一页 skip=0,第二页 skip=20,以此类推获取 下一页数据 |
响应参数
| 参数名 | 类型 | 长度 | 描述 |
|---|---|---|---|
statusdata.status |
String | 0 | 返回结果状态 |
messagedata.message |
String | 255 | 返回结果消息 |
signdata.sign |
String | 32 | 数据签名 |
datadata.data |
Object | 0 | 返回查询结果,如果没有匹配记录则返回空。具体字段含义见下表 |
totaldata.data.total |
Number | 0 | 返回列表中记录总数 |
itemsdata.data.items |
Array | 0 | 数据列表 |
iddata.data.items.id |
String | 50 | 招投标 id |
titledata.data.items.title |
String | 256 | 招投标标题 |
typedata.data.items.type |
String | 10 | 公告类型 |
datedata.data.items.date |
String | 255 | 发布时间 |
tenderdata.data.items.tender |
String | 0 | 招标单位列表,字符串数组 |
namedata.data.items.tender.name |
String | 5000 | 招标机构名称 |
contactsdata.data.items.tender.contacts |
Array | 0 | 联系人 |
phonesdata.data.items.tender.phones |
Array | 0 | 联系手机号 |
addressdata.data.items.tender.address |
Array | 0 | 联系地址 |
emaildata.data.items.tender.email |
Array | 0 | 邮箱 |
eiddata.data.items.tender.eid |
String | 36 | 企业 id |
agencydata.data.items.agency |
String | 0 | 代理机构列表,字符串数组 |
namedata.data.items.agency.name |
String | 255 | 代理机构名称 |
contactsdata.data.items.agency.contacts |
Array | 0 | 联系人 |
phonesdata.data.items.agency.phones |
Array | 0 | 联系手机号 |
addressdata.data.items.agency.address |
Array | 0 | 联系地址 |
emaildata.data.items.agency.email |
Array | 0 | 邮箱 |
eiddata.data.items.agency.eid |
String | 36 | 企业 id |
winnerdata.data.items.winner |
String | 0 | 中标单位列表,字符串数组 |
namedata.data.items.winner.name |
String | 255 | 中标机构名称 |
project_bid_moneydata.data.items.winner.project_bid_money |
String | 255 | 中标金额 |
contactsdata.data.items.winner.contacts |
Array | 0 | 联系人 |
phonesdata.data.items.winner.phones |
Array | 0 | 联系手机号 |
addressdata.data.items.winner.address |
Array | 0 | 联系地址 |
emaildata.data.items.winner.email |
Array | 0 | 邮箱 |
eiddata.data.items.winner.eid |
String | 36 | 企业 id |
proj_numdata.data.items.proj_num |
String | 500 | 工程号/采购编号 |
statusdata.data.items.status |
String | 10 | 招投标状态 |
provincedata.data.items.province |
String | 31 | 省份 |
area_namedata.data.items.area_name |
String | 255 | 地区名称 |
roledata.data.items.role |
Number | 10 | 角色枚举值如下: 10 招采单位/建设单位(公告类型为拟建, 一般称为建设单位) 20 代理单位 30 中标单位 40 中标候选人 50 其他相关企业 51 投标单位 |
numsdata.data.nums |
Number | 0 | 当前返回列表的总条数 |
响应示例
JSON
{
"status": "200",
"message": "操作成功",
"sign": "455a677bba1e66e61a042dea553c3504",
"data": {
"total": 85,
"nums": 20,
"items": [
{
"id": "62bbbdf3ef4b9530b6365ebb",
"title": "多总线综合测试单元中标候选人公示",
"role": 40,
"type": "中标公告",
"date": "2022-06-29",
"tender": "[{\"name\": \"中国航空工业集团公司洛阳电光设备研究所\", \"contacts\": [], \"phones\": [], \"address\": [], \"email\": [], \"eid\": \"b67f1788-cc6f-4923-bf53-d8a782086faf\"}]",
"agency": "[{\"contacts\": [], \"phones\": [\"010-84892616\"], \"address\": [], \"email\": [\"tiannan2006888@163.com\"], \"name\": \"中航技国际经贸发展有限公司\", \"eid\": \"c6e7f08e-91ac-4f00-b849-e3f7c62b1e60\"}]",
"winner": "[]",
"proj_num": "0730-226211080250\/01",
"status": "中标",
"province": "-",
"area_name": "-"
},
{
"id": "628df7babaf5758c61fc5513",
"title": "视频叠加器1等10项",
"role": 50,
"type": "中标公告",
"date": "2022-05-25",
"tender": "[]",
"agency": "[]",
"winner": "[{\"name\": \"成都夸克光电技术有限公司\", \"eid\": \"e9dbaee3-2163-4c4d-a3ea-1e54af97304f\", \"contacts\": [], \"phones\": [], \"address\": [], \"email\": []}]",
"proj_num": "-",
"status": "中标",
"province": "11",
"area_name": "北京市"
},
{
"id": "628df06e76b99f7a452e8bba",
"title": "视频叠加器",
"role": 30,
"type": "中标公告",
"date": "2022-05-25",
"tender": "[]",
"agency": "[]",
"winner": "[{\"name\": \"成都成电光信科技股份有限公司\", \"eid\": \"2c1ae58d-6772-41e0-854e-855b9f77efae\", \"contacts\": [], \"phones\": [], \"address\": [], \"email\": []}]",
"proj_num": "-",
"status": "中标",
"province": "51",
"area_name": "成都市"
},
{
"id": "61a0b6849504eb5480e669eb",
"title": "多功能视频控制器等14项",
"role": 50,
"type": "招标公告",
"date": "2021-11-26",
"tender": "[]",
"agency": "[]",
"winner": "[]",
"proj_num": "-",
"status": "预告",
"province": "11",
"area_name": "北京市"
},
{
"id": "6181755ac8caea86036912c4",
"title": "视频及rs422信号监控盒等25项",
"role": 50,
"type": "招标公告",
"date": "2021-11-02",
"tender": "[]",
"agency": "[]",
"winner": "[]",
"proj_num": "-",
"status": "预告",
"province": "11",
"area_name": "北京市"
}
]
}
}
代码示例
javascript
let request = require('request');
let urlEncode = require('urlencode');
let crypto = require('crypto');
let baseUrl = 'https://api.qixin.com/APIService/operation/getBiddingListByName';
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的值',
type: 'type的值',
role: 'role的值',
publish_year: 'publish_year的值',
skip: 'skip的值'
}
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);
});