官网API说明-V2
1.
基本说明
1.1 接口类型
1.2 编码
1.3 URL
1.4 请求方法
1.5 鉴权方式
2.
Request
2.1 Header
2.2 payload 参数说明
2.2.1 公共字段说明
2.2.2 公共字段示例
2.2.3 数据字段说明
2.2.4 数据字段示例
3.
Response
3.1 实时返回接口
3.2 异步回调接口
3.2.1 回调URL
3.2.2 请求方法
3.2.3 Header
3.2.4 公共字段
3.2.5 数据字段
3.2.6 示例
基本说明
1.1 接口类型
异步HTTP接口,通过回调方式通知结果
1.2 编码格式
UTF-8
1.3 URL
文本审核:https://business-api.lawgenesis.cn/audit/text
1.4 请求方法
POST
1.5 鉴权方式
JWT (请联系我们获取token)
为方便后续用户自行管理token比如新增、失效等,这里使用了与openai类似的静态token方式
正式接入平台后,会有管理页面可供自行生产和删除。
Request
2.1 Header
curl --L 'https://business-api.lawgenesis.cn/audit/text'
-X POST
-H 'Authorization: Bearer <token>'\
-H 'Content-Type: application/json'\
-d '<payload>'
复制代码
其中, payload字段需参照下面的详细说明
2.2 payload 参数说明
payload参数主要分为2个部分:
- 公共字段
- 数据字段
2.2.1 公共字段说明
公共字段用于定义基础的公共信息,不同服务的公共字段都相同; 注: 为便于使用,公共字段直接展开,不再做二级结构。
字段名 类型 参数说明 是否必须 规范
ver 字符串 协议版本号
custID 字符串 客户ID 由缔零提供
appID 字符串 业务ID,用于区分不同的业务类型 与缔零确认
modType 字符串 模型类型,由默认的模型集合,以及自定义等几种类型,如:
  • DEFAULT:默认的常用国内安全分类模型组合
  • PRODUCT:默认的电商产品分类模型组合
  • CUSTOM:自定义分类模型集
custModSet 字符串列表 自定义选择模型列表,可多选。仅在modType="CUSTOM"时有效
  • "POLITICS"
  • "PORN"
  • "AD"
appType 字符串 内容类型,用于精细化场景策略选择。选项如下:
  • TXT_GEN:General Text 通用文本类型
  • TXT_POST:Basic Text Post 通用的纯文本文章类型
  • TXT_CMT:Basic Text Comment 通用的纯文本评论类型
  • TXT_NCMT:Nested Comment 嵌套评论类型
poster json
POSTER
发帖人相关信息,json类型,用于用户风险等级评估,提升准确率。强烈建议提供该信息
"poster": {
"ID": "<发帖人ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖人IP>",
"devID": "<发帖人设备号>",
"extraInfo": {},
}
dataID 字符串 数据ID【重要】,用于回调结果、重试、去重和定位日志等,需保证指定条件下唯一,最好能全局唯一。 注:dataID由请求方生成,可复用业务方的内容ID,以省去额外的存储和映射
其中poster数据结构详细定义如下:
POSTER:发帖人信息
字段名 类型 说明 是否必须 规范
ID 字符串 发帖人ID,用于用户风险等级评估,提升准确率,建议用对称加密等方式脱敏,以保证数据不泄密的同时支持双向查询。强烈建议提供该信息
name 字符串 发帖人昵称;用于用户风险等级评估参考
desc 字符串 发帖人简介描述;用于用户风险等级评估参考
userIP 字符串 发帖人发布内容时的ip,IPv4或IPv6字符串;用于地域相关策略。强烈建议提供该信息
devID 字符串 devID: 发帖人设备信息;用于垃圾信息spam相关策略。强烈建议提供该信息
extraInfo 字符串 extraInfo:用于额外补充信息,可根据业务情况定义
2.2.2 公共字段示例
示例如下:其中粗体部分为必选字段
{
"ver": "1.0",
"custID": "custID1",
"appID": "appID1",
"modType": "CUSTOM",
"custModSet": [
"POLITICS", "PORN", "AD", "SPAM"
],
"appType": "<内容类型>",
"poster": {
"ID": "<发帖用户的ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖用户的IP>",
devID": "<发帖用户的deviceID>",
"extraInfo": {}
},
"dataID": "<数据ID>"
}
复制代码
2.2.3 数据字段说明
数据字段用于定义详细数据字段,会根据不同业务 appType 而有所不同
文本类型目前有下列几种appType,选择合适的appType并传入更多信息会有助于提升指标。字段定义如下:
TXT_GEN:General Text 通用文本类型
字段名 类型 说明 是否必须 规范
txt 字符串 待检测文本
TXT_POST:Basic Text Post 基础文本帖子
字段名 类型 说明 是否必须 规范
title 字符串 文章标题
txt 字符串 主贴内容
postTime timestamp 发帖时间
lastEditTime timestamp 最后修改时间
extraInfo json 其他额外定制信息详情,如阅读量等; 自定义
TXT_CMT:Basic Text Comment 通用的纯文本评论类型
字段名 类型 说明 是否必须 规范
txt 字符串 主贴内容
postTime timestamp 发帖时间
lastEditTime timestamp 最后修改时间
extraInfo 其他额外定制信息详情,如阅读量等; 自定义json
TXT_NCMT:Nested Comment 嵌套评论类型
字段名 类型 说明 是否必须 规范
cmt json
TXT_CMT
评论内容
postInfo json
TXT_POST + POSTER
主贴内容+主贴用户信息
"postInfo": {
"txtPost":TXT_POST,
"poster": POSTER
}
quoted json
TXT_CMT+ POSTER
父评论内容+父评论用户信息
"quoted": {
"txtCmt":TXT_CMT,
"poster": POSTER
}
MUL_CHAT:MultiModal Chat 多模态类型
字段名 类型 说明 是否必须 规范
msgType 字符串 文本消息还是图片消息
  • 文本消息:"txt"
  • 图片消息:"img"
msg 字符串 聊天消息
dstPoster json
POSTER
主贴内容+主贴用户信息
"dstPoster": {
"ID":"<发帖人ID>",
"name": "<发帖人名字>"
"desc": "<发帖人签名>"
"userIP": "<发帖人IP>"
"devID": "<发帖人备案号gt;"
"extraInfo": {} }
postTime long int Unix 毫秒时间戳
MUL_GCHAT:MultiModalChat 多模态评论类型
字段名 类型 说明 是否必须 规范
msgType 字符串 文本消息还是图片消息
  • 文本消息:"txt"
  • 图片消息:"img"
msg 字符串 聊天消息
dstGroup json
Group
主贴内容+主贴用户信息
"dstGroup": {
"ID":"<群组ID>",
"name": "<群组名字>"
"desc": "<群组描述>"
"extraInfo": {} }
postTime Unix 毫秒时间戳
IMG_GEN:Generallmage 通用图片类型
字段名 类型 说明 是否必须 规范
url 字符串 待检测图片URL
FILE_GEN:General File 通用文件类型
字段名 类型 说明 是否必须 规范
url 字符串 待检测文件url
2.2.4 数据字段示例
示例如下:其中粗体部分为必选字段
基础通用文本方式
{
"ver": "1.0",
"custID": "hp",
"appID": "wsc",
"modType": "DEFAULT",
"appType": "TXT_GEN",
"poster": {
"ID": "<发帖用户的ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖用户的IP>",
"devID": "<发帖用户的deviceID>",
"extraInfo": {}
},
"dataID": "<数据ID>",
"data": {
"txt": "测试文本"
}
}
复制代码
支持嵌套的评论方式 - 完整版 自定义模型集
{
"ver": "1.0",
"custID": "hp",
"appID": "wsc",
"modType": "CUSTOM",
"custModSet": ["POLITICS","PORN"],
"appType": "TXT_NCMT",
"poster": {
"ID": "<发帖用户的ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖用户的IP>",
"devID": "<发帖用户的deviceID>",
"extraInfo": {}
},
"dataID": "<数据ID>",
"data": {
"cmt": {
"txt": "<本次评论内容>",
"postTime": "timestamp",
"lastEditTime": "timestamp",
"extraInfo": {}
},
"postInfo": {
"txtPost": {
"title": "<主贴标题>",
"txt": "<主贴内容>",
"postTime": "timestamp",
"lastEditTime": "timestamp",
"extraInfo": {}
},
"poster": {
"ID": "<发帖人ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖用户的IP>",
"devID": "<发帖用户的deviceID>",
"extraInfo": {}
},
},
"quoted": {
"txtCmt": {
"txt": "<引用的评论内容>",
"postTime": "timestamp",
"lastEditTime": "timestamp",
"extraInfo": {}
},
"poster": {
"ID": "<发帖用户的ID>",
"name": "<发帖人名字>",
"desc": "<发帖人签名>",
"userIP": "<发帖用户的IP>",
"devID": "<发帖用户的deviceID>",
"extraInfo": {}
}
}
}
}
复制代码
支持嵌套的评论方式 - 极简版 默认模型集合
{
"ver": "1.0",
"custID": "hp",
"appID": "wsc",
"modType": "DEFAULT",
"appType": "NCMT",
"dataID": "<数据ID>",
"data": {
"cmt": {
"txt": "<本次评论内容>",
"postInfo": {
"title": "<主贴标题>",
},
"quoted": {
"txt": "<引用的评论内容>",
},
}
}
}
复制代码
Response
服务器接收到请求后,会先实时返回一个确认信息,结果通知将以异步方式回调业务方接口
3.1 实时返回接口
{
"ver": "1.0",
"status": 200,
"msg": "OK",
"appID": "000000",
"dataID": "00000000-0000-0000-0000-000000000000"
}
复制代码
3.2 异步回调接口
任务完成后会回调业务方提供的接口
3.2.1 回调URL
重要:请调用方提前提供给缔零,并确保每一组 (custID,appID)都有且仅有一个回调URL
为避免接口被外部利用,也需要有鉴权机制,使用与request api类似的鉴权方式
jwt token的生成方式可以约定,支持固定token、自动刷新动态token等方式
3.2.2 请求方法
POST
3.2.3 Header
curl -L 'https://callback'
-X POST
-H 'Authorization: Bearer <token>'\
-H 'Content-Type: application/json'\
-d '<payload>'
复制代码
response的payload也分为公共字段和数据字段两个部分
3.2.4 公共字段
字段名 类型 说明 是否必须 规范
ver 字符串 协议版本号
status 数字 状态码,说明本次调用的执行情况,基本对标HTTP状态码,如无权限-401 超限-429
msg 字符串 调用状态的文本描述
appID 字符串 业务ID, 同请求值,原样回传,用于请求方确认数据
dataID 字符串 dataID,同请求值,原样回传,用于请求方确认数据
3.2.5 数据字段
字段名 类型 说明 是否必须 规范
riskLevel 字符串 风险级别,亦可作为操作建议,目前分为3级:
PASS: 正常内容,建议通过
REJECT: 违规内容,建议硬性拦截,如仅自己可见、删除等
REVIEW: 可疑内容,建议柔性拦截,如限流、沉底等
desc 字符串 简要解释说明
labels json列表 命中的标签,json列表形式,每个元素包括标签名和可能性
label: 标签名 str
prob: 可能性 float [0-1.0]
3.2.6 示例
{
"ver": "1.0",
"status": 200,
"msg": "OK",
"appID": "000000",
"dataID": "00000000-0000-0000-0000-000000000000",
"results": {
"riskLevel": "REJECT",
"desc": "",
"labels": [
{
"涉政-政治人物": 1.0
},
{
"涉黄": 0.3
}
]
}
}
复制代码
icon
联系方式图标
联系方式图标
联系方式图标