Class: SessionResource
Defined in: src/resources/session.ts:30
Session 리소스 (REST). https://chzzk.gitbook.io/chzzk/chzzk-api/session
실측(2026-07-22) 참고:
- 세션은 소켓 핸드셰이크 시점에 등록되며 라이브 상태와 무관
- 클라이언트 인증 세션에 유저 토큰으로 이벤트를 구독하는 조합이 동작 (다중 채널 봇 아키텍처의 표준 패턴)
- 구독/해지 완료는 HTTP 응답이 아니라 세션의 SYSTEM(subscribed/ unsubscribed) 메시지로 통지된다
Constructors
Constructor
new SessionResource(deps): SessionResource;Defined in: src/resources/session.ts:31
Parameters
deps
Returns
SessionResource
Methods
createClientSessionUrl()
createClientSessionUrl(): Promise<string>;Defined in: src/resources/session.ts:38
세션 생성(클라이언트) — GET /open/v1/sessions/auth/client 〔Client 인증〕 클라이언트당 최대 10개 연결 유지 가능.
Returns
Promise<string>
소켓 연결용 URL (일정 시간 동안만 유효)
createUserSessionUrl()
createUserSessionUrl(): Promise<string>;Defined in: src/resources/session.ts:56
세션 생성(유저) — GET /open/v1/sessions/auth 〔유저 토큰〕 유저당 최대 3개 연결. 생성에 사용한 토큰과 동일한 유저의 이벤트만 구독 가능.
Returns
Promise<string>
listClientSessions()
listClientSessions(params?): Promise<{
[key: string]: unknown;
data: object[];
page?: number;
totalCount?: number;
totalPages?: number;
}>;Defined in: src/resources/session.ts:68
세션 목록(클라이언트) — GET /open/v1/sessions/client 〔Client 인증〕
Parameters
params?
SessionListParams = {}
Returns
Promise<{ [key: string]: unknown; data: object[]; page?: number; totalCount?: number; totalPages?: number; }>
listUserSessions()
listUserSessions(params?): Promise<{
[key: string]: unknown;
data: object[];
page?: number;
totalCount?: number;
totalPages?: number;
}>;Defined in: src/resources/session.ts:80
세션 목록(유저) — GET /open/v1/sessions 〔유저 토큰〕 끊긴 세션은 90일간 조회 가능.
Parameters
params?
SessionListParams = {}
Returns
Promise<{ [key: string]: unknown; data: object[]; page?: number; totalCount?: number; totalPages?: number; }>
subscribe()
subscribe(eventType, sessionKey): Promise<void>;Defined in: src/resources/session.ts:98
이벤트 구독 — POST /open/v1/sessions/events/subscribe/{eventType} 〔유저 토큰〕 Scope: chat=채팅 메시지 조회 / donation=후원 조회 / subscription=구독 조회. 세션당 최대 30개 구독. 완료는 세션의 SYSTEM(subscribed) 메시지로 통지된다.
Parameters
eventType
"chat" | "donation" | "subscription"
sessionKey
string
Returns
Promise<void>
unsubscribe()
unsubscribe(eventType, sessionKey): Promise<void>;Defined in: src/resources/session.ts:114
이벤트 구독 취소 — POST /open/v1/sessions/events/unsubscribe/{eventType} 〔유저 토큰〕 완료는 세션의 SYSTEM(unsubscribed) 메시지로 통지된다.
Parameters
eventType
"chat" | "donation" | "subscription"
sessionKey
string
Returns
Promise<void>