콘텐츠로 이동

이벤트 소켓 (WebSocket)

GET
/api/v1/stations/{station_id}/events/socket
curl --request GET \
--url 'https://dev.api.endueos.com/api/v1/stations/stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC/events/socket?ticket=example&resource_id=res_01J9ZK3Q8M4XW7D2N5R6T0V1BC' \
--header 'upgrade: websocket'

같은 이벤트를 WebSocket 으로. 텍스트 프레임 하나에 StationEvent 하나. 입장권으로만 인증한다. 닫힘 4401 = 입장권 무효, 4410 = 이어 받을 수 없음(REST 로 다시 읽고 새로 붙는다). 구독자가 정확히 {"type":"ping"} 을 보내면 {"type":"pong"} 이 온다 — 중간 장비의 idle timeout 을 넘기는 keepalive 다. 오래 열어 두는 구독(브라우저)은 SSE 보다 이것을 쓴다: 조용한 동안 서버가 자원을 쓰지 않는다.

가이드 — 이벤트와 웹훅

  • None
station_id
필수
string
/^stn_[0-9A-HJKMNP-TV-Z]{26}$/
예시
stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC
ticket
필수
string
last_event_id
integer format: int64
types
string
resource_id
string
/^res_[0-9A-HJKMNP-TV-Z]{26}$/
예시
res_01J9ZK3Q8M4XW7D2N5R6T0V1BC
upgrade
필수
string
허용 값: websocket

WebSocket 으로 바뀐다.

요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.

인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.

Upgrade: websocket 이 없다. 본문은 오류 봉투.

의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.