
# AI模型预测结果通知
#### 功能介绍
应用服务器在调用设施云平台的创建规则触发条件（Resource:ai.datahouse.model，Event:predict）、创建规则动作、修改规则触发条件接口配置并激活规则后，当设施云平台中的AI模型预测产生结果时，设施云平台会向应用服务器推送通知消息。
#### URI
POST /应用服务器创建AI模型预测结果通知规则时的Url决定
#### 请求参数
表1请求Body参数 
| 参数          | 是否必选 | 参数类型                                                                                                                     | 描述                                                                                                                               |
|:---|:---|:---|:---|
| resource    | 是    | String                                                                                                                   | **参数说明**：订阅的资源名称。 **取值范围**：ai.datahouse.model。                                         |
| event       | 是    | String                                                                                                                   | **参数说明**：订阅的资源事件 **取值范围**：predict。                                                     |
| event_time  | 是    | String                                                                                                                   | **参数说明**：AI模型预测事件生成的时间。 **取值范围**：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'，例如2023-08-04T10:01:59.815Z。 |
| notify_data | 是    | [AiModelPredictNotifyData] object | **参数说明**：推送消息。                                                                                                                   |
   
 表2AiModelPredictNotifyData 
| 参数     | 是否必选 | 参数类型                                                                                                                                 | 描述                   |
|:---|:---|:---|:---|
| header | 是    | [AiModelPredictNotifyDataHeader] object | **参数说明**：推送消息header。 |
| body   | 是    | [AiModelPredictNotifyDataBody] object     | **参数说明**：推送消息body。   |
   
 表3AiModelPredictNotifyDataHeader 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| instance_id | 否    | String | **参数说明**：实例ID。 **取值范围**：长度为8-32的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| model_name  | 否    | String | **参数说明**：模型名称。 **取值范围**： - device-cooling-pump   - device-refrigeration-pump   - system-liquid-cooling-1-heat-exchanger   - system-cooling-water-site-heat-exchanger   - system-liquid-cooling-1-cdu   - system-liquid-cooling-2-cdu   - device-ups-lithium    |
   
 表4AiModelPredictNotifyDataBody 
| 参数           | 是否必选 | 参数类型                                                                                                                       | 描述                                                                                             |
|:---|:---|:---|:---|
| predict_time | 否    | String                                                                                                                     | **参数说明**：预测时间。 **取值范围**：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 |
| entity_type  | 否    | String                                                                                                                     | **参数说明**：实体类型。 **取值范围**：Device、System。                  |
| entity_id    | 否    | String                                                                                                                     | 实体ID。                                                                                          |
| results      | 否    | Array of [AiModelPredictResult] objects | **参数说明**：AI模型预测结果。                                                                             |
   
 表5AiModelPredictResult 
| 参数              | 是否必选 | 参数类型    | 描述                                                                                                        |
|:---|:---|:---|:---|
| metric_time     | 否    | String  | **参数说明**：指标时间。 **取值范围**：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。              |
| metric_name     | 否    | String  | **参数说明**：指标名称。                                                                                            |
| metric_value    | 否    | Object  | **参数说明**：指标值。                                                                                             |
| metric_unit     | 否    | String  | **参数说明**：指标单位。                                                                                            |
| is_predict_data | 否    | Integer | **参数说明**：是否为预测信号。 **取值范围**：0代表实时信号，1代表预测信号。                        |
| predict_type    | 否    | Integer | **参数说明**：预测类型。 **取值范围**：null代表取的真实数据，0代表的是工作一段时间后的预测，1代表的是未工作的预测。 |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。     |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
```
{
  "resource" : "ai.datahouse.model",
  "event" : "predict",
  "event_time" : "2023-08-04T10:01:59.815Z",
  "notify_data" : {
    "header" : {
      "instance_id" : "616c70686100000000000001",
      "model_name" : "device-ups-lithium-capacity"
    },
    "body" : {
      "predict_time" : "2023-08-04T10:01:58.815Z",
      "entity_type" : "Device",
      "entity_id" : "1887b2d7efdf3e5068383b99",
      "results" : [ {
        "metric_time" : "2023-08-04T10:01:57.815Z",
        "metric_name" : "放电容量百分比",
        "metric_value" : 96.93574523925781,
        "metric_unit" : "%",
        "is_predict_data" : 1,
        "predict_type" : 0
      } ]
    }
  }
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "result" : "success"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
