基础版可识别常识性错误、符号单位错误、语法错误、多字少字错误和涉政错误五种错误类型，返回文中错误位置并给出修改建议。
</br>高级版识别能力更强，范围更广，可识别易错词检查、异体字检查、标点符号检查、繁简误用、不规范名词检查、领导人排序检查、领导人职务检查、重点词检查、译文检查、公元纪年错误、历史纪年错误、干支纪年错误、地名检查（曾用名）、地名检查（新旧地名不匹配）、地名检查（所属区划错误）。
</br>修改建议仅为参考，需要开发者结合人工审核来进一步确认，不建议将纠错结果作为主要逻辑进行使用。

## 接口说明

该接口同步返回文本纠错结果，建议http协议接口调用

### 鉴权说明

易盾内容安全服务使用签名方法对接口进行鉴权，所有接口每一次请求都需要包含签名信息（signature 参数），以验证用户身份，防止信息被恶意篡改。目前支持MD5，SHA1，SHA256，SM3几种加密算法，详细信息，请参见[接口鉴权](https://support.dun.163.com/documents/588434200783982592?docId=588930751964876800)

### 接口限制

* 接口限制：基础版接口QPS限制为5次/秒，高级版接口QPS限制为5次/分钟
* 文本限制：基础版纠错内容单次请求<2000字符，包含标点符号；高级版纠错内容单次请求<5000字符，包含标点符号

### 检测耗时

文本纠错检测接口的响应时间依赖文本的长度，根据不同长度建议适当调整接口超时时间，建议10s。高级版检测能力更强，所需时间更长，建议接口超时时间20s。

## 请求

### 请求地址

|名称|值|
|----|----|
|HTTP URL|[http://as.dun.163.com/v1/grammarfix/submit](http://as.dun.163.com/v1/grammarfix/submit)|
|HTTP Method|POST|

### 请求头

|名称|类型|描述|
|----|----|----|
|Content-Type|String|固定值："application/x-www-form-urlencoded"|

### 请求参数

请求参数由公共参数和业务参数两部分组成

#### 公共参数

公共参数包含密钥信息和参数签名信息，公共参数详细见[请求公共参数](https://support.dun.163.com/documents/588434200783982592?docId=588929779347722240)

#### 业务参数
|名称|类型|是否必填|最大长度|描述|
|----|----|----|----|----|
|version|String|是|4|接口版本号，可选值v1|
|dataId|String|是|1024|上传数据唯一标识，能够根据该值定位到该条数据，如对数据结果有异议，可以发送该值给策略经理查询|
|content|String|是|2000/5000|文本纠错内容：基础版最大2000字/篇，高级版最大5000字/篇|
|callback | String | 否 | 2^16-1 | 数据回调参数，调用方根据业务情况自行设计|
|subProduct|String|否|32|业务结算id（自定义），业务方传入参数，用于资源账单统计，如需开启请联系易盾策略经理。开启之后资源账单按套餐结算sheet增加subProduct维度的数据请求量、检测量、消耗金额的统计|

### 请求体示例
```
content=网易易盾&version=v1&dataId=163&signature=xxx&secretId=xxx&businessId=xxx&timestamp=1677207014000&nonce=1234
```

## 响应

### 响应结果

响应字段如下，响应通用字段已省略，详细见[响应公共字段](https://support.dun.163.com/documents/588434200783982592?docId=588929832340037632)：

|名称|类型|是否返回|描述|
|----|----|----|----|
|result|Object|是|纠错结果|
| ∟taskId|String|是|易盾侧机审数据唯一标识，能够根据该值定位到该条数据，如对检测结果有异议，可以发送该值给策略经理查询|
| ∟callback |String|是|数据回调参数，调用方根据业务情况自行设计|
| ∟level|Number|是|纠错结果标识，0: 无错误，1: 有错误|
| ∟details|Object|否|纠错详情|
|  ∟ correctContent|String|是|纠错结果|
|  ∟ fragments|Object[]|是|纠错片段|
|   ∟ oriWord|String|是|原错误词|
|   ∟ correctWord|String|否|错误修正词，仅针对可修改错误类型有效|
|   ∟ headWord|String|否|错误依赖词，仅针对不可修改错误类型有效|
|   ∟ label|String|是|基础版一级错误分类，E100: 常识性错误，E300: 语法错误，E400: 多字少字错误，E500: 涉政错误，E600: 敏感词检查，E900: 自定义错误|
|   ∟ subLabel|String|否|基础版二级错误分类，可能为空，E100001: 字词错误，E100002: 人名错误，E100003: 地名错误，E400001: 多字，E400002: 少字，E500001: 领土主权错误，E500002: 职务搭配错误，E500003: 国家机构搭配错误，E500005-政务规范表述，E900000: 纠错词典|
|   ∟ inspectType|String|否|高级版错误分类，unknow（未知）、errorwords（易错词）、sentivewords（敏感词）、"variantchar（异体字）punctuation（标点符号）、traditionalchinese（简体繁体误用）、terms（不规范名词）、leadersort（领导人排序错误）、leadertitle（领导人职务错误）、keywords（重点词）、translation（译文检测）、ADtime（公元纪年错误）、historytime（历史纪年错误）、branchtime（干支纪年错误）、placenameused（地名曾用名检测）、placenamematch（新旧地名不符）、placenamedivision（地名所属区划错误）、customize（自定义纠错词典）、antispam（反垃圾敏感词）、place（地名检查）、leadername（领导人姓名检查）、commonsense（常识错误）、legal（法律条文错误）、importantassertionerror（重要论断错误）、inherentexpressionerror（固有表述错误）、nonstandarddepartmentaddressing（部门称呼不规范）、nonstandarddepartmentaddressing（部门称呼不规范）、importantspeecherror（重要讲话错误）、jobdescriptionerror（职务表述错误）、fallenofficial（落马官员）、other（其他）
|   ∟ modifiedType|Number|是|错误类型，0: 可修改错误，1: 不可修改错误|
|   ∟ startPos|Number|是|开始索引位置|
|   ∟ endPos|Number|是|结束索引位置|
|   ∟ headStartPos|Number|是|不可修改错误的相关关键词开始位置|
|   ∟ headEndPos|Number|是|不可修改错误的相关关键词结束位置|
|   ∟ correctSuggestion|String|是|当modifiedType=1时返回的建议内容|

### 响应体示例

```json
modifiedType为0示例
{
    "code":200,
    "msg":"ok",
    "result":{
        "taskId":"992351c53dd34958b02512d7723e2049",
        "level":1,
        "details":{
            "correctContent":"今天一起出去玩",
            "fragments":[
                {
                    "oriWord":"一期",
                    "correctWord":"一起",
                    "label":"E100",
                    "subLabel":"E100001",
                    "modifiedType":0,
                    "startPos":2,
                    "endPos":4
                }
            ]
        }
    }
}

modifiedType为1示例
{
    "code":200,
    "msg":"ok",
    "result":{
        "taskId":"b932f1525f294cf18126e3c5be381708",
        "level":1,
        "details":{
            "correctContent":"中国社会主义",
            "fragments":[
                {
                    "oriWord":"中国社会主义",
                    "headWord":"",
                    "label":"E500",
                    "subLabel":"",
                    "modifiedType":1,
                    "startPos":0,
                    "endPos":6,
                    "headStartPos":-1,
                    "headEndPos":-1,
                    "correctSuggestion":"中国特色社会主义"
                }
            ]
        }
    }
}
```

### 响应返回码

响应返回码见：[响应返回码](https://support.dun.163.com/documents/588434200783982592?docId=588930233091723264)

### 服务端 SDK 接入

推荐使用我们提供的服务端 SDK 进行接入（目前支持 Java 和 Go 两种语言），不但可以节省接入成本，实现更快速的集成，并享有灵活的请求配置选项，同时 SDK 内置了错误重试、熔断降级等功能，提升服务可用性。点击 [服务端 SDK 接入指引](https://support.dun.163.com/documents/594247746924453888?docId=682781209345695744) 了解更多。

#### Github Demo 地址   
- [Java SDK Demo](https://github.com/yidun/yidun-java-sdk/blob/main/yidun-java-sdk-demo/src/main/java/com/netease/yidun/sdk/antispam/grammarfix/GrammarfixSubmitDemo.java)   
#### Gitee Demo 地址（Github 无法访问时选择）   
- [Java SDK Demo](https://gitee.com/netease_yidun/yidun-java-sdk/blob/main/yidun-java-sdk-demo/src/main/java/com/netease/yidun/sdk/antispam/grammarfix/GrammarfixSubmitDemo.java)