{
  "module": {
    "module": "OpenAPI 接口",
    "moduleKey": "openapi"
  },
  "api": {
    "title": "按用户 ID 查询展示名",
    "method": "POST",
    "path": "/openapi/accounts/display-names",
    "description": "先校验 Authorization 中的登录访问令牌，再在当前 X-Site 对应的数据库中，按传入的用户主键列表查询系统用户（users）或客户端用户（clientUsers）的展示名。默认库多站点场景仅返回 siteKey 与当前 X-Site 一致且 status=1 的记录；独立站点库仅按 id 与 status 匹配。列表中未找到的 id 不会出现在结果中；全部未命中时 data.list 为空数组。",
    "requestParams": {
      "headers": [
        {
          "name": "Authorization",
          "type": "string",
          "required": true,
          "description": "会员登录接口返回的访问令牌，格式为 Bearer TOKEN（与 memberships/login 一致，需含 phone 等字段的混合 JWT）"
        },
        {
          "name": "X-Site",
          "type": "string",
          "required": true,
          "description": "站点标识，决定查询所用的数据库上下文（与全局 OpenAPI 中间件一致）"
        },
        {
          "name": "X-System-Code",
          "type": "string",
          "required": true,
          "description": "系统编码，与其他 OpenAPI 接口一致，用于校验系统是否开放"
        }
      ],
      "body": {
        "userIds": "array｜选填，用户主键列表（_id 字符串或数字 id），最多 200 个；可省略或传 []，鉴权成功后返回空列表"
      }
    },
    "responseExample": {
      "success": {
        "code": "0000",
        "message": "查询成功",
        "data": {
          "list": [
            {
              "_id": "MNFIOHH6QOA3kg0z",
              "username": "张三"
            },
            {
              "_id": 12,
              "username": "李四"
            }
          ]
        }
      },
      "failure": {
        "code": "1001",
        "message": "缺少访问令牌",
        "data": null
      }
    },
    "notes": [
      "鉴权失败（缺少令牌、令牌无效、账号不存在或禁用、黑名单等）时仍返回 HTTP 200，通过 code/message 区分。",
      "每个 id 先在 users 中查找，再在 clientUsers 中查找；同一 id 不会同时返回两条。",
      "username 取自 name，若无则 title，再无则空字符串。",
      "请求体中重复的 id 会去重，仅保留首次出现顺序对应的一条命中结果。"
    ]
  }
}