CHPEN OPEN API SPECIFICATION · v1
对外统一基址 https://open.chpen.com,版本前缀 /v1/。
仅当发生破坏性变更才升版本号,字段名新增、枚举扩展不算破坏性。
内部接口 /api/backend/v1/ 与对外接口物理隔离,
对外只暴露本规范登记过的路径。
/v1/contracts、/v1/entrepreneurs/v1/contracts/{id}/sign/v1/contracts/sign/{token}(token 为 64 位十六进制)YYYY-MM-DD,时间一律 Unix 秒Authorization: Bearer <access_key>Allow-Credentialscurl https://open.chpen.com/v1/entrepreneurs \
-H "Authorization: Bearer YOUR_ACCESS_KEY"
所有接口一律返回同一信封,业务数据放在 data 里:
{
"code": 0,
"msg": "ok",
"data": { },
"ts": 1760460000,
"req_id": "req_7f3a9c21"
}
本平台路由不存在时返回 HTTP 200 且 code=1001。
axios/fetch 不会抛错,只判状态码会把失败当成成功。
客户端必须解析 code 再决定后续动作。
| code | 含义 | 处理建议 |
|---|---|---|
0 | 成功 | 取 data |
1001 | 路由不存在 | 核对路径与版本号 |
4001 | 鉴权失败 | 检查 access_key 是否过期 |
4003 | 无权限 | 申请对应 scope |
4029 | 触发限流 | 退避重试,勿并发硬冲 |
4220 | 参数不合法 | 按 msg 修正字段 |
5001 | 服务异常 | 携 req_id 联系支持 |
列表接口统一 ?page=1&page_size=20,
data 内含 list / total / page / page_size。
写操作支持 X-Idempotency-Key 请求头,同键重复提交只生效一次,
避免网络重 trials 造成重复签署或重复记账。
单 IP 默认 120 次 / 分钟,突发上限 40。超限返回 4029,
响应头带 Retry-After。
Cache-Control: no-store,任何环节不得缓存/reveal 留痕接口解密,
谁在何时看过可追溯(PIPL 要求)| 能力 | 方法与路径 | 状态 |
|---|---|---|
| 电子合同 · 短信签署 | GET/POST /v1/contract/sign/{token} |
已上线 |
| 公开时间锚定 | GET /anchor/{YYYY-MM-DD}.txt |
已上线 |
| 电子合同 · 对外验真 | GET /v1/contract/verify?hash={64hex}GET /v1/contract/verify?no={合同编号} |
已上线 |
验真无需鉴权:任何一方(客户、合作方、监管)拿到合同哈希或合同编号即可核真伪。 输出严格脱敏——不含合同标题、正文、金额、签署人姓名与手机号。
GET https://open.chpen.com/v1/contract/verify?no=SER20261014-93DB14
{
"code": 0,
"msg": "ok",
"data": {
"contract_no": "SER20261014-93DB14",
"template": "SERVICE_VIP",
"status": 3,
"status_text": "双方已签",
"chain_ok": true,
"signatures": [
{ "role": "A", "signed_at": "2026-10-14 21:05:55", "method": "" },
{ "role": "B", "signed_at": "2026-10-14 21:05:56", "method": "" }
],
"anchor": {
"date": "2026-10-14",
"root": "cccafe97affb489d",
"url": "https://open.chpen.com/anchor/2026-10-14.txt"
}
},
"ts": 1791993357
}
状态取值:1 待签 · 2 单方已签 · 3 双方已签 · 9 已作废。
chain_ok=true 表示正文哈希与链式签名哈希自洽(任何改动都会变为 false)。
anchor.root 只给当日 Merkle 根的前 16 位,完整根见 anchor.url,可独立复算。
错误:哈希/编号不存在 → HTTP 404 且 code=1001;
参数缺失或格式不符 → HTTP 400 且 code=4001。
以下路径已按本规范预留,结构先行锁定,后续开放时客户端无需改造。
当前一律返回 HTTP 404 且 code=1001——对外只放行已验安全的路径,
规范留口子不等于现在就开,实现并验证安全后才加入放行白名单。
| 能力 | 方法与路径 | 说明 | 状态 |
|---|---|---|---|
| 企业家名录 | GET /v1/entrepreneurs | 分页检索,默认脱敏 | 预留 |
| 企业家详情 | GET /v1/entrepreneurs/{id} | 档案与资质标签 | 预留 |
| 联系方式解密 | POST /v1/entrepreneurs/{id}/reveal | 留痕后返回手机号 | 预留 |
| 商机线索 | GET /v1/opportunities | 公海→认领→跟进→合同→交易 | 预留 |
| 会员体系 | GET /v1/members | 等级、有效期、权益 | 预留 |
| 企业工商核验 | GET /v1/companies/{keyword} | 主体状态与经营范围 | 预留 |