문서

TicketsX를 더 빠르게 익히세요

설정 안내, 전체 명령어 목록, Premium 기능, REST API를 한곳에 모았습니다.

13.20

대화 기록 HTML 조회

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

닫힌 티켓의 저장된 HTML 대화 기록 전체를 내려받습니다. 대시보드가 보여주는 보관본 그대로이며, 모든 메시지, 임베드, 첨부 파일 링크, 프로필 사진이 들어 있습니다. `view_transcript_html` 권한이 필요합니다(기본값은 꺼짐).

질의 매개변수

이름형식필수설명
formatstring
선택
raw로 지정하면 HTML 파일 자체를 Content-Type: text/html로 받습니다. 그대로 저장하거나 iframe에 넣을 수 있습니다. 지정하지 않으면 대화 기록 메타데이터와 HTML이 함께 담긴 기본 JSON 형태로 받습니다. 오류는 언제나 JSON으로 돌아옵니다.

이 API에서 가장 민감한 읽기라서 토큰마다 1분에 10번으로 제한되고, 호출할 때마다 서버의 활동 로그에 기록됩니다. 대화 기록은 암호화해서 저장하며 요청할 때마다 복호화합니다. 지나치게 큰 보관본은 413으로 거절되고, 대신 볼 수 있도록 응답에 transcript_url이 들어갑니다.

요청 예시: JSON 형태
curl -X GET \
  -H "Authorization: Bearer <API_TOKEN>" \
  "https://api.ticketsx.xyz/<guild_id>/api/transcripts/<ticket_id>/html"
요청 예시: 파일로 바로 저장하기
curl -X GET \
  -H "Authorization: Bearer <API_TOKEN>" \
  -o ticket_42.html \
  "https://api.ticketsx.xyz/<guild_id>/api/transcripts/<ticket_id>/html?format=raw"
응답 예시(기본 JSON)
{
  "transcript": {
    "TicketId": 42,
    "PanelId": 1,
    "PanelName": "Support",
    "AuthorId": "123456789",
    "AuthorUsername": "jane",
    "Rating": 5,
    "RatingCount": 1,
    "CloseReason": "Resolved",
    "CreatedAt": 1732200000,
    "ClosedAt": 1732210000,
    "TranscriptUrl": "https://tickets.example.com/<guild_id>/transcripts/42"
  },
  "content_type": "text/html; charset=utf-8",
  "bytes": 184320,
  "html": "<!DOCTYPE html>..."
}