13.18
获取聊天记录
GET
/<guild_id>/api/transcripts/<ticket_id>按工单 ID 获取某张已关闭工单的完整聊天记录:全部元数据(开单者、面板、评价、关闭理由、认领人、各项时间)、按时间顺序排列的每条消息,以及每位参与者的消息统计。可以先用**搜索聊天记录**找到工单,或者用**获取聊天记录 HTML** 取回渲染好的存档。需要 `view_transcripts` 权限(默认关闭)。
查询参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 可选 | 每页消息数,1-1000(默认 500)。 |
| offset | number | 可选 | 分页时跳过的消息数量(默认 0)。 |
messages 和 participants 的内容来自聊天记录索引。该索引在服务器拥有 Premium 期间建立,并会在你首次升级时对已有存档补建。在升级之前关闭的工单(或补建尚未完成时)会返回 indexed: false 和空的 messages 数组。遇到这种情况,请改用获取聊天记录 HTML 或 transcript.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 }
}