有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能描述

本接口用于提交一个文档审核任务。文档审核功能为异步任务方式,您可以通过提交文档审核任务审核您的文档文件,然后通过 查询文档审核任务接口文档审核回调 查询审核结果。该接口支持情况如下:
支持审核腾讯云 COS 上的文档文件。
支持审核第三方云存储厂商的文档 URL。
支持对文档文件进行自动检测,通过将文档页面转换截图,从 OCR 文本识别、图像识别维度,利用深度学习技术,识别文档中的违规内容。
支持设置回调地址 Callback 获取检测结果,或通过 查询文档审核任务结果接口 主动轮询获取审核结果详情。
支持识别多种违规场景,包括:色情、违法、广告等场景。
支持根据不同的业务场景 配置自定义的审核策略

授权说明

通过子账号使用时,需要授予ci:CreateAuditingDocumentJob权限,详情请参见 数据万象 action
子账号使用异步处理接口时,需要授予 cam:passrole权限,异步处理接口会通过 CAM 的“角色”进行 COS 的资源读写操作,PassRole 权限用于传递角色, 具体请查看 访问管理-写操作-PassRole 接口

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制
不支持审核 COS 上的归档存储类型和深度归档存储类型的文档,如果需要审核此类型文档,请先 恢复归档文件
接口默认并发数量:10。
大小页数限制:文档大小限制在200MB之内,页数限制在5000页之内。
目前支持审核的文档文件类型包含如下格式:
演示文件:pptx、ppt、pot、potx、pps、ppsx、dps、dpt、pptm、potm、ppsm。
文字文件:doc、dot、wps、wpt、docx、dotx、docm、dotm。
表格文件:xls、xlt、et、ett、xlsx、xltx、csv、xlsb、xlsm、xltm、ets。(表格文件,一张表可能分割为多页转换,生成多张图片)
PDF 文件。
其他格式文件:txt、log、htm、html、lrc、 c、 cpp、 h、 asm、 s、 java、 asp、 bat、 bas、 prg、 cmd、 rtf、 xml。

费用说明

文档审核费用包含:
文档页面审核:基于文档转图片能力,将文档按页面转换为多张图片进行审核,再通过图片 OCR 技术识别其中的文字内容,审核费用与图片审核一致。
文档转图片:会产生相应的 文档转图片费用
每个审核场景单独计费,例如您选择审核色情、广告两种场景,则审核1篇文档计2次审核费用。
调用接口会产生 图片审核费用COS 读请求费用
如果文档文件属于 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用


推荐使用 SDK

数据万象 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口。点此查看 SDK 文档

请求

请求示例

POST /document/auditing HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>
说明
Authorization: Auth String,详情请参见 请求签名 文档。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体。
<Request>
<Input>
<Url></Url>
<Type></Type>
<DataId></DataId>
</Input>
<Conf>
<Callback></Callback>
<BizType></BizType>
</Conf>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
文档审核的具体配置项。
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Input
Request
需要审核的内容。
Container
Conf
Request
审核规则配置。
Container
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Object
Request.Input
存储在 COS 存储桶中的文件名称,例如在目录 test 中的文件 test.doc,则文件名称为 test/test.doc。Object 和 Url 只能选择其中一种。
String
Url
Request.Input
文档文件的链接地址,例如 http://www.example.com/doctest.doc,Object 和 Url 只能选择其中一种。
String
Type
Request.Input
指定文档文件的类型,如未指定则默认以文件的后缀为类型。
如果文件没有后缀,该字段必须指定,否则会审核失败。例如:doc、docx、ppt、pptx 等。
String
DataId
Request.Input
该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。
String
UserInfo
Request.Input
用户业务字段。
Container
Container 节点 UserInfo 的内容:
节点名称(关键字)
父节点
描述
类型
是否必选
TokenId
Request.Input.UserInfo
用户业务 TokenId,长度不超过128字节。
String
Nickname
Request.Input.UserInfo
用户业务 Nickname,长度不超过128字节。
String
DeviceId
Request.Input.UserInfo
用户业务 DeviceId,长度不超过128字节。
String
AppId
Request.Input.UserInfo
用户业务 AppId,长度不超过128字节。
String
Room
Request.Input.UserInfo
用户业务 Room,长度不超过128字节。
String
IP
Request.Input.UserInfo
用户业务 IP,长度不超过128字节。
String
Type
Request.Input.UserInfo
用户业务 Type,长度不超过128字节。
String
ReceiveTokenId
Request.Input.UserInfo
用户业务 ReceiveTokenId,长度不超过128字节。
String
Gender
Request.Input.UserInfo
用户业务 Gender,长度不超过128字节。
String
Level
Request.Input.UserInfo
用户业务 Level,长度不超过128字节。
String
Role
Request.Input.UserInfo
用户业务 Role,长度不超过128字节。
String
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
BizType
Request.Conf
表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如色情、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。
BizType 不填写时,将自动使用默认的审核策略。
String
Callback
Request.Conf
审核结果可以回调形式发送至您的回调地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com
String
CallbackType
Request.Conf
回调片段类型,有效值:1(回调全部分页)、2(回调违规分页)。默认为 1。
Integer
Freeze
Request.Conf
可通过该字段,设置根据审核结果给出的不同分值,对文档进行自动冻结。仅当 input 中审核的文档为 object 时有效。
Container
Container 类型 Freeze 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
PornScore
Request.Conf.Freeze
取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
Integer
AdsScore
Request.Conf.Freeze
取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
Integer
其他审核场景的冻结参数,请联系服务人员咨询。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Request>
<JobsDetail>
<DataId></DataId>
<JobId></JobId>
<State></State>
<CreationTime></CreationTime>
</JobsDetail>
<RequestId></RequestId>
</Request>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
提交文档审核任务返回的具体响应内容。
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
JobsDetail
Response
文档审核任务的详细信息。
Container
RequestId
Response
每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。
String
Container 节点 JobsDetail 的内容:
节点名称(关键字)
父节点
描述
类型
DataId
Response.JobsDetail
请求中添加的唯一业务标识。
String
JobId
Response.JobsDetail
本次文档审核任务的 ID。
String
State
Response.JobsDetail
文档审核任务的状态,值为 Submitted(已提交审核)、Success(审核成功)、Failed(审核失败)、Auditing(审核中)其中一个。
String
CreationTime
Response.JobsDetail
文档审核任务的创建时间。
String

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

POST /document/auditing HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0e****
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml
<Request>
<Input>
<Url>http://www.example.com/doctest.doc</Url>
<DataId>123-fdrsg-123</DataID>
</Input>
<Conf>
<DetectType>Porn,Ads</DetectType>
<Callback></Callback>
<BizType>b81d45f94b91a683255e9a9506f4****</BizType>
</Conf>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<JobsDetail>
<DataId>123-fdrsg-123</DataID>
<JobId>vab1ca9fc8a3ed11ea834c52540086****</JobId>
<State>Submitted</State>
<CreationTime>2019-07-07T12:12:12+0800</CreationTime>
</JobsDetail>
<RequestId>xxxxxxxxxxxxxx</RequestId>
</Response>