标注回调API
更新时间:
一、 参数规范
- 回调 URL:
填入“控制台-服务配置-人工标注-回调URL”中。
- HTTP 请求Header:
Header
值
是否必需
描述
Content-Type
application/json;charset=UTF-8
必需
请求体类型
Accept
application/json;charset=UTF-8
必需
接受的返回类型
X-AppId
必需
项目的唯一标识,此值是 <控制台-服务配置>中的项目编号
X-TimeStamp
必需
请求的UTC时间戳。需要把时间戳按W3C标准格式化,例如: 2010-01-31T23:59:59Z. (http://www.w3.org/TR/xmlschema-2/#dateTime)。
Authorization
必需
签名值
-
请求方法:
POST
-
请求体JSON对象:
参数
必需
类型
描述
appId
必需
String
项目编号
textData
必需
Array
文本的原数据
markData
必需
Array
修改数据
- 请求体示例:
{
"appId": "", //项目编号
"textData": [
{
"taskId": "", //TaskId
"strategyId": "", //策略ID
"language": "", //文本语种
"stext": "", //文本内容
"word": "", //命中内容
"userId": "", //用户ID
"result": "", //机审结果
"tag": "", //机审一级类型
"subTag": "", //机审二级类型
}
],
"markData": {
"markResult": "", //最新结果
"markTag": "", //最新类型(过期,请使用下面的参数【markTags】)
"markTags": "", //最新类型列表
}
}
- 通过 HTTP 请求 Header 发送签名
方法: 在请求中加入名为 Authorization 的 Header,值为签名值。如下:
Authorization: ****
- 签名计算方法
- 构造规范化的请求字符串(Canonicalized Query String):
将请求体JSON字符串以UTF-8字符编码做sha256编码后转换为16进制字符串(注意不是Base64)
CanonicalizedQueryString = hex(sha256(jsonBody))
- 构造被签名字符串 StringToSign ("\n" 代表ASCII里的换行符)
StringToSign = HTTPMethod + "\n" +
CallbackUrl + "\n" +
CanonicalizedQueryString <从上一步得到> + "\n" +
"X-AppId:" + SAME_APPID_IN_HEADER + "\n" +
"X-TimeStamp:" + SAME_TIMESTAMP_IN_HEADER
HTTPMethod: POST。
CallbackUrl: 此值在 <控制台-服务配置-人工标注-回调URL>中。
使用 HMAC-SHA256 协议创建基于哈希的消息身份验证代码 (HMAC),然后计算签名。
-
StringToSign作为签名字符串,secretKey作为秘钥,SHA256作为哈希算法
有关 HMAC 的更多信息,请参阅 https://tools.ietf.org/html/rfc2104。
-
将上一步的结果转换为BASE64串
-
将BASE64串放入HTTP请求Header的Authorization
一、 参数规范
- 回调 URL:
填入“控制台-服务配置-人工标注-回调URL”中。
- HTTP 请求Header:
Header | 值 | 是否必需 | 描述 |
---|---|---|---|
Content-Type | application/json;charset=UTF-8 | 必需 | 请求体类型 |
Accept | application/json;charset=UTF-8 | 必需 | 接受的返回类型 |
X-AppId | 必需 | 项目的唯一标识,此值是 <控制台-服务配置>中的项目编号 | |
X-TimeStamp | 必需 | 请求的UTC时间戳。需要把时间戳按W3C标准格式化,例如: 2010-01-31T23:59:59Z. (http://www.w3.org/TR/xmlschema-2/#dateTime)。 | |
Authorization | 必需 | 签名值 |
-
请求方法: POST
-
请求体JSON对象:
参数 | 必需 | 类型 | 描述 |
---|---|---|---|
appId | 必需 | String | 项目编号 |
textData | 必需 | Array | 文本的原数据 |
markData | 必需 | Array | 修改数据 |
- 请求体示例:
{
"appId": "", //项目编号
"textData": [
{
"taskId": "", //TaskId
"strategyId": "", //策略ID
"language": "", //文本语种
"stext": "", //文本内容
"word": "", //命中内容
"userId": "", //用户ID
"result": "", //机审结果
"tag": "", //机审一级类型
"subTag": "", //机审二级类型
}
],
"markData": {
"markResult": "", //最新结果
"markTag": "", //最新类型(过期,请使用下面的参数【markTags】)
"markTags": "", //最新类型列表
}
}
- 通过 HTTP 请求 Header 发送签名
方法: 在请求中加入名为 Authorization 的 Header,值为签名值。如下:
Authorization: ****
- 签名计算方法
- 构造规范化的请求字符串(Canonicalized Query String):
将请求体JSON字符串以UTF-8字符编码做sha256编码后转换为16进制字符串(注意不是Base64)
CanonicalizedQueryString = hex(sha256(jsonBody))
- 构造被签名字符串 StringToSign ("\n" 代表ASCII里的换行符)
StringToSign = HTTPMethod + "\n" +
CallbackUrl + "\n" +
CanonicalizedQueryString <从上一步得到> + "\n" +
"X-AppId:" + SAME_APPID_IN_HEADER + "\n" +
"X-TimeStamp:" + SAME_TIMESTAMP_IN_HEADER
HTTPMethod: POST。
CallbackUrl: 此值在 <控制台-服务配置-人工标注-回调URL>中。
使用 HMAC-SHA256 协议创建基于哈希的消息身份验证代码 (HMAC),然后计算签名。
-
StringToSign作为签名字符串,secretKey作为秘钥,SHA256作为哈希算法
有关 HMAC 的更多信息,请参阅 https://tools.ietf.org/html/rfc2104。
-
将上一步的结果转换为BASE64串
-
将BASE64串放入HTTP请求Header的Authorization