S1处罚接口文档
基于当前分支 · 2026-09-11
Support Admin / API Change

举报处罚接口
新增类型接入指南

相对 master,处罚枚举按分类编码扩展 5 种类型。本文覆盖后台确认接口的完整请求契约、可复制示例与表单联动规则。

5 种新增类型 3 种当前可用 2 种底层未实现 v1 ProtoJSON
02 / 接口定义

一次确认,写入审核与处罚快照

接口由管理后台聚合层暴露;管理员身份与站点信息由登录上下文注入,请求体不传操作人字段。

POST /admin.admin.v1.support.Support/ResolveReportSupport 后台登录态
Content-Typeapplication/json
请求模型ResolveReportSupportReq
响应模型ResolveReportSupportResp
!
兼容性提醒
处罚类型现采用 category << 12 | subtype 编码。HTTP JSON 推荐始终传枚举名,不要在前端持久化旧数字值。
新增枚举

五种类型,一眼辨认可用性

“可用”表示已具备当前业务接入路径;未实现项只完成协议定义,前端应禁用选择并展示原因。

4098 · 1<<12|2

DEVICE_BAN

禁止指定设备登录游戏。

当前可用
8194 · 2<<12|2

RING_BAN

禁止参与匹配或普通对局。

当前可用
8195 · 2<<12|3

MATCH_BAN

禁止报名或参加比赛。

当前可用
8196 · 2<<12|4

PURCHASE_BAN

禁止购买商品。

底层未实现
16386 · 4<<12|2

DEDUCT_RATING

扣除用户等级分。

底层未实现
03 / 请求参数

完整请求体

字段名遵循 ProtoJSON 的 lowerCamelCase。int64 在 JSON 中建议使用字符串,枚举建议使用完整符号名。

字段类型要求说明
supportIdint64必填举报工单 ID,必须大于 0。
conclusionenum必填仅允许 CONFIRMEDREJECTEDINSUFFICIENT_EVIDENCE
adjustedRiskLevelenum必填调整后风险等级,NORMAL10
punishmentsReportPunishment[]条件必填仅举报成立时可传;同一 punishmentType 不允许重复。
notificationChannelsenum[]可选通知渠道:INBOXPUSHEMAILSMS;不允许重复。
notificationTargetsenum[]可选通知对象:举报人 REPORTER、被举报人 REPORTED_USER;不允许重复。
coinPenaltiesGameCoinPenalty[]条件必填选择 DEDUCT_COIN 时同步提供;新增 5 种类型均无需传。
resolutionNotestring必填审核备注,1~65535 字节。
versionuint32必填详情接口返回的当前版本号,用于乐观锁。
requestIdstring必填全局唯一幂等 ID,1~64 字节;重试必须复用同一值。
reporterMailTemplateIdstring条件必填站内信通知举报人时必填,最长 64 字节。
reportedUserMailTemplateIdstring条件必填举报成立且站内信通知被举报人时必填,最长 64 字节。
forbiddenGameIdsint32[]可选ACCOUNT_BAN 可传;元素大于 0 且唯一。新增 5 种类型不要传。

ReportPunishment

punishments 数组元素

字段类型要求说明
punishmentTypeenum必填具体处罚枚举;传完整符号名。
durationTypeenum必填DEVICE_BANRING_BANMATCH_BANPURCHASE_BAN 支持 FIXED_SECONDSPERMANENTDEDUCT_RATING 必须为 UNSPECIFIED
durationSecondsint64条件必填固定时长为 1~315360000 秒;永久或无时长处罚必须为 0。
payloadgoogle.protobuf.Any可选MATCH_BAN 可传 SupportPunishmentPayload.tourBanDEDUCT_RATING 预留 targetValue,当前不可执行。
04 / 完整示例

可直接复制的联调请求

示例一次下发设备封禁、普通对局封禁与全赛事封禁;包含接口全部 13 个顶层字段。


        
05 / 交互构建器

选择类型,实时生成处罚片段

用于验证前端表单联动:不同类型自动切换时长、赛事范围与实现状态提示。

Request Builder

处罚措施

时长方式

示例值 604800 秒,即 7 天;最大约 10 年。

punishments[0]


            
          
06 / 前端交互

对应附件“处理”弹窗的推荐流程

主动作只有一次“确认处罚”。提交前完成条件联动,提交后依据同一 requestId 安全重试。

01

确认结论

只有“举报成立”展示处罚措施;其余结论清空处罚。

02

配置处罚

可添加多个不同类型;固定时长与永久互斥。

03

补齐通知

选择站内信和通知对象后,联动要求对应模板。

04

提交与回显

锁定按钮,成功后刷新工单版本和处罚记录。

07 / 校验与风险

上线前必须守住的边界

以下规则来自当前 proto 校验和业务归一化逻辑;错误响应统一保留英文 message。

处罚类型唯一

同一请求重复 punishmentType 会返回 SUPPORT_INVALID_ARGUMENT

时长严格配对

固定时长必须大于 0;永久、扣分等无时长处罚必须传 0。

通知模板联动

站内信通知举报人或被举报人时,必须提供对应模板 ID。

幂等与乐观锁

重试复用 requestId;新一次操作重新生成。version 必须来自最新详情。

未实现项禁用

PURCHASE_BANDEDUCT_RATING 不进入生产请求,避免只写快照未产生实际处罚。

赛事范围载荷

MATCH_BAN 若不是全部赛事,应在 tourBan 中传对应 ID 数组。

已复制到剪贴板