合同审查
接口描述
合同审查支持多种合同场景审查,精准定位关键审查点,提供专业的风险评估、判断依据及修改建议,加速合同审查流程。如希望快速可视化体验效果,可登录智能文档分析平台,一键上传文档,在线测试;在线工具和API服务的额度共享互通。
合同审查API服务为异步接口,需要先调用提交请求接口获取 taskID,然后调用获取结果接口进行结果轮询,建议提交请求后1~2分钟开始轮询。提交请求接口QPS为2,获取结果接口QPS为10。
提交请求接口
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP 方法:POST
请求URL: https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | multipart/form-data |
Body中放置请求参数,参数详情如下:
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
file | file/fileURLList 二选一 | file | - | 文件数据,支持Word和PDF格式,文件大小不超过10M优先级: file > fileURLList,当file字段存在时,fileURLList字段失效 |
fileURLList | file/fileURLList 二选一 | string | - | 文件完整URL,仅支持北京区域的BOS公网访问,URL长度不超过1024字节,支持PDF/doc/docx格式,仅支持上传1篇文件,文件大小不超过10M优先级: file > fileURLList,当file字段存在时,fileURLList字段失效请注意关闭URL防盗链 |
templateName | templateName/templateId 二选一 | string | Sales_PartyA_V2/ Sales_PartyB_V2/ Lease_PartyA_V2/ Lease_PartyB_V2/TechDev_PartyA_V2/TechDev_PartyB_V2/Labor_PartyA_V2/ Labor_PartyB_V2/ Entrustment_PartyA_V2/ Entrustment_PartyB_V2/Work-for-hire_PartyA_V2/ Work-for-hire_PartyB_V2/ LaborDispatch_PartyA_V2/LaborDispatch_PartyB_V2/RealtySvcs_PartyA_V2/RealtySvcs_PartyB_V2/EquipPur_PartyA_V2/ EquipPur_PartyB_V2/ FinLease_PartyA_V2/ FinLease_PartyB_V2/ DebtAssign_PartyA_V2/ DebtAssign_PartyB_V2/ CISG_PartyA_V2/ CISG_PartyB_V2 / GUAR_PartyA_V2 / GUAR_PartyB_V2 / CG_PartyA_V2 / CG_PartyB_V2 / Factoring_PartyA_V2 / Factoring_PartyB_V2 / Brokerage_PartyA_V2 / Brokerage_PartyB_V2 / TradingTrust_PartyA_V2 / TradingTrust_PartyB_V2 / PNRship_V2 / PT/PAT_PartyA_V2 / PT/PAT_PartyB_V2/ TST_PartyA_V2/ TST_PartyB_V2 | 该清单类型为系统预置清单。每次审查任务仅可选择单一清单。具体清单选项如下: - Sales_PartyA_V2:买卖合同-买方; - Sales_PartyB_V2:买卖合同-卖方;- Lease_PartyA_V2:租赁合同-出租方;- Lease_PartyB_V2:租赁合同-承租方;- TechDev_PartyA_V2:技术开发合同-委托方;- TechDev_PartyB_V2:技术开发合同-受托方;- Labor_PartyA_V2:劳动合同-用人单位;- Labor_PartyB_V2:劳动合同-劳动者;- Entrustment_PartyA_V2:委托合同-委托方;- Entrustment_PartyB_V2:委托合同-受托方;- Work-for-hire_PartyA_V2:承揽合同-定作人;- Work-for-hire_PartyB_V2:承揽合同-承揽人;- LaborDispatch_PartyA_V2:劳务派遣合同-用工单位;- LaborDispatch_PartyB_V2:劳务派遣合同-劳务派遣单位;- RealtySvcs_PartyA_V2:物业服务合同-业主;- RealtySvcs_PartyB_V2:物业服务合同-物业服务人;- EquipPur_PartyA_V2:设备采购合同-买方;- EquipPur_PartyB_V2:设备采购合同-卖方;- FinLease_PartyA_V2:融资租赁合同-出租方;- FinLease_PartyB_V2:融资租赁合同-承租方;- DebtAssign_PartyA_V2:债权转让合同-转让方;- DebtAssign_PartyB_V2:债权转让合同-受让方;- CISG_PartyA_V2:国际货物贸易合同-买方;- CISG_PartyB_V2:国际货物贸易合同-卖方 ;- GUAR_PartyA_V2:保证合同-保证方 ;- GUAR_PartyA_V2:保证合同-债权方 ;- CG_PartyA_V2:货运合同-承运方 ;- CG_PartyB_V2:货运合同-托运方 ;- Factoring_PartyA_V2:保理合同-保理商 ;- Factoring_PartyB_V2:保理合同-卖方 ;- Brokerage_PartyA_V2:中介合同-委托人 ;- Brokerage_PartyB_V2:中介合同-中介人 ;- TradingTrust_PartyA_V2:行纪合同-委托人 ;- TradingTrust_PartyB_V2:行纪合同-行纪人 ;- PNRship_V2:合伙合同-合伙人 ;- PT/PAT_PartyA_V2:专利(申请)权转让合同-受让方 ;- PT/PAT_PartyB_V2:专利(申请)权转让合同-转让方;- TST_PartyA_V2:技术秘密转让合同-受让方;- TST_PartyB_V2:技术秘密转让合同-转让方 |
templateId | templateName/templateId 二选一 | string | - | 该清单类型为用户在合同审查清单管理 创建的我的清单。每次审查任务仅可选择单一清单。 |
commentRiskLevel | 否 | string | normal/major/all | 筛选下载的批注结果中展示的风险等级条款。默认为"major",即仅展示重大风险条款。 - normal:一般风险; - major:重大风险;- all:一般风险和重大风险 |
请求代码示例
提示一:使用示例代码前,请记得替换其中的示例Token、文档地址或Base64信息。
提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心 。
import requests
import os
'''
合同审查-提交请求
'''
request_host = "https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task"
# 二进制方式打开文档文件
f = '[本地文件]'
file = {"file": (os.path.basename(f), open(f, 'rb'), "multipart/form-data")}
# 将 templateName 放在表单数据中
data = {"templateName": "Sales_PartyA"}
access_token = '[调用鉴权接口获取的token]'
request_url = f"{request_host}?access_token={access_token}"
response = requests.post(request_url, data=data, files=file)
if response:
print(response.json())
返回说明
返回参数
字段 | 类型 | 说明 |
---|---|---|
log_id | uint64 | 唯一的log id,用于问题定位 |
error_code | int | 错误码 |
error_msg | string | 错误描述信息 |
result | dict | 返回的结果列表 |
+ taskId | string | 该请求生成的taskId,后续使用该taskId获取审查结果 |
返回示例
成功返回示例:
{
"error_code": 0,
"error_msg": "",
"log_id": "259575694341050368",
"result": {
"taskId": "textreview-task-xnejhkwvcz5qpr3c"
}
}
失败返回示例(详细的错误码说明见API文档-错误码):
{
"error_code": 282003,
"error_msg": "missing parameters",
"log_id": "259909120864665600"
}
获取结果接口
在线调试
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
请求说明
请求示例
HTTP 方法:POST
请求URL: https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task/query
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | multipart/form-data |
Body中放置请求参数,参数详情如下:
请求参数
参数 | 是否必选 | 类型 | 说明 |
---|---|---|---|
taskId | 是 | string | 发送提交请求时返回的taskId |
请求代码示例
提示一:使用示例代码前,请记得替换其中的示例Token、taskId。
提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心 。
import requests
'''
合同审查-获取结果
'''
request_host = "https://aip.baidubce.com/file/2.0/brain/online/v1/textreview/task/query"
params = {"taskId": "[调用提交请求接口获取的taskId]"}
access_token = '[调用鉴权接口获取的token]'
request_url = f"{request_host}?access_token={access_token}"
response = requests.post(request_url, params=params, files=params)
if response:
print(response.json())
返回说明
返回参数
字段 | 类型 | 说明 |
---|---|---|
log_id | uint64 | 唯一的log id,用于问题定位 |
error_code | int | 错误码 |
error_msg | string | 错误描述信息 |
result | dict | 返回的结果列表 |
+ taskId | string | 任务ID |
+ status | string | 任务状态,pending:排队中;processing:运行中;success:成功;failed:失败 |
+ reason | string | 任务失败描述信息 |
+ createdAt | string | 任务创建时间 |
+ startedAt | string | 任务开始时间 |
+ finishedAt | string | 任务结束时间 |
+ duration | string | 任务执行时长 |
+ textreviewResult | dict | 合同审查结果列表 |
++ docId | string | 文档ID |
++ docName | string | 文档名称 |
++ status | string | 文件状态,success:成功;failed:失败 |
++ reason | string | 文件失败描述信息 |
++ fileURL | string | 解析后的含位置信息的PDF文件地址,地址有效期30天 |
++ reportURL | string | 包含重大风险条款批注的Word文档地址,地址有效期30天。若上传的源文件为PDF格式,则无法支持批注下载 |
++ reportStatus | string | 包含批注的Word文档状态,success:成功;failed:失败 |
++ chatContents | dict | 条款审查结果列表 |
+++ ruleId | string | 条款ID |
+++ ruleName | string | 条款名称 |
+++ riskName | string | 条款的风险等级 |
+++ predictResult | string | 条款的原始审查结果 |
+++ markdownResult | string | 条款的markdown格式审查结果 |
+++ riskReviewResults | dict | 条款风险点审查结果列表 |
++++ riskPoint | string | 风险点名称 |
++++ riskAnalysis | string | 风险分析 |
++++ modifyExample | string | 修改示例 |
++++ originalContract | string | 合同原文 |
++++ positions | dict | 重大风险条款的风险点原文位置信息列表 |
+++++ pageNum | int | 条款的原文位置页码 |
+++++ box | [4]int | 条款的原文四角点坐标,每个框选范围包含左上角x坐标、左上角y坐标、矩形框宽度、矩形框高度,共四个数值,如[89,74,61,12] |
+++ tags | dict | 条款的原文和位置信息列表 |
++++ value | string | 条款的原文 |
++++ positions | dict | 条款的原文位置信息列表 |
+++++ pageNum | int | 条款的原文位置页码 |
+++++ box | [4]int | 条款的原文四角点坐标,每个框选范围包含左上角x坐标、左上角y坐标、矩形框宽度、矩形框高度,共四个数值,如[89,74,61,12] |
返回示例
成功返回示例:
{
{
"error_code": 0,
"error_msg": "",
"log_id": "",
"result": {
"taskId": "textreview-task-bey18jc6j14bz92e",
"status": "success",
"apiVersion": "v2",
"createdAt": "2024-12-06 09:13:19 +0000 UTC",
"startedAt": "2024-12-06 09:13:19 +0000 UTC",
"finishedAt": "2024-12-06 09:14:59 +0000 UTC",
"duration": "1分40秒",
"reason": "",
"textreviewResult": [
{
"docId": "doc-1n9d180uds3enztm",
"docName": "011.docx",
"status": "success",
"reason": "",
"chatContents": [
{
"ruleId": "rule-b7416vvakjtps4u7",
"ruleName": "主体信息条款",
"tags": [
{
"value": "甲方(转让方)\n名称:\n统一社会信用代码:\n乙方(受让方)\n名称:\n统一社会信用代码:\n本合同各方经平等自愿协商,根据《中华人民共和国民法典》及相关法律法规,就甲方向乙方转让标的账号事宜,签订本合同以共同遵守。",
"positions": [
{
"pageNum": 1,
"box": [
90,
105,
396,
176
]
}
]
},
{
"value": "甲方(盖章):\n法定代表人或授权代表:\n乙方(盖章):\n法定代表人或授权代表:",
"positions": [
{
"pageNum": 6,
"box": [
90,
190,
132,
106
]
}
]
}
],
"riskReviewResults": [
{
"originalContract": "甲方(转让方)\n名称:\n统一社会信用代码:\n乙方(受让方)\n名称:\n统一社会信用代码:\n本合同各方经平等自愿协商,根据《中华人民共和国民法典》及相关法律法规,就甲方向乙方转让标的账号事宜,签订本合同以共同遵守",
"riskPoint": "合同主体信息缺失",
"riskAnalysis": "甲方(转让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全甲方信息。乙方(受让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全乙方信息。",
"modifyExample": "甲方(转让方)\n名称:杭州大栅栏科技有限公司\n统一社会信用代码:687654567AAx5678\n乙方(受让方)\n名称:北京百度网讯科技有限公司\n统一社会信用代码:688765167AAx5678\n本合同各方经平等自愿协商,根据《中华人民共和国民法典》及相关法律法规,就甲方向乙方转让标的账号事宜,签订本合同以共同遵守。\n甲方(盖章):\n法定代表人或授权代表:\n乙方(盖章):\n法定代表人或授权代表:",
"positions": [
{
"pageNum": 1,
"box": [
90,
105,
396,
176
]
}
]
}
],
"predictResult": "```json\n{\n \"风险等级\": \"重大风险\",\n \"风险审查结果\": [\n {\n \"风险点\": \"合同主体信息缺失\",\n \"风险分析\": \"甲方(转让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全甲方信息。乙方(受让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全乙方信息。\",\n \"修改示例\": \"甲方(转让方)\\n名称:杭州大栅栏科技有限公司\\n统一社会信用代码:687654567AAx5678\\n乙方(受让方)\\n名称:北京百度网讯科技有限公司\\n统一社会信用代码:688765167AAx5678\\n本合同各方经平等自愿协商,根据《中华人民共和国民法典》及相关法律法规,就甲方向乙方转让标的账号事宜,签订本合同以共同遵守。\\n甲方(盖章):\\n法定代表人或授权代表:\\n乙方(盖章):\\n法定代表人或授权代表:\"\n }\n ]\n}\n```",
"markdownResult": "风险等级:\n 重大风险\n\n风险审查结果:\n [\n {\n \"风险点\": \"合同主体信息缺失\",\n \"风险分析\": \"甲方(转让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全甲方信息。乙方(受让方)信息不完整,存在重大风险点:缺少名称和统一社会信用代码,建议补全乙方信息。\",\n \"修改示例\": \"甲方(转让方)\\n名称:杭州大栅栏科技有限公司\\n统一社会信用代码:687654567AAx5678\\n乙方(受让方)\\n名称:北京百度网讯科技有限公司\\n统一社会信用代码:688765167AAx5678\\n本合同各方经平等自愿协商,根据《中华人民共和国民法典》及相关法律法规,就甲方向乙方转让标的账号事宜,签订本合同以共同遵守。\\n甲方(盖章):\\n法定代表人或授权代表:\\n乙方(盖章):\\n法定代表人或授权代表:\"\n }\n ]\n\n",
"isShow": true,
"riskName": "重大风险"
}
],
"fileURL": "https://textmind.bj.bcebos.com//data/mnt/text_flow/parser/doc-1n9d180uds3enztm/pdf/doc-1n9d180uds3enztm.pdf?authorization=bce-auth-v1%2FALTAKt3jZIQbn3oTvNTnKh35nX%2F2024-12-06T09%3A13%3A27Z%2F2592000%2Fhost%2F41be8bf22501e7a5113bdead74aa10d9fd9696cb27cfccb5011d40174cd7c6d1",
"reportURL": "https://textmind.bj.bcebos.com//data/mnt/text_flow/paas_textreview/textreview-task-bey18jc6j14bz92e/document_comment_op/doc-1n9d180uds3enztm/011.docx?authorization=bce-auth-v1%2FALTAKt3jZIQbn3oTvNTnKh35nX%2F2024-12-06T09%3A14%3A58Z%2F2592000%2Fhost%2Fdb074c3732b9051d26075b8a1e71ce5e37e3705733a584f6ff2a8a47c2c05b00",
"reportStatus": "success"
}
]
}
}
前端SDK渲染
辅助用户在网页中便捷地调用合同审查服务,实现与当前智能文档分析平台-合同审查在线工具一致的前端渲染和交互界面。
使用说明
示例URL: https://textmind-sdk.bce.baidu.com/textmind/sdk/textreview/{taskId}?access_token={access_token}
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
taskId | 发送提交请求时返回的taskId |
iframe引入方式
提示一:使用示例代码前,请记得替换其中的示例Token、taskId。
<iframe
src="https://textmind-sdk.bce.baidu.com/textmind/sdk/textreview/{taskId}?access_token={access_token}"
/>