# 配置请求地址warning
本文不再维护，最新内容参见[步骤一：配置事件订阅请求地址](https://open.larksuite.com/document/ukTMukTMukTM/uYDNxYjL2QTM24iN0EjN/event-subscription-configure-/choose-a-subscription-mode/send-notifications-to-developers-server)。

## 功能简介

请求地址用于接收开放平台向应用推送的事件消息。当应用订阅的事件发生时，开放平台会向该请求地址发送相应的 HTTP POST 请求。
在消息卡片功能中，如果需要功能交互，也需要配置卡片请求网址。详情请参考[卡片回调地址](https://open.larksuite.com/document/ukTMukTMukTM/uYzMxEjL2MTMx4iNzETM)。

## 操作步骤

1. 登录[开发者后台](https://open.larksuite.com/app)。

3. 在应用列表中点击具体应用，进入应用管理详情页面。

5. 进入 **事件订阅** 页面。定位到 **请求地址配置** 区域，点击 **编辑** 按钮。
- 每个应用只能配置一个请求地址，该应用订阅的所有事件都会发送到该请求地址。

- 该请求地址必须是公网地址。

![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/6d22a1ec61ed8ef7005e274dbaf671e0_mQd356aUJp.png?height=854&lazyload=true&maxWidth=600&width=1618)

4. 输入请求地址后，点击 **保存**。

点击保存后，Lark服务器会向请求地址推送一个 `application/json` 格式的 POST 请求，用于验证所配置的请求地址的合法性。该 POST 请求中会携带一个 `challenge` 字段，应用需要在 1 秒内，将接收到的 `challenge` 值原样返回给Lark开放平台。详情参考以下响应处理示例。

## 响应处理示例

根据 Encrypt Key 的配置情况，推送的 POST 请求不同，应用的处理方式也不同。

### 未配置 Encrypt Key

如果没有设置 Encrypt Key，Lark开放平台会推送明文的 POST 请求。

请求体示例如下：
```
{ 
    "challenge": "ajls384kdjx98XX", // 应用需要在响应中原样返回的值 
    "token": "xxxxxx",              // 即 Verification Token
    "type": "url_verification"      // 表示这是一个验证请求 
}
```
当请求地址收到开放平台推送的 POST 验证请求时，需要解析出 `challenge` 值，并在 1 秒内原样返回该值作为响应。
```
{ 
    "challenge": "ajls384kdjx98XX"
}
```

### 已配置 Encrypt Key

如果配置了 Encrypt Key，Lark开放平台会推送加密后的 POST 请求。
```
{
    "encrypt": "ds3da3sj32421lkkld4s5ao" // 加密字符串
}
```
应用需要先解密，然后从解密后的内容中提取出 `challenge` 值，并在 1 秒内原样返回该值作为响应。有关解密方法的详细介绍，请参考[接收并处理事件](https://open.larksuite.com/document/ukTMukTMukTM/uYDNxYjL2QTM24iN0EjN/event-subscription-configure-/encrypt-key-encryption-configuration-case#679e4309)。

解密后的 POST 请求示例：
```
{ 
    "challenge": "ajls384kdjx98XX", // 应用需要在响应中原样返回的值 
    "token": "xxxxxx",              // 即 Verification Token
    "type": "url_verification"      // 表示这是一个验证请求 
}
```
响应示例：
```
{ 
    "challenge": "ajls384kdjx98XX"
}
```

