撤回消息
撤回一条已发送的消息。普通用户只能撤回本人发送的消息;管理员可撤回他人消息。消息撤回后 is_recalled 字段变为 true。
| 项目 | 内容 |
|---|---|
| 方法 | POST |
| URL | https://devapi.fengshengshou.com/api/messages/{id}/recall |
| 鉴权 | 是,需在请求头携带 Token |
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是(路径参数) | 消息 ID |
本接口无请求体参数。
curl -X POST "https://devapi.fengshengshou.com/api/messages/2048/recall" \ -H "Authorization: Bearer your_token_here"| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 状态码,0 表示成功 |
| message | string | 提示信息 |
| data.id | int | 消息 ID |
| data.conversation_id | int | 会话 ID |
| data.sender_id | int | 发送者用户 ID |
| data.sender_name | string|null | 发送者名称,可为空 |
| data.sender_avatar | string|null | 发送者头像 URL,可为空 |
| data.is_self | bool | 是否为当前用户发送 |
| data.type | string | 消息类型 |
| data.content | string | 消息原始内容 |
| data.display_content | string | 消息展示内容(已处理) |
| data.extra | object|null | 媒体附加信息,可为空 |
| data.is_recalled | bool | 撤回状态,成功后为 true |
| data.is_read | bool | 是否已读 |
| data.read_at | string|null | 已读时间,可为空 |
| data.read_count | int | 已读人数(群聊) |
| data.unread_count | int | 未读人数(群聊) |
| data.time | string | 发送时间,格式 H:i |
| data.created_at | string | 发送时间,格式 Y-m-d H:i:s |
{ "code": 0, "message": "success", "data": { "id": 2048, "conversation_id": 101, "sender_id": 5, "sender_name": "张三", "sender_avatar": "https://devapi.fengshengshou.com/storage/avatars/5.png", "is_self": true, "type": "text", "content": "大家好,今天下午三点开会。", "display_content": "消息已撤回", "extra": null, "is_recalled": true, "is_read": true, "read_at": "2026-07-05 15:01:00", "read_count": 8, "unread_count": 0, "time": "15:00", "created_at": "2026-07-05 15:00:00" }}{ "code": 404, "message": "消息不存在或无权限撤回", "data": null}{ "code": 400, "message": "消息已经撤回", "data": null}