Skip to content
POST{BASE_URL}/wx-api/api/message/revoke
高风险消息JSON · Bearer App Token · body appid

撤回消息

撤回一条已发送的消息。

不可逆操作

本接口执行的是不可逆的「撤回消息」,成功后无法撤销。调用前请二次确认目标 id 与 appid;示例里的 id 仅为占位,不要直接复制执行。

请求参数

参数必填类型说明
appidstring实例 appid,标识操作哪个已登录账号。示例:we_xxxxxxxxxxxxxxx
conversationIdint64撤回的消息所在会话 id,与发送时相同。示例:1970325823022815
serverMsgIdint64消息的服务端 id(发送接口响应的 data.id,或 Webhook 推送报文里的 id)。示例:1001469

请求示例

http
POST {BASE_URL}/wx-api/api/message/revoke
Authorization: Bearer <你的 App Token>
Content-Type: application/json

{
  "appid": "we_xxxxxxxxxxxxxxx",
  "conversationId": 1970325823022815,
  "serverMsgId": 1001469
}
bash
curl -X POST '{BASE_URL}/wx-api/api/message/revoke' \
  -H 'Authorization: Bearer <你的 App Token>' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "appid": "we_xxxxxxxxxxxxxxx",
  "conversationId": 1970325823022815,
  "serverMsgId": 1001469
}'
python
import requests

url = "{BASE_URL}/wx-api/api/message/revoke"
headers = {"Authorization": "Bearer <你的 App Token>", "Content-Type": "application/json"}
body = """{
  "appid": "we_xxxxxxxxxxxxxxx",
  "conversationId": 1970325823022815,
  "serverMsgId": 1001469
}"""

resp = requests.post(url, headers=headers, data=body.encode("utf-8"))
print(resp.text)
java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

String url = "{BASE_URL}/wx-api/api/message/revoke";
String body = "{\n" +
    "  \"appid\": \"we_xxxxxxxxxxxxxxx\",\n" +
    "  \"conversationId\": 1970325823022815,\n" +
    "  \"serverMsgId\": 1001469\n" +
    "}";

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create(url))
    .header("Authorization", "Bearer <你的 App Token>")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
php
<?php

$url = '{BASE_URL}/wx-api/api/message/revoke';
$body = <<<'JSON'
{
  "appid": "we_xxxxxxxxxxxxxxx",
  "conversationId": 1970325823022815,
  "serverMsgId": 1001469
}
JSON;

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer <你的 App Token>',
    'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

响应示例

解析响应前确认字段

返回字段见消息模块总览。完整响应格式及未列出的字段,请通过开通与支持联系对接人确认后再解析。

响应字段

字段类型说明
codeint64统一封套状态码:0=成功,负数=失败
detailstring附加明细,通常为空
messagestring文案:成功为 ok;失败形如 -码|描述
timestring服务端处理时间 YYYY-MM-DD HH:MM:SS

下一步