文档

更快上手 TicketsX

配置指南、完整命令说明、Premium 功能和 REST API 都在这里。

13.18

获取聊天记录

GET/<guild_id>/api/transcripts/<ticket_id>

按工单 ID 获取某张已关闭工单的完整聊天记录:全部元数据(开单者、面板、评价、关闭理由、认领人、各项时间)、按时间顺序排列的每条消息,以及每位参与者的消息统计。可以先用**搜索聊天记录**找到工单,或者用**获取聊天记录 HTML** 取回渲染好的存档。需要 `view_transcripts` 权限(默认关闭)。

查询参数

名称类型必填说明
limitnumber
可选
每页消息数,1-1000(默认 500)。
offsetnumber
可选
分页时跳过的消息数量(默认 0)。

messagesparticipants 的内容来自聊天记录索引。该索引在服务器拥有 Premium 期间建立,并会在你首次升级时对已有存档补建。在升级之前关闭的工单(或补建尚未完成时)会返回 indexed: false 和空的 messages 数组。遇到这种情况,请改用获取聊天记录 HTMLtranscript.TranscriptUrl。工单很长时,用 pagination 对象翻页。

请求示例
curl -X GET \
  -H "Authorization: Bearer <API_TOKEN>" \
  "https://api.ticketsx.xyz/<guild_id>/api/transcripts/<ticket_id>?limit=500"
响应示例
{
  "transcript": {
    "TicketId": 42,
    "PanelId": 1,
    "PanelName": "Support",
    "AuthorId": "123456789",
    "AuthorUsername": "jane",
    "Rating": 5,
    "RatingCount": 1,
    "CloseReason": "Resolved",
    "CreatedAt": 1732200000,
    "ClosedAt": 1732210000,
    "ClosedBy": "987654321",
    "ClaimedIds": ["987654321"],
    "TranscriptUrl": "https://tickets.example.com/<guild_id>/transcripts/42"
  },
  "indexed": true,
  "messages": [
    { "MessageId": "111", "AuthorId": "123456789", "AuthorUsername": "jane", "IsBot": false, "Content": "My login is broken", "CreatedAt": 1732200050 },
    { "MessageId": "112", "AuthorId": "987654321", "AuthorUsername": "staff", "IsBot": false, "Content": "Looking into it now!", "CreatedAt": 1732200110 }
  ],
  "participants": [
    { "UserId": "123456789", "Username": "jane", "IsBot": false, "MessageCount": 12, "FirstMessageAt": 1732200050, "LastMessageAt": 1732209900 }
  ],
  "pagination": { "total": 2, "limit": 500, "offset": 0, "returned": 2 }
}