提交举报
1. 接口定位
- 接口名称: 提交举报
- 所属域: chat/report
- 业务目标: 统一上报用户/群/动态的举报请求,进入后台待处理队列
2. 请求定义
- Method:
POST - Path:
/chatx/report/submit - Content-Type: 推荐
application/json - operationID: 必填,请通过 Header
operationID传入 - 鉴权: 需要 Header
token,且必须是用户 token - 幂等性: 非幂等(重复提交会生成新的举报记录)
3. 请求参数
Header 参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| operationID | 是 | string | 链路追踪 ID |
| token | 是 | string | 用户 token |
Body 参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| targetType | 是 | string | 举报对象类型:user/group/moment |
| targetID | 是 | string | 举报对象 ID |
| reasonCode | 条件 | string | 举报原因编码 |
| reasonText | 条件 | string | 举报原因说明 |
| evidenceURLs | 否 | array<string> | 证据链接列表 |
| sourceScene | 否 | string | 举报来源场景(如 profile/feed) |
| sourceID | 否 | string | 来源对象 ID(如会话 ID、帖子 ID) |
字段约束
targetType仅允许user/group/moment。targetID不能为空。reasonCode与reasonText至少提供一个。
4. 响应结构
通用响应包裹
| 字段 | 类型 | 说明 |
|---|---|---|
| errCode | int | 错误码,0 表示成功 |
| errMsg | string | 错误简述 |
| errDlt | string | 错误详情 |
| data | object | 业务数据 |
data 字段
| 字段 | 类型 | 说明 |
|---|---|---|
| reportID | string | 举报记录 ID |
| status | int32 | 举报状态,固定为 1(待处理) |
| createTime | int64 | 创建时间,Unix 毫秒时间戳 |
5. 业务规则
- 服务端会自动补齐
reporterUserID、operationID、IP、User-Agent。 - 当前版本仅做上报入库,不在该接口内执行自动封禁或自动下架。
6. 错误码与失败场景
| 错误码 | 场景 | 典型报错 |
|---|---|---|
| 1001 | targetType 非法 | targetType must be user/group/moment |
| 1001 | targetID 为空 | targetID is required |
| 1001 | 原因为空 | reasonCode or reasonText is required |
| - | 存储失败 | 由数据库层返回原始错误 |
7. 示例
fetch 请求示例
javascript
fetch("http://localhost:10010/chatx/report/submit", {
method: "POST",
headers: {
operationID: "chatx-report-submit-001",
token: "eyJhbGciOi...",
"Content-Type": "application/json",
},
body: JSON.stringify({
targetType: "moment",
targetID: "post_10001",
reasonCode: "porn",
reasonText: "疑似违规内容",
evidenceURLs: ["https://cdn.example.com/report/evidence-1.jpg"],
sourceScene: "feed",
sourceID: "post_10001",
}),
})
.then((res) => res.json())
.then((data) => console.log(data));请求示例(JSON)
json
{
"targetType": "moment",
"targetID": "post_10001",
"reasonCode": "porn",
"reasonText": "疑似违规内容",
"evidenceURLs": ["https://cdn.example.com/report/evidence-1.jpg"],
"sourceScene": "feed",
"sourceID": "post_10001"
}成功响应示例
json
{
"errCode": 0,
"errMsg": "",
"errDlt": "",
"data": {
"reportID": "9f0af0ce-9f6d-4dbf-8ab8-0b04f1f2b7f0",
"status": 1,
"createTime": 1787990000000
}
}8. 时序流程
- 中间件校验用户 token。
- 校验举报参数合法性。
- 补齐调用上下文字段并写入举报集合。
- 返回
reportID与初始状态。
9. 变更记录
- 2026-08-29: 首版发布,新增统一举报上报接口。