
# 配置用户消息通知URL
#### 功能介绍
配置用户消息通知URL（增加或者更新用户消息通知URL）。 配置回调 URL 时将通过 HTTP/HTTPS 请求的方式发送一条测试请求给用户服务器，用户服务器需要处理行业视频管理服务的回调请求，并尽快进行应答。
注意事项：
1. 回调的方向是行业视频管理服务向用户服务器发起 HTTP/HTTPS POST 请求。HTTP是非加密传输，存在安全风险。为了获得更高的安全性，建议您使用 HTTPS 通道发送请求；
   
2. 行业视频管理服务回调用户服务器的超时时间为 5 秒，且没有重试。如果回调超时，则配置失败。为确保回调成功率，用户服务器应当尽可能加快回调处理速度，例如先发送回调应答，然后再处理具体业务逻辑；
   
3. 确保回调 URL 的 IP 和端口公网可达，以及防火墙策略不限制外网访问，接口应支持application/json格式的数据
   
4. 回调请求成功后，确保应答报文中的 HTTP 返回码为 200。
   
5. 配置回调 URL 时，云服务端会访问该地址是否可用。访问请求体格式为:
   {
   "message_id": 1614936351275468803, // int64 或 long 整型
   "test": true // boolean 类型
   }
   
6. 注意，在配置好回调 URL，还需要给设备开通接入调阅服务和行业数据流服务后，才能接收到告警数据。
7. 云服务会对连续出现6次及以上异常状态的回调URL进行熔断处理，触发熔断后，10分钟内将不会向该回调URL推送消息。异常状态包括：超过5秒未响应、HTTP返回码非200等。触发熔断时间内，若用户服务器恢复好，可自行通过调用 配置用户消息通知URL接口 来进行解除。
 
#### URI
POST /v1/{user_id}/messages/callback
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|:---|
| user_id | 是    | String | 用户ID：由数字组成，长度范围\[15,25\]，获取方式参考[获取user ID与下载AK/SK](https://support.huaweicloud.com/api-ivm/ivm_03_0005.html#ZH-CN_TOPIC_0000001710465704__section1213543912215)章节 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                     |
|:---|:---|:---|:---|
| Access-Token | 是    | String | 用户认证token，[从获取用户认证token接口获取](https://support.huaweicloud.com/api-ivm/ivm_03_0002.html) |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| callback_url      | 是    | String | 要添加的URL，支持http和https协议，长度在256常规字符以内，不支持中文，长度范围\[1,256\]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| subscription_type | 是    | String | 订阅类型字段 枚举值： - **DEVICE_ALARM** 智能告警消息（含第三方告警），该消息的数据推送结构体[设备智能告警消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0069.html)  - **DEVICE_EXCEPTION** 设备异常消息，该消息的数据推送结构体[设备异常告警消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0070.html)   - **DEVICE_UNBIND** 设备解绑、套餐解绑数据，该消息的数据推送结构体[设备解绑消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0071.html)  - **TARGET_DATA** 目标TLV数据，该消息的数据推送结构体[目标数据消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0074.html)  - **THIRD_DATA** 第三方TLV数据，该消息的数据推送结构体[三方数据消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0075.html)   - **VEHICLE_DATA** 机非人TLV数据，该消息的数据推送结构体[机非人消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0076.html)  - **HEAD_SHOULDER_DATA** 头肩业务TLV数据，该消息的数据推送结构体[头肩业务消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0077.html)  - **BEHAVIOR_ANALYSIS_DATA** 行为分析TLV数据，该消息的数据推送结构体[行为分析与人车物分离消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0078.html)  - **MICRO_CHECKPOINT_DATA** 微卡口TLV数据，该消息的数据推送结构体[微卡口数据推送结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0079.html)   |
| auth_key          | 否    | string | 鉴权密钥：给客户推送消息时，客户认证时使用，长度范围\[6,18\]，**该字段为非必填字段，但建议客户填写，有助于提高可靠性。** 认证方式如下： 当配置了auth_key后，回调方会根据 （回调地址+"\|"+时间戳+"\|"+auth_key）用sha256算法做数字摘要。 在回调时，通过HEAD参数 "X-Ivm-Signature" 传递摘要，"X-Ivm-Timestamp"传递时间戳。设置方通过计算sha256(回调地址+"\|"+时间戳+"\|"+auth_key)进行认证，可参考[告警推送消息体结构](https://support.huaweicloud.com/api-ivm/ivm_03_0067.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数                | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| callback_url      | String | 支持http/https协议，最大长度为256常规字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| create_time       | String | 创建时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| subscription_type | String | 订阅类型字段 枚举值： - **DEVICE_ALARM** 智能告警消息（含第三方告警），该消息的数据推送结构体[设备智能告警消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0069.html)  - **DEVICE_EXCEPTION** 设备异常消息，该消息的数据推送结构体[设备异常告警消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0070.html)   - **DEVICE_UNBIND** 设备解绑、套餐解绑数据，该消息的数据推送结构体[设备解绑消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0071.html)  - **TARGET_DATA** 目标TLV数据，该消息的数据推送结构体[目标数据消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0074.html)  - **THIRD_DATA** 第三方TLV数据，该消息的数据推送结构体[三方数据消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0075.html)   - **VEHICLE_DATA** 机非人TLV数据，该消息的数据推送结构体[机非人消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0076.html)  - **HEAD_SHOULDER_DATA** 头肩业务TLV数据，该消息的数据推送结构体[头肩业务消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0077.html)  - **BEHAVIOR_ANALYSIS_DATA** 行为分析TLV数据，该消息的数据推送结构体[行为分析与人车物分离消息结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0078.html)  - **MICRO_CHECKPOINT_DATA** 微卡口TLV数据，该消息的数据推送结构体[微卡口数据推送结构体](https://support.huaweicloud.com/api-ivm/ivm_03_0079.html)   |
   
#### 请求示例
配置用户消息通知URL
```
POST /v1/123456789*****/messages/callback
{
  "callback_url" : "http://www.xxxx.xxx/dsfa",   
  "subscription_type":"DEVICE_ALARM",
  "auth_key":"test123456"
}
```
#### 响应示例
```
{
  "callback_url": "http://www.xxxx.xxx/dsfa",
  "subscription_type": "DEVICE_ALARM",
  "create_time": "2021-03-30 14:34:50",
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-ivm/ivm_03_0136.html)
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ivm/ivm_03_0137.html)。
