专利申请全量数据接口文档
1. 接口概述
- 接口名称:获取全部专利申请数据
地址:GET /patent-applications/{tenantId} - Content-Type:
application/json - 分页:不分页,一次请求返回当前租户的全部专利申请
该接口按 PUMCH 专利申请表单返回当前租户全部专利申请。每条记录包含专利页面
保存的完整 formData,以及从表单任意层级递归汇总出的全部附件。openapi 会为每个
附件补充完整 downloadUrl,供第三方直接下载。
2. 调用链路
- 第三方系统调用:
GET /patent-applications/{tenantId}。 - openapi 使用
App-Key、Timestamp、Sign完成系统凭据鉴权。 - tenantId 为企业租户id,需要联系东篱获取
3. 鉴权说明
3.1 请求头
| 请求头 | 必填 | 说明 |
|---|---|---|
App-Key |
是 | openapi 分配的系统账号登录名。 |
Timestamp |
是 | 调用时间戳字符串,建议使用当前 Unix 秒级时间戳。 |
Sign |
是 | 32 位小写 MD5 签名。 |
3.2 签名算法
Sign = MD5(App-Key + Secret + Timestamp)
- 三段字符串直接拼接,不添加分隔符。
Secret是 openapi 为该App-Key配置的系统凭据密码。- Java 示例:
DigestUtils.md5Hex(appKey + secret + timestamp)。
4. 请求说明
该接口没有路径参数、查询参数和请求体。租户由 openapi 根据 App-Key 自动确定。
GET /api/patent-applications HTTP/1.1
Host: openapi.example.com
App-Key: patent-client
Timestamp: 1783909200
Sign: 9f2d8d6c2b2f7e4f2b17d8739ec18d4a
5. 响应结构
5.1 集合字段
| 字段 | 类型 | 说明 |
|---|---|---|
total |
number | 当前租户专利申请总数。 |
contents |
array | 全部专利申请数据;不分页、不截断。 |
5.2 单条专利字段
| 字段 | 类型 | 说明 |
|---|---|---|
contents[].id |
string | 专利申请业务 ID。 |
contents[].tenantId |
string | 数据所属租户 ID。 |
contents[].state |
string | 流程数据状态,例如 draft、processing、finished。 |
contents[].patentState |
string | 专利业务状态中文名称;未配置字典时保留原值。 |
contents[].taskId |
string/null | 当前流程任务 ID;流程结束时可为空。 |
contents[].processSchedule |
string/null | 当前流程节点或进度名称。 |
contents[].creatorId |
string | 创建人 ID。 |
contents[].createdAt |
string | 创建时间,ISO-8601 格式。 |
contents[].lastUpdaterId |
string | 最后更新人 ID。 |
contents[].lastUpdatedAt |
string | 最后更新时间,ISO-8601 格式。 |
contents[].formData |
object | 专利页面保存的全部动态表单字段。 |
contents[].attachments |
array | 该专利全部附件及下载地址。 |
6. PUMCH 表单字段
以下字段来自 PUMCH 的 patent-application 和 patent-application.details 表单。
字段未填写、被条件隐藏或属于历史版本时,可能不出现在某条记录中。
6.1 主表单字段
formData 字段 |
类型 | 页面含义 |
|---|---|---|
applicationDate |
string | 申请日期。 |
country |
string | 专利国别中文名称。 |
applicationChannel |
string | 申请渠道中文名称。 |
otherApplicationChannel |
string | 其他申请渠道。 |
countryName |
string | 国家名称。 |
type |
string | 专利类型中文名称。 |
isNursing |
boolean | 是否为护理类专利。 |
title |
string | 专利暂定名称。 |
applyType |
string | 适用类型中文名称。 |
otherApplyType |
string | 其他适用类型。 |
isInquiry |
string | 是否申请专利预审的字典中文名称。 |
fastChannel |
string | 拟申请快速审查通道中文名称。 |
quotaFormat |
string | 配额形式中文名称。 |
patentQuantity |
number | 批量专利数量。 |
patentNames |
string | 同批其他专利名称。 |
isPCT |
boolean | 专利受理后如获 PCT/巴黎公约资格。 |
isInternational |
string | 是否拟后续申请国际同族专利的中文名称。 |
nationType |
string | 拟申请国别。 |
whetherFunded |
boolean | 是否关联项目。 |
projectIds |
array |
关联项目 ID 列表。 |
patenteeItems |
array | 专利权人信息。 |
abstract |
string | 专利摘要。 |
noveltySearchCondition |
string | 查新情况。 |
inventors |
array | 发明人信息。 |
applicationFormAttachments |
array | 专利申请单(核心组签字版)。 |
disclosureAttachments |
array | 专利交底书。 |
processRecord |
array | 详情页流程记录,按操作时间排序。 |
历史表单还可能包含 year、categoryNum、applicationNum、remarks、patentAgencyInfo、attachments 等字段,接口同样原样返回。
6.2 专利权人字段
| 字段 | 类型 | 说明 |
|---|---|---|
patenteeType |
boolean | 专利权人类型值。 |
patenteeTypeName |
string | 专利权人类型名称。 |
personId |
string | 关联人员 ID;外部权利人可能为空。 |
name |
string | 专利权人名称。 |
ranking |
string | 专利权人排序中文名称;未配置字典时保留原值。 |
rankingName |
string | 专利权人排序名称。 |
6.3 发明人字段
| 字段 | 类型 | 说明 |
|---|---|---|
personId |
string | 发明人关联人员 ID。 |
name |
string | 发明人姓名。 |
code |
string | 工号。 |
bridCode |
string | BRID。 |
ownership |
string | 人员归属,历史数据可能包含。 |
organization |
string | 所属单位。 |
departmentId |
string | 所属部门 ID,历史数据可能包含。 |
departmentName |
string | 所属部门名称。 |
jobTitle |
string | 职称中文名称。 |
jobTitleName |
string | 职称名称。 |
ranking |
string | 发明人排序中文名称。 |
rankingName |
string | 发明人排序名称。 |
6.4 附件字段
| 字段 | 类型 | 说明 |
|---|---|---|
attachments[].path |
string | 附件在 formData 中的完整路径。 |
attachments[].name |
string | 附件文件名;原数据无名称时为空字符串。 |
attachments[].url |
string | 科研平台保存的原始地址,可能是相对地址。 |
attachments[].downloadUrl |
string | openapi 补全后的完整下载地址。 |
downloadUrl 规则:完整 http:// / https:// 地址保持不变;/resource/...
等相对地址使用科研平台 application.keyan.url 的协议和主机补全。
6.5 流程记录字段
| 字段 | 类型 | 说明 |
|---|---|---|
id |
string | 历史任务 ID。 |
taskName |
string | 流程节点名称。 |
assignee |
string | 实际任务处理人 ID。 |
assigneeName |
string | 页面显示的处理人名称,支持代办名称。 |
operationTime |
string | 操作完成时间。 |
result |
string/null | 审批结果名称。 |
approvalComments |
string/null | 审批意见。 |
7. 响应示例
{
"total": 2,
"contents": [
{
"id": "01J2PATENT000001",
"tenantId": "highsoft",
"state": "finished",
"patentState": "申请",
"taskId": null,
"processSchedule": "已完成",
"creatorId": "person-001",
"createdAt": "2026-07-13T01:02:03Z",
"lastUpdaterId": "person-001",
"lastUpdatedAt": "2026-07-13T02:03:04Z",
"formData": {
"applicationDate": "2026-07-13",
"country": "中国",
"type": "发明专利",
"title": "一种医疗装置",
"whetherFunded": true,
"projectIds": ["project-001"],
"patenteeItems": [
{
"patenteeType": false,
"patenteeTypeName": "本单位",
"name": "北京协和医院",
"ranking": "第一",
"rankingName": "第一"
}
],
"inventors": [
{
"personId": "person-001",
"name": "张三",
"code": "10001",
"departmentName": "心内科",
"ranking": "第一",
"rankingName": "第一"
}
],
"applicationFormAttachments": [
{
"name": "专利申请单.pdf",
"url": "/resource/assets/application.pdf"
}
],
"disclosureAttachments": [
{
"name": "专利交底书.docx",
"url": "https://files.example.com/disclosure.docx"
}
],
"processRecord": [
{
"id": "task-001",
"taskName": "科室主任审核",
"assignee": "person-002",
"assigneeName": "李四",
"operationTime": "2026-07-13T02:00:00Z",
"result": "通过",
"approvalComments": "同意"
}
]
},
"attachments": [
{
"path": "applicationFormAttachments[0]",
"name": "专利申请单.pdf",
"url": "/resource/assets/application.pdf",
"downloadUrl": "https://research.example.com/resource/assets/application.pdf"
},
{
"path": "disclosureAttachments[0]",
"name": "专利交底书.docx",
"url": "https://files.example.com/disclosure.docx",
"downloadUrl": "https://files.example.com/disclosure.docx"
}
]
},
{
"id": "01J2PATENT000002",
"tenantId": "highsoft",
"formData": {
"title": "一种检测方法"
},
"attachments": []
}
]
}
8. 错误说明
| 场景 | 常见 HTTP 状态 | 说明 |
|---|---|---|
缺少或错误的 App-Key/Timestamp/Sign |
401/403 | openapi 系统凭据鉴权失败。 |
| 当前凭据不是系统凭据 | 403 | 接口要求 system 权限。 |
| openapi 无法访问科研平台 | 500/502 | 检查科研平台地址、网络和内部 Bearer Token。 |
9. curl 示例
curl -X GET "https://<openapi-host>/api/patent-applications" \
-H "App-Key: patent-client" \
-H "Timestamp: 1783909200" \
-H "Sign: 9f2d8d6c2b2f7e4f2b17d8739ec18d4a"
调用前请使用实际 App-Key、Secret 和当前 Timestamp 重新计算 Sign。
10. 数据量说明
该接口按需求不分页,一次返回当前租户全部专利数据。调用方应适当提高 HTTP
读取超时时间,并避免高频轮询。若后续数据量增长明显,建议另增按更新时间增量同步接口,
但本接口仍保留全量获取语义。
作者:admin 创建时间:2026-07-14 08:50
最后编辑:admin 更新时间:2026-07-30 08:38
最后编辑:admin 更新时间:2026-07-30 08:38