푸시 알림
Jonot은 고객의 번호표가 CALLED 상태로 전환될 때 시스템 알림을 보냅니다 —
브라우저 탭이 백그라운드에 있거나 휴대폰이 잠겨 있어도 마찬가지입니다. 건너뛴
번호표가 재호출된 뒤 다시 호출될 때도 알림이 전송됩니다.
동작 방식
섹션 제목: “동작 방식”- 고객이 대기열에 참여하려고 하면 대기열 선택 화면을 보게 됩니다.
- 대기열 목록 위에 푸시 옵트인 카드가 표시되며 — 고객이 알림 받기를 탭하면 참여하기 전에 브라우저 권한을 부여합니다.
- 브라우저가 웹 푸시 구독을 등록합니다.
- 고객이 대기열에 참여해 번호표를 받습니다. 구독은 서버 측에서 번호표에 연결됩니다.
- 창구가 번호표를 호출하면 서버는 해당 번호표의 모든 활성 구독으로 푸시 메시지를 전송합니다.
- 고객의 기기가 깨어나며 번호표 번호, 대기열 이름, 지점이 포함된 시스템 알림을 표시합니다. 알림을 탭하면 번호표 화면이 열립니다.
- 번호표가 종결 상태(
COMPLETED,CANCELED, 또는NO_SHOW)에 도달하거나 푸시 엔드포인트가 만료되면(브라우저에서 구독 해지 / 권한 취소) 구독은 자동으로 삭제됩니다.
대기열 선택 화면에서 옵트인하지 않은 고객도 번호표 화면에서 옵트인할 수
있습니다 — 번호표가 WAITING 또는 CALLED 상태인 동안 알림 카드가
표시됩니다.
건너뛴 번호표 재호출 알림
섹션 제목: “건너뛴 번호표 재호출 알림”고객의 번호표가 건너뛰어져(SKIPPED 상태로 이동) 있어도 푸시 구독은 계속
활성 상태로 유지됩니다. 이후 직원이 번호표를 재호출(다시 WAITING
상태로 이동)한 뒤 호출하면, 고객이 번호표 페이지를 닫아 두었더라도 푸시
알림을 받게 됩니다.
즉, 옵트인한 뒤 자리를 비운 고객도 브라우저를 열어 두지 않아도 직원이 다시 호출할 때 알림을 받습니다.
옵트인 — 고객 경험
섹션 제목: “옵트인 — 고객 경험”| 상태 | 표시되는 내용 |
|---|---|
| 안내(권한을 아직 요청하지 않음) | 옵트인 CTA 카드(대기열 선택 + 번호표 화면) |
| 권한 허용 + 구독됨 | ”순서가 되면 알려드립니다 — 이 탭은 닫아도 됩니다” 확인 문구 |
| 권한 거부됨 | 대체 안내 + 브라우저 설정 링크 |
| 브라우저 미지원 | 없음(조용히 건너뜀) |
구독이 완료되면 탭이 닫혀 있거나 휴대폰이 백그라운드 상태여도 브라우저가 푸시 알림을 전달합니다 — 고객이 번호표 페이지를 계속 열어 둘 필요가 없습니다.
재연결 표시기
섹션 제목: “재연결 표시기”번호표 페이지가 열려 있는 동안 고객 기기의 WebSocket 연결이 끊기면(예: 잠시 오프라인이 되었을 때) 화면에 연결이 끊겼습니다 — 재연결 중… 알약형 배지가 표시됩니다. 이는 종결되지 않은 번호표에서만 표시되며 최초 페이지 로드 시에는 표시되지 않습니다. 연결은 자동으로 복구되며 별도의 조작이 필요하지 않습니다.
iOS — 홈 화면 추가 필요
섹션 제목: “iOS — 홈 화면 추가 필요”iOS Safari 16.4 이상은 웹 푸시를 지원하지만, 앱이 홈 화면에 추가된(독립 실행 모드) 경우에만 가능합니다. 일반 브라우저의 iOS Safari에서는:
- 대기열 선택 화면 위에 Jonot을 홈 화면에 추가 안내 카드가 표시됩니다.
- 홈 화면에 추가한 뒤 고객이 홈 화면 아이콘으로 Jonot을 다시 열면 일반적인 옵트인 CTA가 표시됩니다.
거래 목적 전용 — 마케팅 목적 아님
섹션 제목: “거래 목적 전용 — 마케팅 목적 아님”푸시 구독은 하나의 번호표에 연결됩니다. 철저히 거래 목적으로만 사용되며 —
하나의 구독은 한 번호표의 생애주기 동안만 존재합니다. 프로모션이나 대량 푸시를
전송하는 메커니즘은 없으며 — 오직 번호표 CALLED 이벤트만 알림을 발생시킵니다.
GDPR / 동의 근거: 구독은 고객이 방금 생성한 번호표에 연결됩니다. 번호표 자체를 다루는 것과 동일한 동의 근거(정당한 이익 / 계약 이행)가 이 단일 알림도 포괄합니다. 별도의 동의 수집은 필요하지 않습니다.
기술 참고 사항
섹션 제목: “기술 참고 사항”- 표준: RFC 8291(AES-128-GCM)에 따른 페이로드 암호화와 RFC 8292에 따른 VAPID 인증 요청을 사용하는 웹 푸시.
- 구독 저장: 각 구독은 하나의 번호표에 연결되며 해당 번호표가 종결 상태에 도달하면 자동으로 삭제됩니다.