Skip to content

同步默认好友到可信发布者

1. 接口定位

  • 接口名称: 同步默认好友到可信发布者
  • 所属域: admin/moments
  • 业务目标: 将默认好友池中的用户一次性导入动态可信发布者名单

2. 请求定义

  • Method: POST
  • Path: /adminx/moments/trusted_publisher/sync_default_friend
  • Content-Type: 推荐 application/json
  • operationID: 必填,请通过 Header operationID 传入
  • 鉴权: 需要 Header token,且必须是管理员 token
  • 幂等性: 幂等(同一批数据多次同步仅会 upsert)

3. 请求参数

Header 参数

字段必填类型说明
operationIDstring链路追踪 ID
tokenstring管理员 token

Body 参数

字段必填类型说明
reasonstring同步写入可信发布者记录的原因,空时默认 sync from default friends

4. 响应结构

通用响应包裹

字段类型说明
errCodeint错误码,0 表示成功
errMsgstring错误简述
errDltstring错误详情
dataobject业务数据

data 字段

字段类型说明
synceduint32本次同步写入的去重后用户数量

5. 业务规则

  • 仅管理员可调用。
  • 同步源为默认好友池(FindDefaultFriend)。
  • 写入可信发布者时使用 upsert 语义,已存在记录会被更新。
  • 若默认好友池为空,synced=0

6. 错误码与失败场景

错误码场景典型报错
1001token 缺失或无效由鉴权链路返回
-读取默认好友失败由 admin RPC 链路返回
-写入可信发布者失败由数据库层返回原始错误

7. 示例

fetch 请求示例

javascript
fetch("http://localhost:10011/adminx/moments/trusted_publisher/sync_default_friend", {
  method: "POST",
  headers: {
    operationID: "adminx-moments-trusted-sync-001",
    token: "eyJhbGciOi...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    reason: "migrate legacy default friends",
  }),
})
  .then((res) => res.json())
  .then((data) => console.log(data));

成功响应示例

json
{
  "errCode": 0,
  "errMsg": "",
  "errDlt": "",
  "data": {
    "synced": 2
  }
}

8. 变更记录

  • 2026-06-01: 首版发布,新增“默认好友一键同步为可信发布者”接口。