Logo
快速上手

使用 REST API

EasyLink Platform REST API 提供高效的文档分析功能,助力开发者将非结构化文档转化为适合LLM应用的结构化数据。使用 API 需完成以下两步:

  1. 发起任务:例如通过 POST /v1/easydoc/parse 上传文档,创建解析任务。
  2. 查询任务状态与结果:例如通过 GET /v1/easydoc/parse/{task_id} 获取任务状态及解析结果。

以下为各接口的详细说明,包含请求格式、响应结构、示例代码及错误处理,协助开发者快速集成。

1. EasyDoc-智能解析

接口概览

属性说明
接口名称EasyDoc-智能解析(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/parse
内容类型multipart/form-data
响应格式application/json
调用模式异步处理,返回任务 ID,结果通过轮询获取

请求头(Headers)

Header 名称类型必填说明
api-keystring认证密钥,由平台分配。例如:api-key: your_apikey_here

请求参数(Form-Data)

参数名类型必填默认值说明
filesfile 或 file[]-待解析文档(支持多文件上传),支持格式:.pdf.dotm.docm.doc.dotx.docx.txt.html.dot.xltm.xlsm.xlsx.xls.xlt.potm.pptx.ppt.pot.pps.tif.png.jpg.bmp,最大文件大小:100 MB
modeenum(string)-解析模式:easydoc-parse-flasheasydoc-parse-premium

请求示例

curl -X POST "https://api.easylink-ai.com/v1/easydoc/parse" \
  -H "api-key: your_apikey_here" \
  -F "files=@medical_record_001.pdf" \
  -F "mode=easydoc-parse-premium"

响应结构(异步)

任务提交成功

{
  "success": true,
  "data": {
    "task_id": "b_parse_81d006e2-9295-4752-9033-9a37f24bc11d1748171169254",
    "status": "PROCESSING"
  }
}

轮询检查任务状态

curl -X GET "https://api.easylink-ai.com/v1/easydoc/parse/{task_id}" \
  -H "api-key: your_apikey_here"

请将 {task_id} 替换为实际任务 ID。


执行结果说明

数据(data)

属性名称类型描述示例值
task_idstring任务ID"b_parse_64865612-3f4d-40b8-ad77-84e113fe4d762748018323281"
resultsobject任务结果{ "file_name": "original.pdf", "nodes": [...] }
statusstring任务状态(SUCCESS: 成功, ERROR: 失败, PENDING: 待处理, PROCESSING: 正在处理)"SUCCESS"

任务结果(results)

属性名称类型描述示例值
file_namestring文件名"original.pdf"
nodesarray节点信息(pro、premium模式体现)[ { "id": 1, "text": "证券代码:000001...", ...}, ... ]
markdownstringmarkdown数据流(当前限premium)"# 北京同仁堂股份有限"

节点信息(nodes)

属性名称类型描述示例值
idinteger节点ID,文档由虚拟节点-1,节点以树的形式展开,从1开始计(可选值为-1、正整数)1
textstring文本内容"证券代码:0000001 证券简称:xxxxx 公告编号:2025-001"
typestring节点类型(Title: 标题, Text: 文本, Table: 表格, Figure: 图形)"Text"
path_infoarray反应节点与节点的关系{"path": [], path_context: ""}
parent_idinteger父节点ID-1
composing_blocksarray区域组成[{ "system": "PixelSpace", "coordinates": [...], "page_number": 1, ...}]
vlm_understandingobject大模型对图表的理解返回有对象、字符串、null值

区域组成(composing_blocks-nodes)

属性名称类型描述示例值
systemstring系统标识"PixelSpace"
coordinatesarray坐标信息(前两项为左上角坐标,后两项为右下角坐标)[442.5559692382813, 372.9184875488281, 2529.80908203125, 578.7843627929688]
page_numberinteger所在页码数1
layout_widthinteger所在页的宽度2977
layout_heightinteger所在页的高度4335

成功状态(success)

属性名称类型描述示例值
successboolean是否成功true

2. EasyDoc-智能抽取

接口概览

属性说明
接口名称EasyDoc-智能抽取(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/extract
内容类型multipart/form-data(支持多文件上传)
响应格式application/json
调用模式异步处理,返回任务 ID,结果通过轮询获取

请求头(Headers)

Header 名称类型必填说明
api-keystring认证密钥,由平台分配。例如:api-key: your_apikey_here

请求参数(Form-Data)

使用 multipart/form-data 格式上传文件及参数。

参数名类型必填默认值说明
filesfile 或 file[]-待分析的文档图像或多页 PDF。支持 JPG、PNG、BMP、TIFF、PDF。支持多个文件(最多 1 张)。
json_schemaobject (JSON){}若提供有效 schema,则执行 封闭式抽取模式。注意easydoc-extract-flash 不支持json_schema为空,仅提供封闭式抽取模式
prompt_cusstring[空字符串]自定义抽取指令。
modeenum(string)-当前支持:easydoc-extract,easydoc-extract-flash

抽取模式说明(easydoc-extract)

条件执行模式行为描述
json_schema 有效且非空封闭式抽取仅提取 schema 指定字段
json_schema 无效 + prompt_cus 非空自定义 Prompt 抽取按用户指令抽取
json_schema 无效 + prompt_cus 为空开放式抽取自动识别所有键值对

抽取模式说明(easydoc-extract-flash)

条件执行模式行为描述
json_schema 有效且非空封闭式抽取仅提取 schema 指定字段

json_schema 参数示例(封闭式抽取场景)

{
  "type": "object",
  "properties": {
    "甲方名称": { "type": "string" },
    "乙方名称": { "type": "string" },
    "合同金额": { "type": "string" },
    "签署日期": { "type": "string" }
  }
}

说明:系统将仅对上述字段进行抽取处理。

结构化抽取任务示例

curl -X POST "https://api.easylink-ai.com/v1/easydoc/extract" \
-H "api-key: your_apikey_here" \
-F "files=@contract_page1.jpg" \
-F "files=@contract_page2.jpg" \
-F 'json_schema={
  "type": "object",
  "properties": {
    "项目名称": {"type": "string"},
    "总金额": {"type": "string"}
  }
}' \
-F "mode=easydoc-extract"

响应结构(异步)

初始响应(任务提交成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "PROCESSING"
  }
}

轮询获取结果

curl -X GET "https://api.easylink-ai.com/v1/easydoc/extract/{task_id}" \
  -H "api-key: your_apikey_here"

说明:将 {task_id} 替换为实际任务 ID。

抽取完成响应(成功) easydoc-extract 模式

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "SUCCESS",
    "object": "create.extracted_result",
    "results": [
      {
        "key_index": [
          "甲方名称",
          "乙方名称",
          "合同金额",
          "签署日期"
        ],
        "extracted_fields": {
          "甲方名称": "北京科技有限公司",
          "乙方名称": "上海信息技术公司",
          "合同金额": "¥500,000.00",
          "签署日期": "2025-04-01"
        }
      }
    ]
  }
}

抽取完成响应(成功) easydoc-extract-flash 模式

{
  "success": true,
  "data": {
    "task_id": "b_extract_xxx",
    "status": "SUCCESS",
    "results": [
      {
        "名称": [
          {
            "bbox": [339, 1064, 750, 1103],         // [x1, y1, x2, y2] 坐标(左上→右下)
            "value": "名称 某某市某某塑料有限公司",  // 原始识别文本(含前缀“名称”)
            "category": "Text",                      // 元素类型(Text / Table / Figure 等)
            "source_page": 1,                        // 来自第1页
            "layout_width": 1700,                    // 文档逻辑宽度(用于缩放计算)
            "layout_height": 2200                    // 文档逻辑高度
          }
        ]
      }
    ]
  }
}

失败响应

{
  "success": false,
  "err_code": "INVALID_PARAMETER",
  "err_message": "参数错误:json_schema 格式不合法"
}

错误码说明

err_code说明
EMPTY_TASK非法的任务请求
ILLEGALITY_TASK_TYPE非法的任务类型
API_UNAUTHORIZEDAPI 服务未授权
INVALID_PARAMETER无效参数
INVALID_DOCUMENT文档损坏或不支持
INSUFFICIENT_BALANCE余额不足

3. 病历抽取

接口概览

属性说明
接口名称文档智能信息抽取(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/extract
内容类型multipart/form-data(支持单文件上传)
响应格式application/json
调用模式异步处理,返回任务 ID,结果通过轮询获取

请求头(Headers)

Header 名称类型必填说明
api-keystring认证密钥,由平台分配。例如:api-key: your_apikey_here

请求参数(Form-Data)

使用 multipart/form-data 格式上传文件及参数。

参数名类型必填默认值说明
filesfile 或 file[]-待分析的文档文件。
支持格式:JPG、PNG、BMP、TIFF、GIF、WebP、PDF(单页或多页)
注意
• 在抽取任务中支持上传多个文件(1个任务上限10-15张),如多页或附件
modeenum(string)-处理模式:
emr-extract(病历抽取)

json_schema 为系统内置固定模式,不支持自定义修改

{
        "type": "object",
        "properties": {
            "患者姓名": {"type": "string"},
            "患者性别": {"type": "string"},
            "入院时间": {"type": "string"},
            "出院时间": {"type": "string"},
            "年龄": {"type": "string"},
            "住院时长": {"type": "string"},
            "主诉": {"type": "string"},
            "现病史": {"type": "string"},
            "既往史": {"type": "string"},
        }
    }

说明:系统将仅对上述字段进行抽取处理。

结构化抽取任务示例

使用 mode=emr-extract 进行精准字段抽取。

curl -X POST "https://api.easylink-ai.com/v1/easydoc/extract" \
  -H "api-key: your_apikey_here" \
  -F "files=@voucher_front.jpg" \
  -F "files=@voucher_back.jpg" \
  -F "files=@signature_stamp.png" \
  -F 'json_schema={
    "type": "object",
    "properties": {
            "患者姓名": {"type": "string"},
            "患者性别": {"type": "string"},
            "入院时间": {"type": "string"},
            "出院时间": {"type": "string"},
            "年龄": {"type": "string"},
            "住院时长": {"type": "string"},
            "主诉": {"type": "string"},
            "现病史": {"type": "string"},
            "既往史": {"type": "string"},
        }
  }' \
  -F "mode=emr-extract"

响应结构(异步)

初始响应(任务提交成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "SUCCESS"
  }
}

轮询获取结果

curl -X GET "https://api.easylink-ai.com/v1/easydoc/extract/{task_id}" \
  -H "api-key: your_apikey_here"

说明:将 {task_id} 替换为实际任务 ID。

抽取完成响应(成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "SUCCESS",
    "object": "create.extracted_result",
    "results": [
    {
      "患者姓名": [
        {
          "value": "卢凤英"
        }
      ],
      "性别": [
        {
          "value": "女"
        }
      ]
    }
  ]
  }
}

失败响应

{
  "success": false,
  "err_code": "INVALID_PARAMETER",
  "err_message": "参数错误:json_schema 格式不合法"
}

响应字段说明

字段名类型说明
successboolean请求是否成功提交
dataobject任务信息或最终结果(仅当 success=true 时返回)
data.task_idstring任务唯一 ID
data.statusstring整体任务状态:PROCESSING / SUCCESS / FAILED
data.objectstring结果对象类型,固定为 "create.extracted_result"(仅最终响应)
data.resultsarray抽取结果的结构化数组,每个元素代表一个字段的抽取结果(如“患者姓名”、“性别”等)
data.results[].<field_name>array动态字段名(如“患者姓名”),其值为对象数组,表示该字段在不同位置的抽取结果(支持多页/多实例)
data.results[].<field_name>[].valuestring抽取到的具体字段值(如“卢凤英”、“女”)

错误码说明

err_code说明
EMPTY_TASK非法的任务请求
ILLEGALITY_TASK_TYPE非法的任务类型
API_UNAUTHORIZEDAPI 服务未授权
INVALID_PARAMETER无效参数
INVALID_DOCUMENT文档损坏或不支持
INSUFFICIENT_BALANCE余额不足

4. 执照抽取

接口概览

属性说明
接口名称执照信息抽取(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/extract
内容类型multipart/form-data
响应格式application/json
调用模式异步任务,返回 task_id 后轮询获取结果

请求头(Headers)

名称类型必填说明
api-keystringAPI 密钥

请求参数(Form-Data)

参数名类型必填默认值说明
filesfile 或 file[]-支持 JPG、PNG、PDF
modeenum-必须为:bl-extract

抽取字段为系统内置固定模式,不支持自定义修改(营业执照)

  • 名称
  • 统一社会信用代码
  • 注册资本
  • 类型
  • 成立日期
  • 法定代表人
  • 营业期限
  • 经营范围
  • 住所

结构化抽取任务示例

curl -X POST "https://api.easylink-ai.com/v1/easydoc/extract" \
-H "api-key: your_apikey_here" \
-F "files=@business_license.jpg" \
-F "mode=bl-extract"

响应结构(异步)

初始响应(任务提交成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "PROCESSING"
  }
}

轮询获取结果

curl -X GET "https://api.easylink-ai.com/v1/easydoc/extract/{task_id}" \
  -H "api-key: your_apikey_here"

抽取完成响应(成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_84755514039123",
    "status": "SUCCESS",
    "object": "create.extracted_result",
    "results":
    [
      { "page_number":1,
        "extract_data":
        [
          {
            "key_index":
            [
              "图片类型",
              "名称",
              "统一社会信用代码",
              "注册资本",
              "类型",
              "成立日期",
              "法定代表人",
              "营业期限",
              "经营范围",
              "住所"
            ],
            "extracted_fields":
            {
              "图片类型":"营业执照",
              "名称": "北京星辰科技有限公司",
              "统一社会信用代码":"91110108MA00X1Y2Z",
              "注册资本": "1000万人民币",
              "类型": "有限责任公司",
              "成立日期":"2020-03-15",
              "法定代表人": "张伟",
              "营业期限": "2020-03-15 至 长期",
              "经营范围": "技术开发、咨询、服务;销售电子产品",
              "住所":  "北京市海淀区中关村大街1号"
            }
          }
        ]
      }
    ]
  }
}

失败响应

{
  "success": false,
  "err_code": "INVALID_PARAMETER",
  "err_message": "参数错误:mode 不支持的值"
}

错误码说明

err_code说明
EMPTY_TASK非法任务
ILLEGALITY_TASK_TYPE任务类型错误
API_UNAUTHORIZED未授权
INVALID_PARAMETER参数错误
INVALID_DOCUMENT文档无法处理
INSUFFICIENT_BALANCE余额不足

5. 机构代码证抽取

接口概览

属性说明
接口名称机构代码证信息抽取(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/extract
内容类型multipart/form-data
响应格式application/json
调用模式异步处理,返回任务 ID,结果通过轮询获取

请求头(Headers)

名称类型必填说明
api-keystring平台颁发的 API 密钥

请求参数(Form-Data)

参数名类型必填默认值说明
filesfile 或 file[]-支持 JPG、PNG、BMP、TIFF、PDF
modeenum(string)-必须为:occ-extract

抽取字段为系统内置固定模式,不支持自定义修改(组织机构代码证)

  • 组织机构代码
  • 机构名称
  • 机构类型
  • 地址
  • 有效期
  • 颁发单位
  • 登记号

结构化抽取任务示例

curl -X POST "https://api.easylink-ai.com/v1/easydoc/extract" \
-H "api-key: your_apikey_here" \
-F "files=@org_code_certificate.pdf" \
-F "mode=occ-extract"

响应结构(异步)

初始响应(任务提交成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_9876543210",
    "status": "PROCESSING"
  }
}

轮询获取结果

curl -X GET "https://api.easylink-ai.com/v1/easydoc/extract/{task_id}" \
  -H "api-key: your_apikey_here"

说明:将 {task_id} 替换为实际任务 ID。

抽取完成响应(成功)

{
  "success": true,
  "data": {
    "task_id": "b_extract_9876543210",
    "status": "SUCCESS",
    "object": "create.extracted_result",
    "results": [
      {
        "page_number": 1,
        "extract_data": [
          {
            "key_index": [
              "图片类型",
              "组织机构代码",
              "机构名称",
              "机构类型",
              "地址",
              "有效期",
              "颁发单位",
              "登记号"
            ],
            "extracted_fields": {
              "图片类型": "组织机构代码证",
              "组织机构代码": "A1B2C3D4-E",
              "机构名称": "北京市第一人民医院",
              "机构类型": "事业单位",
              "地址": "北京市朝阳区建国门外大街1号",
              "有效期": "2020-01-01 至 2025-12-31",
              "颁发单位": "国家质量监督检验检疫总局",
              "登记号": "110105000123456"
            }
          }
        ]
      }
    ]
  }
}

失败响应

{
  "success": false,
  "err_code": "INVALID_PARAMETER",
  "err_message": "参数错误:mode 不支持的值"
}

错误码说明

err_code说明
EMPTY_TASK非法的任务请求
ILLEGALITY_TASK_TYPE非法的任务类型
API_UNAUTHORIZEDAPI 服务未授权访问
INVALID_PARAMETER无效参数
INVALID_DOCUMENT文档无法处理
INSUFFICIENT_BALANCE账户余额不足

6. 病历脱敏

接口概览

属性说明
接口名称文档智能脱敏处理(异步)
请求方法POST
请求地址https://api.easylink-ai.com/v1/easydoc/mask
内容类型multipart/form-data
响应格式application/json
调用模式异步处理,返回任务 ID,结果通过轮询获取

请求头(Headers)

Header 名称类型必填说明
api-keystring认证密钥,由平台分配。例如:api-key: your_apikey_here

请求参数(Form-Data)

参数名类型必填默认值说明
filesfile 或 file[]-待脱敏文件,JPG/PNG/BMP/TIFF/PDF
modeenum(string)-计费模式:emr-mask

json_schema 示例(固定字段)

{
            "患者姓名": {"type": "string"},
            "患者性别": {"type": "string"},
            "入院时间": {"type": "string"},
            "出院时间": {"type": "string"},
            "年龄": {"type": "string"},
            "住院时长": {"type": "string"}
        }

脱敏请求示例(结构化脱敏)

curl -X POST "https://api.easylink-ai.com/v1/easydoc/mask" \
  -H "api-key: your_apikey_here" \
  -F "files=@medical_record_001.pdf" \
  -F 'json_schema={
    "type": "object",
    "properties": {
            "患者姓名": {"type": "string"},
            "患者性别": {"type": "string"},
            "入院时间": {"type": "string"},
            "出院时间": {"type": "string"},
            "年龄": {"type": "string"},
            "住院时长": {"type": "string"}
        }
  }' \
  -F "mode=emr-mask"

响应结构(异步)

任务提交成功

{
  "success": true,
  "data": {
    "task_id": "r_mask_9876543210",
    "status": "PROCESSING"
  }
}

轮询检查任务状态

curl -X GET "https://api.easylink-ai.com/v1/easydoc/mask/{task_id}" \
  -H "api-key: your_apikey_here"

请将 {task_id} 替换为实际任务 ID。


最终结果示例

{
  "success": true,
  "data": {
    "task_id": "r_mask_9876543210",
    "status": "SUCCESS",
    "object": "create.masked_result",
    "results": [
      {
        "index": 0,
        "file_name": "report1_masked.jpg",
        "status": "SUCCESS",
        "url": "https://oss.easylink-ai.com/************.jpg",
        "masked_fields": ["患者姓名", "患者性别"]
      }
    ]
  }
}

失败响应示例

{
  "success": false,
  "err_code": "MISSING_FILE",
  "err_message": "未上传任何文件"
}

响应字段说明

字段名类型说明
successboolean请求是否成功
dataobject任务或结果
data.task_idstring任务 ID
data.statusstringPROCESSING / SUCCESS / FAILED
data.objectstringcreate.masked_result
data.resultsarray结果列表
data.results[].indexinteger文件索引
data.results[].file_namestring文件名
data.results[].statusstringSUCCESS / FAILED
data.results[].urlstring文件访问地址
data.results[].masked_fieldsarray被脱敏字段

错误码说明

err_code说明
EMPTY_TASK非法的任务请求
ILLEGALITY_TASK_TYPE非法任务类型
API_UNAUTHORIZEDAPI 未授权
INVALID_PARAMETER无效参数
INVALID_DOCUMENT文件不可处理
INSUFFICIENT_BALANCE余额不足

On this page

1. EasyDoc-智能解析接口概览请求头(Headers)请求参数(Form-Data)请求示例响应结构(异步)任务提交成功轮询检查任务状态执行结果说明2. EasyDoc-智能抽取接口概览请求头(Headers)请求参数(Form-Data)抽取模式说明(easydoc-extract)抽取模式说明(easydoc-extract-flash)json_schema 参数示例(封闭式抽取场景)结构化抽取任务示例响应结构(异步)初始响应(任务提交成功)轮询获取结果抽取完成响应(成功) easydoc-extract 模式抽取完成响应(成功) easydoc-extract-flash 模式失败响应错误码说明3. 病历抽取接口概览请求头(Headers)请求参数(Form-Data)json_schema 为系统内置固定模式,不支持自定义修改结构化抽取任务示例响应结构(异步)初始响应(任务提交成功)轮询获取结果抽取完成响应(成功)失败响应响应字段说明错误码说明4. 执照抽取接口概览请求头(Headers)请求参数(Form-Data)抽取字段为系统内置固定模式,不支持自定义修改(营业执照)结构化抽取任务示例响应结构(异步)初始响应(任务提交成功)轮询获取结果抽取完成响应(成功)失败响应错误码说明5. 机构代码证抽取接口概览请求头(Headers)请求参数(Form-Data)抽取字段为系统内置固定模式,不支持自定义修改(组织机构代码证)结构化抽取任务示例响应结构(异步)初始响应(任务提交成功)轮询获取结果抽取完成响应(成功)失败响应错误码说明6. 病历脱敏接口概览请求头(Headers)请求参数(Form-Data)json_schema 示例(固定字段)脱敏请求示例(结构化脱敏)响应结构(异步)任务提交成功轮询检查任务状态最终结果示例失败响应示例响应字段说明错误码说明