📘 阳光标讯 开放 API

让 AI 与第三方系统一键接入全国招投标数据:标讯搜索 · 企业查询 · 用户中心 · 积分管理

📌 文档版本 v1.1.0 🕐 2026-07-19 🔑 按调用扣积分(1元=1积分) 🛡️ CORS · CSP · CSRF

📋 通用约定

Base URL

环境Base URL
生产环境https://www.sunbidinfo.com
所有接口前缀/api/v1/...

鉴权方式

本平台采用 多渠道鉴权,请按调用场景选择对应方式:

调用场景请求头API Key用户 Token
PC Web 前端X-Web-Access: 1写接口需 Cookie 携带登录态
微信小程序X-Mini-Program: 1公开接口无需;用户态需 Authorization: Bearer <token>
第三方 / B 端 / AI SkillAuthorization: Bearer <apiKey>X-API-Key: <apiKey>

API Key 三种携带方式(任选其一):

// 方式 1:Header(推荐)
X-API-Key: sk-abc123def456

// 方式 2:Authorization Bearer
Authorization: Bearer sk-abc123def456

// 方式 3:查询参数(不推荐)
GET /api/v1/bids?api_key=sk-abc123def456
💡 获取 API Key:注册账号 → 登录 → 用户中心 → API 接入 → 创建 Key(仅显示一次,务必保存)。

统一响应格式

所有 JSON 接口统一返回:

{
  "code": 0,
  "message": "success",
  "data": { /* 业务数据,可为 null */ }
}
字段类型说明
codeint0 = 成功,非 0 = 业务错误
messageString文案描述
dataObject/Array/null业务数据

分页约定

{
  "items": [],
  "pagination": {
    "total": 1000,
    "page": 1,
    "pageSize": 20,
    "totalPages": 50
  }
}
参数类型默认值说明
pageint1页码,从 1 开始
page_size / pageSizeint20每页条数,最大 100(部分接口 500)
⚠️ 命名差异:/api/v1/user/* 使用 page_size(snake_case),/api/user/center/* 使用 pageSize(camelCase)。

错误码

HTTPcode含义说明
2000成功请求处理成功
400400参数错误请求参数缺失或不合法
401401未认证缺少 API Key / 用户 Token 失效
402402积分不足需前往用户中心充值
403403无权限IP 不在白名单 / 资源不属于当前用户
404404资源不存在接口路径错误或资源 ID 无效
429429限流请求频率超限(响应头含重试时间)
500500服务器错误服务端内部异常

限流

维度默认阈值响应头
每用户每分钟(按 userId 聚合所有 Key)10 次/分钟X-RateLimit-Limit-User · X-RateLimit-Remaining-User
每 API Key 每小时500 次/小时(创建时可调)X-RateLimit-Limit · X-RateLimit-Remaining
IP 限流(未登录)10 次/分钟/IP
限流触发时返回 429本次不扣积分,可等待 Retry-After 头指示的秒数后重试。

安全约定

  1. CORS 白名单:仅允许授权域名跨域
  2. 安全响应头:所有响应包含 CSPX-Frame-OptionsHSTS
  3. HttpOnly Cookie:登录态 Cookie 标记 HttpOnly + Secure + SameSite=Strict
  4. CSRF 双提交:登录后下发 bid_csrf Cookie,状态修改接口需 X-CSRF-Token
  5. 敏感字段脱敏:手机号、邮箱、姓名、微信号、身份证、银行卡等一律脱敏

字段命名

业务领域命名风格示例
标讯 / 企业 / 政策法规snake_casepublish_datebid_type
用户 / 积分 / 邀请camelCasecreatedAtuserId
时间字段ISO 86012026-07-19T10:00:00

📰 标讯接口

标讯列表查询(核心)

GET /api/v1/bids 公开

分页查询招标/中标公告,支持多维度筛选与排序。

请求参数(Query):

参数类型必填默认值说明
pageint1页码
pageSizeint20每页条数,最大 100
keywordString关键词(标题/内容/采购单位名)
provinceString省份,如"广东"
cityString城市,如"深圳"
industryString行业
categoryString分类:工程/服务/货物
bid_typeString招标公告/中标公告/变更公告
bidding_methodString招标方式
buyer_typeString采购单位类型
publish_date_startString发布起始日期 yyyy-MM-dd
publish_date_endString发布结束日期 yyyy-MM-dd
sort_byStringpublish_date排序字段
sort_orderStringdesc排序方向 asc/desc

响应示例:

{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "id": 10001,
        "title": "XX 项目招标公告",
        "buyer": "XX 单位",
        "budget": "100 万元",
        "bidding_method": "公开招标",
        "industry": "建筑",
        "province": "甘肃",
        "city": "兰州",
        "winner": "XX 公司",
        "win_amount": "98 万元",
        "publish_date": "2026-07-19T10:00:00"
      }
    ],
    "pagination": { "total": 1037, "page": 1, "pageSize": 20, "totalPages": 52 }
  }
}

标讯详情

GET /api/v1/bids/{bidId} 公开

查询单条标讯的完整详情,含章节、附件、招标方/中标方联系方式。

参数位置类型必填说明
bidIdPathLong标讯 ID

响应字段:titlecontentbuyerbuyer_contactagentbudgetwinnerwin_amountopen_bid_timedoc_get_timesections[]attachments[]parent_bidchild_bids[]

平台统计

GET /api/v1/stats 公开

平台标讯总量、今日新增、覆盖省份数、收录企业数。

{
  "code": 0,
  "data": {
    "total": 1250000,
    "today": 3862,
    "total_sources": 120,
    "total_companies": 380000
  }
}

筛选维度

GET /api/v1/filters 公开

返回所有可用筛选项(省份、行业、招标方式、采购单位类型等),便于前端下拉选择。

标讯查看上报

POST /api/v1/bids/{bidId}/view

用户查看标讯详情时上报浏览行为。登录用户首次查看会扣积分(同一标讯仅扣一次)。

响应字段:

字段类型说明
bidIdLong标讯 ID
loggedInBoolean是否已登录
deductedBoolean本次是否真扣了积分
balanceInteger当前积分余额
viewBidCostInteger查看一条标讯消耗的积分数

附件下载

GET /api/v1/attachments/{attachmentId}/download

下载标讯附件(招标文件、图纸等),需登录用户或 API Key。

🏢 企业接口

GET /api/v1/companies/search 公开
参数类型必填说明
keywordString公司名关键词
limitint返回数量(默认 10)

采购单位列表

GET /api/v1/companies/buyers 公开

分页列出所有采购单位(招标方),支持关键词和类型过滤。

参数类型必填说明
keywordString采购单位名关键词
buyer_typeString采购单位类型
pageint页码(默认 1)
page_sizeint每页条数(默认 15)

🔐 用户认证

用户注册

POST /api/v1/user/register 公开
参数位置类型必填说明
usernameBodyString用户名(手机号)
passwordBodyString密码(8-20 位,含字母+数字)
smsCodeBodyString短信验证码(手机号注册时)
inviteCodeBodyString邀请码(双方各得 1 积分)
注册成功后自动到账 100 积分

账号登录

POST /api/v1/user/login 公开
参数位置类型必填说明
usernameBodyString用户名 / 手机号 / 邮箱
passwordString密码

响应:登录态写入 HttpOnly Cookie bid_auth,同时返回 token 字段供小程序使用。

短信验证码

POST /api/v1/user/sms-code 公开
参数位置类型必填说明
phoneBodyString手机号
purposeBodyString用途:register / reset / bind

微信登录

POST /api/v1/user/login/wechat 公开

微信小程序登录,codewx.login() 返回值。

参数位置类型必填说明
codeBodyStringwx.login() 返回的 code
nicknameBodyString微信昵称
avatarBodyString微信头像 URL

重置密码

POST /api/v1/user/reset-password 公开
参数位置类型必填说明
phoneBodyString手机号
smsCodeBodyString短信验证码
newPasswordBodyString新密码

👤 用户中心

个人资料

GET /api/v1/user/profile

返回当前用户资料(手机号、邮箱、昵称等已脱敏)。

积分余额

GET /api/v1/user/point

返回当前积分余额、累计收入/支出、签到状态。

订阅管理

GET /api/v1/user/subscriptions

列出当前用户所有关键词订阅(标题/采购方/地区等)。

POST /api/v1/user/subscriptions

创建关键词订阅。Body 含 keywordfrequency(daily/weekly)、channels(email/wechat_mp/miniapp)。

企业监控

GET /api/v1/user/company-monitors

列出监控中的企业(招标方或中标方),匹配新标讯会推送。

我的收藏

GET /api/v1/user/favorites

浏览历史

GET /api/v1/user/browse-history

🔑 API Key 管理

用户登录后创建 API Key 供第三方系统调用,按调用次数扣积分。

我的 API Key 列表

GET /api/v1/user/api-keys

响应:含每个 Key 的名称、Key ID(脱敏)、状态、限流设置、累计调用次数、最后使用时间。

创建 API Key

POST /api/v1/user/api-keys
参数位置类型必填说明
nameBodyStringKey 名称(仅自己可见)
rateLimitPerHourBodyint每小时限流(默认 500)
ipWhitelistBodyString[]IP 白名单,空数组=不限
⚠️ Key 仅在创建时返回一次,请妥善保存!

启停/删除

POST /api/v1/user/api-keys/{keyId}/toggle

切换 Key 状态(active ↔ disabled),停用后该 Key 所有调用立即返回 401。

DELETE /api/v1/user/api-keys/{keyId}

删除 Key(不可恢复)。

用量统计

GET /api/v1/user/api-keys/{keyId}/usage

查询参数:days(默认 7)

响应:每日调用次数、扣分总数、按端点的调用分布。

💰 积分充值

1 元 = 1 积分,10 元起,微信支付秒到账。

积分套餐列表

GET /api/v1/points/packages 公开

创建充值订单

POST /api/v1/points/orders
参数位置类型必填说明
packageIdBodyLong套餐 ID
payMethodBodyStringwechat / virtual(小程序虚拟支付)

响应:返回 orderId 和微信支付参数(prepay_id、签名等)。

查询订单状态

GET /api/v1/points/orders/{orderId}

响应:status(pending/paid/closed)、pointspaidAt

📎 附录

变更日志

版本日期变更
v1.1.02026-07-19API Key 管理接口、积分计费、限流双闸
v1.0.02026-07-01首次发布:标讯/企业/用户中心

联系我们

🌐 官网:https://www.sunbidinfo.com

📘 API 文档:https://www.sunbidinfo.com/api-doc(当前页)

📱 微信小程序:搜索"阳光标讯"

📧 商务合作:bd@sunbidinfo.com

🛠 技术支持:support@sunbidinfo.com

© 2026 阳光标讯 · Powered by SunBidInfo