Skip to main content

用户问题反馈读取

按时间区间分页读取成员提交的客户端问题反馈,查看反馈内容、提交人、截图与诊断日志信息。响应中的文件链接为临时签名链接,需在 expires_at 之前下载并转存。

  • Scope:admin.v1.client-feedback.read
  • 权限项:用户问题反馈读取(client-feedback)
  • 权限类型:读取
  • 接口:GET/api/openapi/v1/client-feedback

认证与请求头

使用应用 API Key 调用。当前接口只校验上方独立 Scope;读取、管理与执行权限互不隐含。
名称位置类型必填说明示例
Authorizationheaderstring是应用 API Key,使用 Bearer 方式传递。Bearer qwk_***
X-Request-Idheaderstring否可选的调用追踪标识;未传入时由服务端生成。req-20260831-001

请求参数

名称位置类型必填说明示例
fromquerystring · date-time必填Inclusive creation/event time, RFC3339 with timezone; keep fixed while paging."2026-08-27T10:00:00Z"
toquerystring · date-time必填Exclusive creation/event time, after from and at most 180 days later; keep fixed while paging."2026-08-27T10:00:00Z"
cursorquerystring否Opaque next_cursor from the previous page of the same organization and time interval."<string>"
page_sizequeryinteger · int64否每页条数20

请求示例

curl --request GET \
  --url 'https://example.invalid/api/openapi/v1/client-feedback?from=<from>&to=<to>&cursor=<cursor>&page_size=20' \
  --header 'Authorization: Bearer <API_KEY>'

文件链接有效期与转存

截图的 screenshots[].url、screenshots[].download_url 和诊断日志的 diagnostic.url 均为临时签名链接,不保证长期可用。各文件链接的到期时间以对应的 expires_at 为准,不要在对接程序中硬编码有效时长。 拉取数据后,应及时在 expires_at 之前下载需要保留的文件,并转存至对接方自有的对象存储或文件存储;保存反馈 id 与转存文件的关联关系。不能只保存接口返回的链接作为长期文件地址。 下载文件时直接请求返回的完整链接,无需携带 OpenAPI API Key,也不要把 API Key 发送给对象存储。链接包含临时访问签名,应按凭据保护,避免写入公开日志。 若下载前链接已过期,可使用原 from、to 时间区间重新拉取并按 id 去重,获取新链接后立即下载。刷新链接不代表文件永久保留;原文件不存在时不能依赖重新拉取恢复文件。 diagnostic 在没有诊断文件时为 null;有文件时为包含 url、name 和 expires_at 的对象。截图与诊断日志均遵循上述下载和转存要求。

响应

200 OK

名称类型必填说明示例
has_moreboolean是是否有下一页false
itemsarray<OpenapifacadeFeedbackRecord>是记录列表-
next_cursorstring是下一页游标"<string>"
official_reporting_enabledboolean是是否开启官方上报false

items[] 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
can_reportboolean是是否可上报官方
created_atstring · date-time是创建时间
descriptionstring是说明
diagnosticobject | null是诊断日志文件;无文件时为 null,有文件时包含下列字段。
diagnostic_availableboolean是是否有诊断包
diagnostic_filenamestring否诊断包文件名
idstring是反馈 ID
official_issue_idstring | null是官方反馈 ID
org_idstring是组织 ID
read_atstring | null · date-time是已读时间
read_bystring | null是阅读人 ID
report_statusstring是上报状态
reported_atstring | null · date-time是上报时间
screenshotsarray<object>是截图
statusstring是状态;可选值:unread, read
updated_atstring · date-time否更新时间
updated_bystring否更新人 ID
updated_by_emailstring否更新人邮箱
updated_by_namestring否更新人
user_emailstring是用户邮箱
user_idstring是用户 ID
user_namestring是用户姓名

items[].diagnostic 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
download_urlstring否临时签名下载链接;到期前下载并转存。
expires_atstring · date-time是诊断日志链接的到期时间,RFC3339 格式。
namestring是诊断日志文件名。
urlstring是临时签名下载链接;到期前下载并转存,不保证长期可用。

items[].screenshots[] 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
download_urlstring否临时签名下载链接;到期前下载并转存。
expires_atstring · date-time是该截图预览与下载链接的到期时间,RFC3339 格式。
namestring是名称
urlstring是临时签名预览链接,不保证长期可用。
{
  "has_more": false,
  "items": [
    {
      "can_report": false,
      "created_at": "2026-08-27T10:00:00Z",
      "description": "<string>",
      "diagnostic": {
        "url": "<signed-url>",
        "name": "diagnostic.zip",
        "expires_at": "2026-08-27T10:15:00Z"
      },
      "diagnostic_available": true,
      "diagnostic_filename": "<string>",
      "id": "<string>",
      "official_issue_id": "<string>",
      "org_id": "<string>",
      "read_at": "2026-08-27T10:00:00Z",
      "read_by": "<string>",
      "report_status": "<string>",
      "reported_at": "2026-08-27T10:00:00Z",
      "screenshots": [
        {
          "download_url": "<string>",
          "expires_at": "2026-08-27T10:00:00Z",
          "name": "<string>",
          "url": "<string>"
        }
      ],
      "status": "unread",
      "updated_at": "2026-08-27T10:00:00Z",
      "updated_by": "<string>",
      "updated_by_email": "<string>",
      "updated_by_name": "<string>",
      "user_email": "<string>",
      "user_id": "<string>",
      "user_name": "<string>"
    }
  ],
  "next_cursor": "<string>",
  "official_reporting_enabled": false
}

default Flat business error

名称类型必填说明示例
codestring否Stable business error code"<string>"
detailstring是Human-readable error description"<string>"
detailsOpenapiErrorDetails否错误详情-
errorstring是Stable HTTP error type"<string>"

details 字段

以下必填性针对对象存在时的子字段;父对象可否省略或为 null,以上层字段表为准。
字段类型必填说明
fieldstring否校验失败的请求字段
reasonstring否校验失败的原因代码
suggestionstring否建议使用的规范化值
{
  "code": "<string>",
  "detail": "<string>",
  "details": {
    "field": "<string>",
    "reason": "<string>",
    "suggestion": "<string>"
  },
  "error": "<string>"
}