跳到主要内容
版本:V2.8

API接口文档

  1. 域名:https://cloud.laiye.com/idp

  2. 请求协议:https

  3. 数据格式:json

  4. 验证方式

    4.1 应用签名验证

    • HTTP Header:
    header key描述
    Api-Auth-pubkey用户创建应用的 pubkey
    Api-Auth-timestamp当前时间戳(秒)
    Api-Auth-nonce随机字符串
    Api-Auth-sign签名(signature)(签名生成规则:(Api-Auth-nonce+Api-Auth-timestamp+secret_key)的sha1值)
    • 示例代码(python)
    encoding:utf-8  
    import requests
    import json
    import time
    import hashlib
    import random
    import string
    def GenerateHeader(api_auth_pubkey, app_auth_secretkey):
    api_auth_timestamp = str(int(time.time()))
    api_auth_nounce = "".join(random.sample(string.ascii_letters + string.digits, 10))
    HeaderDict = dict()
    prefix = "Value Exception"
    if api_auth_pubkey == "":
    raise Exception("{0}, the api_auth_pubkey must not be empty".format(prefix))
    if app_auth_secretkey == "":
    raise Exception("{0}, the app_auth_secret_key must not be empty".format(prefix))
    prefix = "Type Exception"
    if not isinstance(api_auth_pubkey, str):
    raise Exception("{0}, the type of api_auth_pubkey must be string".format(prefix))
    if not isinstance(app_auth_secretkey, str):
    raise Exception("{0}, the type of app_auth_secretkey must be string".format(prefix))
    HeaderDict["Api-Auth-nonce"] = api_auth_nounce
    HeaderDict["Api-Auth-pubkey"] = api_auth_pubkey
    HeaderDict["Api-Auth-timestamp"] = api_auth_timestamp
    token_name = hashlib.sha1()
    token_key = api_auth_nounce + api_auth_timestamp+app_auth_secretkey
    token_name.update(token_key.encode("utf-8"))
    HeaderDict["Api-Auth-sign"] = token_name.hexdigest()
    return HeaderDict

    4.2 token验证

    • Http Header:
    header key描述
    Api-Auth-access-token账号oauth登录后得到的access-token

    4.3 SDK资源

    SDK下载地址

常见错误码

code描述
0正常
3(参数错误, 具体返回的 Message 根据错误类型不同会有差异)
8(资源耗尽, 比如请求体过大, 具体返回的 Message 根据错误类型不同会有差异)
10000服务内部错误
10001header解析错误
10002签名验证失败
10003参数不正确,应用不存在(
10004分类器算法类型不匹配
10005需要先更新分类器模型
10006需要选择待识别的图片
10007错误的文件类型
10008格式不正确,只支持png,jpeg,jpg,bmp,tiff,pdf
10009文件尺寸不正确,文件的长宽需要在15和4096像素之间
10010处理超时
10011账号配额不足
10012token已失效
10013无效的AI能力模块ID
10014当前AI能力未开启
10015调用频率超限
10016应用类型不匹配,请选择正确的API
10017不支持加密的PDF
10018请求数据过大,请控制在10M以内
10019不存在生效模板,无法进行模版识别
10020未匹配到任何生效模板
10021不存在已发布版本,无法进行抽取
10022请求参数错误
10023只支持UTF8编码

限流说明

为了安全性和响应效率,我们对开放平台接口做了调用频率的限流。 每次调用,在返回的 Headers 对象中(Response Headers)中会给出以下三个参数:

  • X-Ratelimit-Remaining:当前时间窗口剩余请求;
  • X-Ratelimit-Reset:下次重置时间;
  • UTCX-Ratelimit-Limit:当前时间窗口最大限流次数。

限流规则:

AI能力URI限制规则-
通用文字识别/v1/mage/ocr/general企业版:根据商务沟通确定 免费版: 每分钟6次--
通用表格识别/v1/mage/ocr/table企业版:根据商务沟通确定 免费版: 每分钟6次--
通用卡证识别/v1/mage/ocr/license企业版:根据商务沟通确定 免费版: 每分钟6次--
通用多票据识别/v1/mage/ocr/bills企业版:根据商务沟通确定 免费版: 每分钟6次--
模板识别/v1/document/ocr/template企业版:根据商务沟通确定 免费版: 每分钟6次--

通用文字识别

描述

检测和识别图片中的文本内容,主要用于各种类型文档的电子化,如合同等。基于深度学习,印刷体识别准确率可达99%。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/ocr/general

请求参数

参数是否必选类型描述
with_struct_infoboolean图片格式 ocr.ImageFileType format=2 [json_name='format']; 是否需要结构化的信息
with_char_infoboolean是否需要返回单字信息
img_base64requiredArray of strings图片二进制进行base64后的编码,多页文档按照顺序发送 目前只支持单张

请求代码示例

{
"with_struct_info": true,
"with_char_info": true,
"img_base64": [
"string"
]
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobjectdocUnderstandingOcrGeneralResultNew
+struct_contentobjectocrStructContent
++paragraphArray of objects识别结果的页面信息数组
+++contentstring识别的文本内容
+++paragraph_idint段落编号
++pageArray of objects识别结果的段落信息数组
+++contentstring识别的文本内容
+++page_idint页面编号
++rowArray of objects识别结果的行信息数组
+++contentstring识别的文本内容
+++row_idint行编号
+rotated_image_widthint旋转后图像的宽度
+img_idString每个图片生成的唯一id
+image_angleint旋转角度
+itemsArray of objectsocr的识别结果
++probabilitiesArray of objects识别结果中单个文字的概率
+++charstring
+++probabilityfloat
++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
+++yint
+++xint
++contentString文本块内容
++char_positionsArray of objects每个文字的坐标数组,长度应等于content的长度
+++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+rotated_image_heightint旋转后图片的高度

返回示例

{
"message": "string",
"code": 0,
"data": {
"struct_content": {
"paragraph": [
{
"content": "string",
"paragraph_id": 0
}
],
"page": [
{
"content": "string",
"page_id": 0
}
],
"row": [
{
"content": "string",
"row_id": 0
}
]
},
"rotated_image_width": 0,
"img_id": "string",
"msg_id": "string",
"image_angle": 0,
"items": [
{
"probabilities": [
{
"char": "string",
"probability": 0
}
],
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"char_positions": [
{
"positions": [
{
"y": 0,
"x": 0
}
]
}
],
}
],
"rotated_image_height": 0
}
}

通用表格识别

接口描述

检测和识别图片中的表格,行与列以及单元格中的文本内容。主要用于识别包含表格的文档,如合同、账单等。支持有框线表格、无框线表格、含合并单元格表格等。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/ocr/table

请求参数

参数是否必选类型描述
img_base64requiredArray of strings图片二进制进行base64后的编码,多页文档按照顺序发送 目前只支持单张

请求示例说明

{
"with_struct_info": true,
"with_raw_info": true,
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobjectdocUnderstandingOcrGeneralResultNew
+tablesArray of objects表格的信息
++columnint表格总列数
++cellsArray of objects表格中单元格的信息
+++end_colint单元格终止列
+++start_rowint单元格起始行(单元格在首行时,start_row=0,如果起始行和终止行都是0,说明进行所有列单元格合并)
+++positionsArray of objects单元格坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+++contentstring单元格的文本内容
+++end_rowint单元格终止行
+++start_colint单元格起始列(单元格在首列时,start_col=0,如果起始列和终止列都是0,说明进行所有行单元格合并(The starting column of the cell
++table_idint表格编号,从0开始
++rowint表格总行数
+rotated_image_widthint旋转后图像的宽度
+img_idstring每个图片生成的唯一id
+msg_idstring请求唯一id
+image_angleint旋转角度
+itemsArray of objects非表格内的文字的信息
++probabilitiesArray of objects识别结果中单个文字的概率
+++charstring
+++probabilityfloat
++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
+++yint
+++xint
++contentstring文本块内容
++char_positionsArray of objects每个文字的坐标数组,长度应等于content的长度
+++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+rotated_image_heightint旋转后图片的高度

返回示例

{
"message": "string",
"code": 0,
"data": {
"tables": [
{
"column": 0,
"cells": [
{
"end_col": 0,
"start_row": 0,
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"end_row": 0,
"start_col": 0
}
],
"table_id": 0,
"row": 0
}
],
"rotated_image_width": 0,
"img_id": "string",
"msg_id": "string",
"image_angle": 0,
"items": [
{
"probabilities": [
{
"char": "string",
"probability": 0
}
],
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"char_positions": [
{
"positions": [
{
"y": 0,
"x": 0
}
]
}
],
}
],
"rotated_image_height": 0
}
}

自定义模板识别

接口描述

根据固定的规则从半结构化数据中提取信息

请求说明

请求方式

HTTP method:POST

Request URI: /v1/document/ocr/template

请求参数

参数是否必选类型描述
with_struct_infoboolean是否返回结构化信息(目前只支持通用文字),默认false
with_raw_infoboolean是否返回引擎识别原始信息,默认false
img_base64requiredstring图片base64

请求代码示例

{
"with_struct_info": true,
"with_raw_info": true,
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject自定义模板识别数据
+update_timeint模板更新时间,秒级时间戳
+template_hashstring模板hash
+template_namestring模板名称
+resultsArray of objects识别字段结果
++field_namestring字段名称
++resultsArray of strings字段识别结果列表
+rawobject自定义模板引擎识别原始结果
++tablesArray of objects表格识别信息
+++columnint64表格总列数
+++cellsArray of objects表格中单元格的信息
++++end_colint单元格终止列
++++start_rowint单元格起始行(单元格在首行时,start_row=0,如果起始行和终止行都是0,说明进行所有列单元格合并)
++++positionsArray of objects单元格坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++++contentstring单元格的文本内容
++++end_rowint单元格终止行
++++start_colint单元格起始列(单元格在首列时,start_col=0,如果起始列和终止列都是0,说明进行所有行单元格合并
+++table_idint表格编号,从0开始
+++rowint表格总行数
++struct_contentobjectocrStructContent
+++paragraphArray of objects识别结果的页面信息数组
++++contentstring识别的文本内容
++++paragraph_idint段落编号
+++pageArray of objects识别结果的段落信息数组
++++contentstring识别的文本内容
++++page_idint页面编号
+++rowArray of objects识别结果的行信息数组
++itemsArray of objects文本块识别信息
+++probabilitiesArray of objects识别结果中单个文字的概率
++++charString
++++probabilityfloat
+++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+++contentstring文本块内容
+++char_positionsArray of objects每个文字的坐标数组,长度应等于content的长度
++++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++rotated_image_widthint旋转后的图像宽度
++image_angleint图片旋转角度
++rotated_image_heightint旋转后的图像高度
+msgIdstringmsgId

返回示例

{
"message": "string",
"code": 0,
"data": {
"update_time": "string",
"template_hash": "string",
"template_name": "string",
"results": [
{
"field_name": "string",
"results": [
"string"
]
}
],
"raw": {
"tables": [
{
"column": 0,
"cells": [
{
"end_col": 0,
"start_row": 0,
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"end_row": 0,
"start_col": 0
}
],
"table_id": 0,
"row": 0
}
],
"struct_content": {
"paragraph": [
{
"content": "string",
"paragraph_id": 0
}
],
"page": [
{
"content": "string",
"page_id": 0
}
],
"row": [
{
"content": "string",
"row_id": 0
}
]
},
"items": [
{
"probabilities": [
{
"char": "string",
"probability": 0
}
],
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"char_positions": [
{
"positions": [
{
"y": 0,
"x": 0
}
]
}
],
}
],
"rotated_image_width": 0,
"image_angle": 0,
"rotated_image_height": 0
},
"msgId": "string"
}
}

通用卡证识别

接口描述

检测和识别图片中的卡证信息。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/ocr/license

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
datastringdocUnderstandingOcrLicenseResultNew
+msg_idstring请求唯一id
+resultobjectocrOcrLicenseResponse
++type_descriptionstring证照具体类型描述
++type_keystring证照具体类型key
++rotated_image_widthint旋转后图像的宽度
++img_idstring每个图片生成的唯一id
++image_angleint旋转角度
++itemsArray of objects证照识别结果
+++positionsArray of objects识别字段在原图中的坐标位置,顺时针排列,至少4个点
++++yint
++++xint
+++valuestring识别字段结果
+++keystring识别字段类型
+++descriptionstring识别字段描述
++typeint- 0: 默认 - 1: 银行卡 - 2: 名片 - 3: 香港身份证 - 4: 身份证 - 5: 社保卡 - 6: 驾驶证 - 7: 行驶证 - 8: 户口本 - 9: 护照 - 10: 结婚证 - 11: 离婚证 - 12: 房产证 - 13: 不动产证 - 14: 营业执照 - 15: 开户许可证 - 16: 税务登记证 - 17: 组织机构代码证 - 18: 车辆合格证 - 19: 车辆登记证 - 20: 其它 - 21: 往来港澳通行证 - 22: 往来台湾通行证 - 23: 承兑汇票 - 24: 马来西亚身份证 - 25: 新西兰驾驶证 - 26: 印度尼西亚居民身份证 - 27: 泰国身份证 - 28: 瑞典驾驶证 - 29: 马来西亚驾驶证 - 30: 菲律宾身份证 - 31: 新加坡驾驶证 - 32: 印度尼西亚驾驶证 - 33: 美国驾驶证。Default: "0"
Enum: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33"
++rotated_image_heightint旋转后图片的高度

返回示例

{
"message": "string",
"code": 0,
"data": {
"msg_id": "string",
"result": {
"type_description": "string",
"type_key": "string",
"rotated_image_width": 0,
"img_id": "string",
"image_angle": 0,
"items": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"value": "string",
"key": "string",
"description": "string"
}
],
"type": "0",
"rotated_image_height": 0
}
}
}

印章识别

接口描述

判断印章存在性,并识别印章颜色与性状

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/ocr/stamp

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject印章识别结果
+img_idstring每个图片生成的唯一id
+stampsArray of objects印章识别结果
++shape_descriptionstring形状描述
++confidencefloat置信度
++color_descriptionstring颜色描述
++colorstring颜色
++textstring文字
++shapestring形状
++positionsArray of objects位置
+++yint
+++xint
+msg_idstring请求唯一id

返回示例

{
"message": "string",
"code": 0,
"data": {
"img_id": "string",
"stamps": [
{
"shape_description": "string",
"confidence": 0,
"color_description": "string",
"color": "string",
"text": "string",
"shape": "string",
"positions": [
{
"y": 0,
"x": 0
}
]
}
],
"msg_id": "string"
}
}

通用多票据识别

接口描述

检测和识别图片中的票据,支持单张图片中包含多张票据。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/ocr/bills

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码(The image is encoded after base64)

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobjectdocUnderstandingOcrBillsResultNew
+msg_idstring请求唯一id
+resultArray of objects识别结果
++kindint- 0: 默认 - 1: 用车 - 2: 交通 - 3: 医疗 - 4: 教育 - 5: 日用 - 6: 办公 - 7: 服务 - 8: 数码电器 - 9: 房租装饰 - 10: 通讯 - 11: 住宿 - 12: 邮寄 - 13: 餐饮 - 14: 食品 - 15: 服饰 - 16: 其他
++type_descriptionstring票据具体类型描述
++type_keystring票据具体类型key
++rotated_image_widthint旋转后图像的宽度
++itemsArray of objects票据识别结果
+++positionsArray of objects识别字段在原图中的坐标位置,顺时针排列,至少4个点
++++yint
++++xint
+++valuestring识别字段结果
+++keystring识别字段类型
+++descriptionstring识别字段描述
++rotated_image_heightint旋转后图像的高度
++goodsArray of objects票据中的表格明细部分
+++itemsArray of objectsocrOcrCommonItem
++++positionsArray of objects识别字段在原图中的坐标位置,顺时针排列,至少4个点
+++++yint
+++++xint
++++valuestring识别字段结果
++++keystring识别字段类型
++++descriptionstring识别字段描述
++image_angleint旋转角度
++typeint- 0: 默认 - 1: 增值税专用发票 - 2: 机动车销售统一发票 - 3: 货物运输业增值税专用发票 - 4: 增值税普通发票 - 5: 增值税电子普通发票 - 6: 增值税普通发票(卷票) - 7: 增值税电子普通发票(通行费) - 8: 二手车销售统一发票 - 9: 通用机打发票 - 10: 通用定额发票 - 11: 旅客运输普票 - 12: 公路客运发票 - 13: 船运客票 - 14: 出租车发票 - 15: 停车费发票 - 16: 过路过桥费发票、汽车通行费 - 17: 医疗费收据 - 18: 教育费收据 - 19: 行程单 - 20: 火车票 - 21: 增值税销货清单 - 22: 商户小票 - 23: 其他 - 24: 英文票据。Default: "0"
Enum: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24"
++classint- 0: 默认 - 1: 国税 - 2: 地方票种 - 3: 其他票种

返回示例

{
"message": "string",
"code": 0,
"data": {
"msg_id": "string",
"result": {
"img_id": "string",
"result": [
{
"kind": "0",
"type_description": "string",
"type_key": "string",
"rotated_image_width": 0,
"items": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"value": "string",
"key": "string",
"description": "string"
}
],
"rotated_image_height": 0,
"goods": [
{
"items": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"value": "string",
"key": "string",
"description": "string"
}
]
}
],
"image_angle": 0,
"type": "0",
"class": "0"
}
]
}
}
}

验证码识别

接口描述

通过图像识别OCR技术,检测和识别图片验证码中的数字和字母,针对特定网页验证码类型可以开箱即用。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/document/ocr/verification

请求参数

字段是否必选类型描述
formatint图片格式
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"format": "0",
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject验证码识别结果
+positionsArray of objects识别区域左上角顶点坐标
++yint
++xint
+msg_idstring请求唯一id
+resultstring结果

返回示例

{
"message": "string",
"code": 0,
"data": {
"positions": [
{
"y": 0,
"x": 0
}
],
"msg_id": "string",
"result": "string"
}
}

文档抽取

提交任务

文档抽取任务提交接口,上传1份文件,返回任务ID。

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/nlp/docextract/create

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
task_idstring任务ID

返回示例

{
"message": "string",
"code": 0,
"task_id": "string"
}

获取结果

文档抽取获取结果接口,根据任务ID查询文档抽取的结果。

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/nlp/docextract/query

请求参数

字段是否必选类型描述
task_idrequiredstring任务ID

请求代码示例

{
"task_id": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject抽取结果
+statusint文档抽取状态. Default: "0";0: 默认值; 1: 等待中; 2: 进行中; 3: 成功; 4: 失败
+type_descriptionstring文件类型描述
+task_idstring任务id
+fieldsArray of objects抽取结果
++scorefloat置信度
++valuesArray of objects抽取值
+++contentstring文字内容
+++positionsArray of objects文字坐标组
++++positionsArray of objects坐标
+++++positionArray of objects(左上/右上/右下/左下 4 个点的坐标)
++++++xint
++++++yint
++++page_numint页码
+++is_intextboolean是否在原文中
++descriptionstring字段描述
++keystring字段key
+recommend_structureArray of objects结构化建议结果
++columnint表格总列数
++cellsArray of objects表格中单元格的信息
+++end_colint单元格终止列
+++start_rowint单元格起始行(单元格在首行时,start_row=0,如果起始行和终止行都是0,说明进行所有列单元格合并)
+++positionsArray of objects单元格坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+++contentstring单元格的文本内容
+++end_rowint单元格终止行
+++start_colint单元格起始列(单元格在首列时,start_col=0,如果起始列和终止列都是0,说明进行所有行单元格合并
+++itemsArray of objects单元格内每个条目的信息
++++probabilitiesArray of objects识别结果中单个文字的概率
+++++charstring
+++++probabilityfloat
++++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++++contentstring文本块内容
++++char_positionsArray of objects每个文字的信息,包括坐标、文字内容、概率等
+++++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
++++++yint
++++++xint
+++++probabilityfloat文字概率
+++++textstring文字内容
++++handwrite_infoobject条目是否是手写(私有部署定制模型,公有云不支持)
+++++handwrite_scorefloat手写得分
+++++is_handwriteboolean是否手写
+++++print_scorefloat打印得分
++++importance_infoobject条目是否是关键信息(私有部署定制模型,公有云不支持)
+++++is_importanceboolean是否关键信息
+++++important_scorefloat关键信息得分
+++++unimportant_scorefloat非关键信息得分
++table_idint表格编号,从0开始
++rowint表格总行数
+progressint完成百分比
+type_keystring文件类型key
+pagesArray of objects页面信息
++contentstring识别内容全文本
++image_angleint旋转角度(原始图片顺时针旋转多少度后摆正)
++page_numint页面编号

返回示例

{
"message": "string",
"code": 0,
"data": {
"status": "0",
"type_description": "string",
"task_id": "string",
"fields": [
{
"score": 0,
"values": [
{
"content": "string",
"positions": [
{
"positions": [
{
"position": [
{
"y": 0,
"x": 0
}
]
}
],
"page_num": 0
}
],
"is_intext": true
}
],
"description": "string",
"key": "string"
}
],
"recommend_structure": [
{
"column": 0,
"cells": [
{
"end_col": 0,
"start_row": 0,
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"end_row": 0,
"start_col": 0,
"items": [
{
"probabilities": [
{
"char": "string",
"probability": 0
}
],
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"char_positions": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"probability": 0,
"text": "string"
}
],
"handwrite_info": {
"handwrite_score": 0,
"is_handwrite": true,
"print_score": 0
},
"importance_info": {
"is_importance": true,
"important_score": 0,
"unimportant_score": 0
}
}
]
}
],
"table_id": 0,
"row": 0
}
],
"progress": 0,
"type_key": "string",
"pages": [
{
"content": "string",
"image_angle": 0,
"page_num": 0
}
]
}
}

版面分析

接口描述

版面分析服务

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/ocr/layout

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject版面分析识别结果
+itemsArray of objects版面识别区域列表
++probabilitiesArray of objects识别结果中单个文字的概率
+++charstring
+++probabilityfloat
++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
+++yint
+++xint
++contentstring文本块内容
++char_positionsArray of objects每个文字的信息,包括坐标、文字内容、概率等
+++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+++probabilityfloat文字概率
+++textstring文字内容
+scorefloat置信度
+class_keystring版面类型key
+class_noint['page_header', 'page_footer', 'picture', 'paragraph', 'list', 'seal', 'qr_code', 'handwritten_signature', 'logo', 'question', 'other', 'article_title', 'form_title', 'picture_title', 'class_title', 'full_form', 'no_form', 'half_form', 'form_annotation', 'page_annotation', 'picture_annotation'] Default: "0"
Enum: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" 1: 页眉; 2: 页脚; 3: 图片; 4: 文本段落; 5: 列表; 6: 印章; 7: 二维码; 8: 手写签名; 9: logo; 10: 其他; 11: 文章标题; 12: 表格标题; 13: 图片标题; 14: 段落标题; 15: 有线表格; 16: 混合线框表格,; 17: 表格注释; 18: 页面注释; 19: 图片注释
msg_idstring请求唯一id
image_angleint旋转角度
rotated_image_heightint旋转后图片的高度
rotated_image_widthint旋转后图片的宽度

返回示例

{
"message": "string",
"code": 0,
"data": {
"items": [
{
"area_positions": [
{
"y": 0,
"x": 0
}
],
"items": [
{
"probabilities": [
{
"char": "string",
"probability": 0
}
],
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"char_positions": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"probability": 0,
"text": "string"
}
],
"handwrite_info": {
"handwrite_score": 0,
"is_handwrite": true,
"print_score": 0
},
"importance_info": {
"is_importance": true,
"important_score": 0,
"unimportant_score": 0
}
}
],
"score": 0,
"class_key": "string",
"class_no": "0"
}
],
"msg_id": "string",
"image_angle": 0,
"rotated_image_height": 0,
"rotated_image_width": 0
}
}

信息抽取

接口描述

文本信息抽取能力是来也自研的NLP能力,实现从文本中按照一定逻辑提取关键信息的过程。

请求说明

请求方式

HTTP method:POST

Request URI:/v1/document/extract

请求参数

字段是否必选类型描述
docrequiredstring待抽取信息的文本

请求代码示例

{
"doc": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject抽取返回数据
+update_timeint版本更新时间,秒级时间戳
+msg_idstring唯一id
+resultsArray of objects抽取结果
++namestring名称
++unicode_lengthintunicode编码的长度
++template_hashstring模板hash
++fieldsArray of objects抽取到的字段
+++std_valuestring归一化值,暂不启用
+++namestring字段名
+++unicode_lengthintunicode编码的长度
+++unicode_start_posintunicode编码的起始位置
+++valuestring文本值
+++lengthint在query中的长度,utf8编码
+++scorefloat置信度
+++start_posint在query中的起始位置,utf8编码
+++idint字段id
++lengthint在query中的长度,utf8编码
++unicode_start_posintunicode编码的起始位置
++start_posint在query中的起始位置,utf8编码
++idint模板id
++template_strstring模板的文本
+debug_infoobject调试信息
++word_segmentsArray of strings分词结果
++match_failed_infosArray of objects模板失败原因
+++failed_msgstring详细信息
+++typeint- 0: 模板解析失败 - 1: 锚点没找到 - 2: 结果冲突 - 3: 模糊匹配失败 - 4: 未能匹配到开始 - 5: 未能匹配到结束; Default: "0"; Enum: "0" "1" "2" "3" "4" "5"
+++idint模板id
++regex_match_failed_infosArray of objects正则匹配失败信息
+++contentstring失败的内容
+++lengthint长度
+++regex_namestring正则名称
+++start_posint起始位置
++dict_match_failed_infosArray of objects词典匹配失败信息
+++lengthint长度
+++dict_namestring词典名称
+++start_posint起始位置
+++dict_wordstring失败的单词
+version_hashstring版本hash

返回示例

{
"message": "string",
"code": 0,
"data": {
"update_time": "string",
"msg_id": "string",
"results": [
{
"name": "string",
"unicode_length": 0,
"template_hash": "string",
"fields": [
{
"std_value": "string",
"name": "string",
"unicode_length": 0,
"unicode_start_pos": 0,
"value": "string",
"length": 0,
"score": 0,
"start_pos": 0,
"id": 0
}
],
"length": 0,
"unicode_start_pos": 0,
"start_pos": 0,
"id": 0,
"template_str": "string"
}
],
"debug_info": {
"word_segments": [
"string"
],
"match_failed_infos": [
{
"failed_msg": "string",
"type": "0",
"id": 0
}
],
"regex_match_failed_infos": [
{
"content": "string",
"length": 0,
"regex_name": "string",
"start_pos": 0
}
],
"dict_match_failed_infos": [
{
"length": 0,
"dict_name": "string",
"start_pos": 0,
"dict_word": "string"
}
]
},
"version_hash": "string"
}
}

标准地址

地址标准化服务。输入1个地址,系统返回该地址的标准值。具有弥补和纠错自然语言表达的非标准地址。

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/nlp/geoextract

请求参数

字段是否必选类型描述
textrequiredstring文本

请求代码示例

{
"text": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject地址标准化结果
msg_idstring请求唯一id
geo_listArray of objects结果列表
+provincestring省(直辖市或自治区)
+citystring
+poi_typestringpoi类型
+districtstring区县/县级市
+subdistrictstring街道
+lengthint
+start_posint
+addressstring详细地址
+poi_namestring名称

返回示例

{
"message": "string",
"code": 0,
"data": {
"msg_id": "string",
"geo_list": [
{
"province": "string",
"city": "string",
"poi_type": "string",
"district": "string",
"subdistrict": "string",
"length": 0,
"start_pos": 0,
"address": "string",
"poi_name": "string"
}
]
}
}

二维码识别

识别图片中二维码的编码信息

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/ocr/barcode

请求参数

字段是否必选类型描述
img_base64requiredstring图片二进制进行base64后的编码

请求代码示例

{
"img_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject二维码识别结果
+itemsobject二维码列表
++positionsArray of objects二维码区域坐标
+++yint
+++xint
++code_typeint- 0: 缺省 - 1: 二维码 - 2: 条形码 Default: "0"; Enum: "0" "1" "2"
++textstring二维码内容
+msg_idstring请求唯一id
+image_angleint旋转角度
+rotated_image_heightint旋转后图片的高度
+rotated_image_widthint旋转后图片的宽度

返回示例

{
"message": "string",
"code": 0,
"data": {
"items": [
{
"positions": [
{
"y": 0,
"x": 0
}
],
"code_type": "0",
"text": "string"
}
],
"msg_id": "string",
"image_angle": 0,
"rotated_image_height": 0,
"rotated_image_width": 0
}
}

文本分类

接口描述

文本分类,即将输入的文档根据一定用户所设定好的规则进行分类,方便用户整理同类文档。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/document/classify

请求参数

字段是否必选类型描述
docrequiredstring待进行分类的文本内容

请求代码示例

{
"doc": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject分类返回数据
+msg_idstring唯一id
+resultsArray of objects分类结果
++class_idint分类id
++scorefloat置信度0-100
++class_labelstring分类名
++debug_infoArray of objects调试信息
+++unicode_start_posintunicode起始位置
+++start_posintutf8编码起始位置
+++lengthintutf8编码长度
+++keywordstring匹配关键字
+++unicode_lengthintunicode长度

返回示例

{
"message": "string",
"code": 0,
"data": {
"msg_id": "string",
"results": [
{
"class_id": 0,
"score": 0,
"class_label": "string",
"debug_info": [
{
"unicode_start_pos": 0,
"start_pos": 0,
"length": 0,
"keyword": "string",
"unicode_length": 0
}
]
}
]
}
}

合同比对

提交任务

接口描述

合同比对任务提交接口,上传2份待比对的文件,返回任务ID。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/solution/contract/compare

请求参数

字段是否必选类型描述
file_comparestring比对文档 (base 64 编码)
file_basestring标准文档 (base 64 编码)
file_compare_namestring比对文档的文件名, 不含文件后缀 (选填, 如果不传, 平台以 "比对文档" 命名该文件)
file_base_namestring标准文档的文件名, 不含文件后缀 (选填, 如果不传, 平台以 "标准文档" 命名该文件)

请求代码示例

{
"file_compare": "string",
"file_base": "string",
"file_compare_name": "string",
"file_base_name": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
task_idstring比对任务 ID

返回示例

{
"message": "string",
"code": 0,
"task_id": "string"
}

获取结果

合同比对获取结果接口,根据任务ID查询比对结果。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/solution/contract/detail

请求参数

字段是否必选类型描述
task_idstring比对任务 ID

请求代码示例

{
"task_id": "string"
}

返回说明

返回示例

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject比对结果
+finished_page_numint当前已完成的页码, 页码从 1 开始
+result_ocrArray of objectsOCR 识别结果(deprected))
++file_comparestring比对文档该页的 OCR 识别结果
++file_basestring参考文档该页的 OCR 识别结果
++page_numint页码, 页码从 1 开始
+task_idstring任务 ID
+total_page_numint总页数
+result_details_ignoreArray of objects已忽略的差异
++diff_resultArray of objects该页的 diff 结果
+++diff_indexintdiff 在参考文档中, 当前页面出现的顺序
+++content_comparestring比对文档中的 diff 内容Array of objects比对文档中的 diff 的位置, Diff 可能跨页, 在同一页内也可能跨行, 对于既跨页又跨行的 Diff, 需先按页切割, 然后在一页内按行切割
++++position_listArray of objects该页上的 diff 区域
+++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
++++++yint
++++++xint
++++page_numint该页的页码 (页码从 1 开始)Array of objects参考文档中的 diff 的位置, Diff 可能跨页, 在同一页内也可能跨行, 对于既跨页又跨行的 Diff, 需先按页切割, 然后在一页内按行切割
++++position_listArray of objects该页上的 diff 区域
+++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
++++++yint
++++++xint
++++page_numint该页的页码 (页码从 1 开始)
+++diff_typeintdocUnderstandingDiffType. 0: 枚举默认值, 不使用;1: 修改类型(Modification type);2: 删除类型;3: 插入类型
+++content_basestring参考文档中的 diff 内容
++page_numint当前页码, 页码从 1 开始
+base_page_resultArray of objects参考文档识别结
++contentstring识别内容全文本
++image_angleint旋转角度
++page_numint64页码, 页码从 1 开始
+base_page_numint64参考文档页数
+compare_page_numint64比对文档页数
+result_urlstring比对结果链接
+compare_page_resultArray of objects比对文档识别结果
++contentstring识别内容全文本
++image_angleint旋转角度
++page_numint页码, 页码从 1 开始
+task_error_msgstring当任务状态为比对失败时, 该字段指示失败的原因
+result_summaryobject比对整体结果
++diff_insertint插入 diff 总数
++diff_ignoreint忽略的 diff 总数
++diff_pageint存在 diff 的页码, 页码从 1 开始
++diff_sumintdiff 总数
++diff_deleteint删除 diff 总数
++diff_replaceint修改 diff 总数
+task_statusintdocUnderstandingCompareTaskStatus. 0: 枚举默认值, 不使用;1: 等待中(waiting);2: 比对中;3: 已停止; 4: 比对完成; 5: 比对失败
+result_detailsArray of objects详细比对结果, diff出现的页码、diff类型、diff在2个文档中的位置
++diff_resultArray of objects该页的 diff 结果
+++diff_indexintdiff 在参考文档中, 当前页面出现的顺序
+++content_comparestring比对文档中的 diff 内容
+++location_compareArray of objects比对文档中的 diff 的位置, Diff 可能跨页, 在同一页内也可能跨行, 对于既跨页又跨行的 Diff, 需先按页切割, 然后在一页内按行切割
++++position_listArray of objects该页上的 diff 区域
+++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
++++++yint
++++++xint
++++page_numint该页的页码 (页码从 1 开始)Array of objects参考文档中的 diff 的位置, Diff 可能跨页, 在同一页内也可能跨行, 对于既跨页又跨行的 Diff, 需先按页切割, 然后在一页内按行切割
++++position_listArray of objects该页上的 diff 区域
+++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
++++++yint
++++++xint
++++page_numint该页的页码 (页码从 1 开始)
+++diff_typeintdocUnderstandingDiffType. 0: 枚举默认值, 不使用;1: 修改类型;2: 删除类型(delete type);3: 插入类型
+++content_basestring参考文档中的 diff 内容
++page_numint当前页码, 页码从 1 开始

返回示例

{
"message": "string",
"code": 0,
"data": {
"finished_page_num": 0,
"result_ocr": [
{
"file_compare": "string",
"file_base": "string",
"page_num": 0
}
],
"task_id": "string",
"total_page_num": 0,
"result_details_ignore": [
{
"diff_result": [
{
"diff_index": 0,
"content_compare": "string",
"location_compare": [
{
"position_list": [
{
"position": [
{
"y": 0,
"x": 0
}
]
}
],
"page_num": 0
}
],
"location_base": [
{
"position_list": [
{
"position": [
{
"y": 0,
"x": 0
}
]
}
],
"page_num": 0
}
],
"diff_type": "0",
"content_base": "string"
}
],
"page_num": 0
}
],
"base_page_result": [
{
"content": "string",
"image_angle": 0,
"page_num": 0
}
],
"base_page_num": 0,
"compare_page_num": 0,
"result_url": "string",
"compare_page_result": [
{
"content": "string",
"image_angle": 0,
"page_num": 0
}
],
"task_error_msg": "string",
"result_summary": {
"diff_insert": 0,
"diff_ignore": 0,
"diff_page": [
0
],
"diff_sum": 0,
"diff_delete": 0,
"diff_replace": 0
},
"task_status": "0",
"result_details": [
{
"diff_result": [
{
"diff_index": 0,
"content_compare": "string",
"location_compare": [
{
"position_list": [
{
"position": [
{
"y": 0,
"x": 0
}
]
}
],
"page_num": 0
}
],
"location_base": [
{
"position_list": [
{
"position": [
{
"y": 0,
"x": 0
}
]
}
],
"page_num": 0
}
],
"diff_type": "0",
"content_base": "string"
}
],
"page_num": 0
}
]
}
}

下载结果

合同比对下载结果接口,根据任务ID下载比对结果。

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/solution/contract/files

请求参数

| 字段 | 是否必选 |类型描述 | | ------------ | --------------------------- | ------ | ---------------------------- | | task_id | | string | 比对任务 ID|

请求代码示例

{
"task_id": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
linkstring比对结果链接

返回示例

{
"message": "string",
"code": 0,
"link": "string"
}

文档自训练抽取

提交任务

文档自训练抽取模型任务提交接口,上传1份待分析的文件,返回任务ID。(多份标签任务模型待提交接口,上传1个分析的文件,返回ID。)

请求说明

请求方式

HTTP method:POST

Request URI: /v1/mage/idp/extractor/create

请求参数

字段是否必选类型描述
file_base64requiredstring(文件二进制进行base64后的编码)

请求代码示例

{
"file_base64": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
task_idstring任务ID

返回示例

{
"message": "string",
"code": 0,
"task_id": "string"
}

获取结果

多页抽取模型获取结果接口,根据任务ID查询抽取结果。

请求说明

请求方式

HTTP method:POST

Request URI:/v1/mage/idp/extractor/query

请求参数

字段是否必选类型描述
task_idrequiredstring任务id

请求代码示例

{
"task_id": "string"
}

返回说明

返回参数

字段是否必选类型描述
messagestring提示信息
codeint状态码
dataobject抽取任务结果
+statusintIDP抽取模型任务状态。Default: "0",Enum: "0" "1" "2" "3" "4" "5"。0: 默认值;1: 等待中;2: 识别中;3: 抽取中;4: 成功;5: 失败。
+task_idstring任务id
+general_resultsArray of objects通用文字结果
++tablesArray of objects表格识别信息
+++columnint表格总列数
+++cellsArray of objects表格中单元格的信息)
++++end_colint单元格终止列
++++start_rowint单元格起始行(单元格在首行时,start_row=0,如果起始行和终止行都是0,说明进行所有列单元格合并)
++++positionsArray of objects单元格坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++++contentstring单元格的文本内容
++++end_rowint单元格终止行
++++start_colint单元格起始列(单元格在首列时,start_col=0,如果起始列和终止列都是0,说明进行所有行单元格合并)
+++table_idint表格编号,从0开始
+++rowint表格总行数
++struct_contentobjectocrStructContent
+++paragraphArray of objects识别结果的页面信息数组
++++contentstring识别的文本内容
++++paragraph_idint段落编号
++itemsArray of objects文本块识别信息)
+++probabilitiesArray of objects识别结果中单个文字的概率
++++charstring
++++probabilityfloat
+++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
++++yint
++++xint
+++contentstring文本块内容
+++char_positionsArray of objects每个文字的坐标数组,长度应等于content的长度
++++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++rotated_image_widthint旋转后的图像宽度
++image_angleint图片旋转角度
++rotated_image_heightint旋转后的图像高度
+fieldsArray of objects抽取结果
++field_typeint字段类型。Default: "0",Enum: "0" "1" "2"。0: 默认值不使用,1: 字符串,2: 字符串数组
++text_listobject字符串数组对象
+++valuesArray of objects字符串值数组
++++positionsArray of objects坐标区域
+++++positionsArray of objects坐标
++++++contentstring文字内容
++++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
+++++++yint
+++++++xint
+++++page_numint页码
++++valuestring
++field_namestring字段名称
++field_hashstring字段hash
++textobjectIDP字符串值
+++positionsArray of objects坐标区域
++++positionsArray of objects坐标
+++++contentstring文字内容
+++++positionArray of objects左上/右上/右下/左下 4 个点的坐标
++++++yint
++++++xint
++++page_numint页码
+++valuestring
+validate_resultsArray of objects规则校验结果
++rule_typeint字段校验规则类型。Default: "0",Enum: "0" "1" "2"。0: 默认值不使用,1: 非空,2: 代码块
++hashstring规则hash
++namestring规则名称
++successboolean是否成功
++field_namesArray of strings字段名称列表
++fail_detailstring错误消息
++progressint完成百分比
++ocr_resultsArray of objectsOCR识别结果
+++tablesArray of objects表格识别信息
++++columnint表格总列数
++++cellsArray of objects表格中单元格的信息
+++++end_colint单元格终止列
+++++start_rowint单元格起始行(单元格在首行时,start_row=0,如果起始行和终止行都是0,说明进行所有列单元格合并)
+++++positionsArray of objects单元格坐标(左上角起,顺时针一周四角坐标形成的集合)
++++++yint
++++++xint
+++++contentstring单元格的文本内容
+++++end_rowint单元格终止行
+++++start_colint单元格起始列(单元格在首列时,start_col=0,如果起始列和终止列都是0,说明进行所有行单元格合并)
++++table_idint表格编号,从0开始
++++rowint表格总行数
+++struct_contentobjectocrStructContent
++++paragraphArray of objects识别结果的页面信息数组
+++++contentstring识别的文本内容
+++++paragraph_idint段落编号
++++pageArray of objects识别结果的段落信息数组
+++++contentstring识别的文本内容
+++++page_idint页面编号
++++rowArray of objects识别结果的行信息数组
+++++contentstring识别的文本内容
+++++row_idint行编号
+++itemsArray of objects文本块识别信息
++++probabilitiesArray of objects识别结果中单个文字的概率
+++++charstring
+++++probabilityfloat
++++positionsArray of objects文本块坐标(左上角起,顺时针一周四角坐标形成的集合)
+++++yint
+++++xint
++++contentstring文本块内容)
++++char_positionsArray of objects每个文字的坐标数组,长度应等于content的长度
+++++positionsArray of objects文字坐标(左上角起,顺时针一周四角坐标形成的集合)
++++++yint
++++++xint
+++rotated_image_widthint旋转后的图像宽度
+++image_angleint图片旋转角度
+++rotated_image_heightint旋转后的图像高度

返回示例

{
"message": "string",
"code": 0,
"data": {
"status": "0",
"task_id": "string",
"general_results": [
{
"tables": [
{
"column": 0,
"cells": [
{
"end_col": 0,
"start_row": 0,
"positions": [
{
"y": 0,
"x": 0
}
],
"content": "string",
"end_row": 0,
"start_col": 0
}
],