본문으로 건너뛰기

도어락 제어

SSE(Server-Sent Events) 기반 비동기 도어락 해제 API입니다.

해제 흐름


V2 도어락 해제 요청

POST /door/v2/unlock

비동기로 도어락 해제를 요청합니다. 응답으로 requestId를 받고, SSE로 결과를 구독합니다.

Headers

이름필수설명
Content-TypeOapplication/json

Request Body

파라미터타입필수설명
branchStringO지점 영문명 (지점 코드 참고)
doorlockTypeStringO"front" (현관) 또는 "room" (룸)
keyStringO도어락 인증키 (doorlockKey)
요청 예시
{
"branch": "Gwanghwamun",
"doorlockType": "front",
"key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
doorlockKey

doorlockKey결제 확인 성공 시 생성되는 UUID입니다. 카드 결제는 즉시, 가상계좌는 입금 완료 후 생성됩니다.

Response

{
"status": "success",
"errorType": null,
"errorCode": null,
"message": null,
"data": {
"requestId": "req-20260305-abc123"
}
}

data 필드

필드타입설명
requestIdStringSSE 구독에 사용할 요청 ID
해제 가능 시간
  • 예약 시작 2분 전부터 해제 가능
  • 예약 종료 2분 전까지 해제 가능

SSE 결과 구독

GET /door/v2/unlock/subscribe

도어락 해제 결과를 실시간으로 수신합니다. 7초 타임아웃.

Query Parameters

파라미터타입필수설명
requestIdStringO해제 요청에서 받은 ID
keyStringO도어락 인증키 (doorlockKey)
GET /api/door/v2/unlock/subscribe?requestId=req-20260305-abc123&key=a1b2c3d4-...

Response

Content-Type: text/event-stream

SSE 이벤트

이벤트명설명
door-result도어락 해제 결과
event: door-result
data: {"status":"SUCCESS","device":"front","failoverKey":null}

door-result 필드

필드타입Nullable설명
statusStringNSUCCESS / FAILED / TIMEOUT
deviceStringY도어 디바이스명 (예: front, room_1)
failoverKeyStringY실패 시 PIN 코드 (fallback)
Failover

도어락 해제 실패 시 PIN 코드failoverKey로 제공됩니다. 클라이언트는 이 PIN을 사용자에게 안내하여 수동 해제를 유도합니다.


도어락 타입

타입대상동작
front출입문지점의 모든 front 도어 동시 해제
room객실문예약된 특정 룸만 해제

V1 도어락 해제 (Deprecated)

POST /door/unlock

Deprecated

V1 동기 방식은 2026-01-31에 종료되었습니다. V2를 사용하세요.