微信公众号普通消息接收接口
微信公众号普通消息接收接口是一个重要的API,用于处理来自微信用户的信息。下面是详细的描述:
1. 接收普通消息
当微信用户在微信应用中向公众号发送信息时,微信后台会用POST方式将数据发送到指定的URL。
2. URL格式
接收普通消息的URL格式为: 请求参数
微信服务器在发送请求时会携带以下参数:
| 参数名称 | 类型 | 必须 |
| --- | --- | --- |
| `msg_id` | string | 是 |
| `timestamp` | int | 是 |
| `nonce` | string | 是 |
| `encrypt_type` | int | 否 |
| `msg_signature` | string | 否 |
其中:
* `msg_id`:微信服务器生成的唯一ID,用于排重。
* `timestamp`:微信服务器当前时间戳。
* `nonce`:微信服务器随机生成的字符串。
* `encrypt_type`:加密类型(0:明文,1:AES)。
* `msg_signature`:消息签名。
4. 响应
接收到请求后,公众号需要在五秒内返回响应。否则,微信服务器会断掉连接,并重新发起请求,最多重试三次。
响应格式为:
```json{
"errcode":0,
"errmsg": ""
}
```
其中:
* `errcode`:错误码(0:成功)。
* `errmsg`:错误信息(空字符串表示成功)。
5. 来往信息
来往信息可以包含以下类型:
| 类型 | 名称 |
| --- | --- |
| text | 文本消息 |
| image | 图片消息 |
| voice |语音消息 |
| video | 视频消息 |
| location | 地理位置消息 |
| link | 链接消息 |
每种类型的信息都有对应的参数。
6. 参数
以下是各类型信息的参数:
* `text`:
* `content`:文本内容。
* `image`:
* `media_id`:媒体ID。
* `voice`:
* `media_id`:媒体ID。
* `video`:
* `media_id`:媒体ID。
* `location`:
* `latitude`:纬度。
* `longitude`:经度。
* `link`:
* `title`:标题。
* `description`:描述。
* `url`:链接地址。
7. 示例
以下是示例:
```json{
"msg_id": "1234567890",
"timestamp":1643723400,
"nonce": "abcdefg",
"encrypt_type":0,
"msg_signature": "signature",
"content": {
"type": "text",
"value": "Hello, World!"
}
}
```
```json{
"errcode":0,
"errmsg": ""
}
```
以上是微信公众号普通消息接收接口的详细描述。