## 接口说明

本接口基于智能图片识别算法对传入的图片进行分析，确认是否存在使用外挂的嫌疑。一般常用于对APP截图进行识别，根据截图中的操作界面判断是否使用外挂工具。

### 鉴权说明

易盾智能风控服务使用签名认证方法对接口进行鉴权，所有接口每一次请求都需要包含签名信息（signature 参数），以验证用户身份，防止信息被恶意篡改。目前支持MD5签名算法，详细信息请参见[接口鉴权](https://support.dun.163.com/documents/761315885761396736?docId=771165928044277760)。

### 接入须知

因取证信息场景复杂，为了保障封禁动作依据完备，如需封号，建议结合用户/玩家的业务数据进行二次判断，或者与易盾技术人员进行二次确认，以确保准确无误。请控制接口调用频率，频率过高，可能会超过频率限制，导致查询失败，建议QPS不超过1000。

### 图片要求

* 图片支持的格式：PNG、JPG、JPEG、BMP。
* 图片大小：单张图片大小<10M，图片分辨率建议不低于200px*200px，分辨率过低可能会影响识别效果。


## 请求说明

### 请求地址

| 名称        | 值                                                           |
| ----------- | ------------------------------------------------------------ |
| HTTP URL    | [http://ir-open.dun.163.com/v5/risk/mediaCheck](http://ir-open.dun.163.com/v5/risk/mediaCheck) |
| HTTP Method | POST                                                         |

### 请求头
| 名称         | 类型   | 必填 | 描述                                    |
| ------------ | ------ | ---- | --------------------------------------- |
| Content-Type | String | 是   | 固定值："Content-Type:application/json" |


&nbsp;
### 请求参数

请求参数分为：公共参数，接口参数。其中，公共参数请见[公共请求参数](https://support.dun.163.com/documents/761315885761396736?docId=771155891167080448)；接口参数如下：


| 参数      | 类型   | 必填 | 描述                                                         |
| --------- | ------ | ---- | :----------------------------------------------------------- |
| mediaData | String | 是   | 图片数据，图片支持编码为BASE64的数据，**无需包含base64编码请求头部分** |
| mediaName | String | 是   | 图片文件名，格式如xxx.jpg，**需要包含.格式的文件后缀名**     |
| ip        | String | 是   | 用户/ 玩家的IP，或当前客户端业务事件发生时的公网IP地址（ipv4） |
| roleId    | String | 是   | 用户/玩家的角色 ID                                           |
| nickname  | String | 是   | 用户/玩家的昵称                                              |
| server    | String | 是   | 用户/玩家的角色的服务器名称                                  |


&nbsp;
### 请求参数示例

```java
{
    "businessId": "xxx966f73yyy59440583zzz9bfcc79df",
    "secretId": "nnn966f73yyy59440583zzz9bfcc79dc",
    "timestamp": ${currentTime},
    "nonce": "mmm888f73yyy59440583zzz9bfcc79de",
    "version": "500",
    "signature": "lll888f73yyy59440583zzz9bfcc79da",
    "mediaData": "auMW9NLW5rNaa6vXVpq2jTfy1Kemr2UuWyvu9L7662dvL7Oik3cp5J5PJ/dr35/56UrrvP5ML+X/pJ//9k=",
    "mediaName": "xxx.jpg",
    "ip":  "1.1.1.1",
    "roleId":  "yyyyyyy",
    "nickname":  "yyyyyyy",
    "server":  "yyyyyyy"
}
```
## 响应

### 响应结果

响应数据格式为：JSON。

响应头为：Content-Type: application/json，具体如下：

| 参数 | 类型       | 描述                                                         |
| ---- | ---------- | ------------------------------------------------------------ |
| code | Integer    | 响应码，正常情况下为200，异常时，见 [附录响应码定义](https://support.dun.163.com/documents/761315885761396736?docId=771158735672750080) |
| msg  | String     | 响应码说明，正常情况下返回”成功”，异常时，见 [附录响应码定义](https://support.dun.163.com/documents/761315885761396736?docId=771158735672750080) |
| ok | Boolean | 请求是否成功，true=成功 |
| desc | String     | 响应信息描述，非必返，常见错误情况下会返回错误说明或错误参考文档                                                                                    |
| data | JSONObject | 返回数据，格式下表说明                                       |

返回数据的格式：

| 参数   | 类型   | 说明                                                         |
| ------ | ------ | ------------------------------------------------------------ |
| taskId | String | 检测任务 ID，可自行决定是否存储。若存储可用于记录该次数据请求以及数据核查追踪。 |

### 响应结果示例

* 识别结果正常时：
```java
{
    "code": 200,
    "msg": "成功",
    "data": {
        "taskId":"b0bcmo3aa617x1n62tlhtragdd009wyr"
  	},
    "ok":true
}
```



**注意事项**

- 当返回无数据时，可能原因包括数据处理延时、数据不存在。
- 自动封禁有风险，操作请谨慎，建议参考其他因素综合考虑。

### 响应返回码

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

## 接入示例代码


### 服务端 SDK 接入


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

- [Java SDK Demo](https://github.com/yidun/yidun-java-sdk/blob/main/yidun-java-sdk-demo/src/main/java/com/netease/yidun/sdk/irisk/v1/IRiskMediaCheckDemo.java)  
- [Golang SDK Demo](https://github.com/yidun/yidun-golang-sdk/tree/main/yidun/demo/irisk/media)