Skip to content

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 ​

ts
new SessionResource(deps): SessionResource;

Defined in: src/resources/session.ts:31

Parameters ​

deps ​

ResourceDeps

Returns ​

SessionResource

Methods ​

createClientSessionUrl() ​

ts
createClientSessionUrl(): Promise<string>;

Defined in: src/resources/session.ts:38

세션 생성(클라이언트) — GET /open/v1/sessions/auth/client 〔Client 인증〕 클라이언트당 최대 10개 연결 유지 가능.

Returns ​

Promise<string>

소켓 연결용 URL (일정 시간 동안만 유효)


createUserSessionUrl() ​

ts
createUserSessionUrl(): Promise<string>;

Defined in: src/resources/session.ts:56

세션 생성(유저) — GET /open/v1/sessions/auth 〔유저 토큰〕 유저당 최대 3개 연결. 생성에 사용한 토큰과 동일한 유저의 이벤트만 구독 가능.

Returns ​

Promise<string>


listClientSessions() ​

ts
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() ​

ts
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() ​

ts
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() ​

ts
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>

공식 OPEN API만 지원 — 비공식 엔드포인트 0건