콘텐츠로 이동

푸시 알림

Jonot은 고객의 번호표가 CALLED 상태로 전환될 때 시스템 알림을 보냅니다 — 브라우저 탭이 백그라운드에 있거나 휴대폰이 잠겨 있어도 마찬가지입니다. 건너뛴 번호표가 재호출된 뒤 다시 호출될 때도 알림이 전송됩니다.

  1. 고객이 대기열에 참여하려고 하면 대기열 선택 화면을 보게 됩니다.
  2. 대기열 목록 위에 푸시 옵트인 카드가 표시되며 — 고객이 알림 받기를 탭하면 참여하기 전에 브라우저 권한을 부여합니다.
  3. 브라우저가 웹 푸시 구독을 등록합니다.
  4. 고객이 대기열에 참여해 번호표를 받습니다. 구독은 서버 측에서 번호표에 연결됩니다.
  5. 창구가 번호표를 호출하면 서버는 해당 번호표의 모든 활성 구독으로 푸시 메시지를 전송합니다.
  6. 고객의 기기가 깨어나며 번호표 번호, 대기열 이름, 지점이 포함된 시스템 알림을 표시합니다. 알림을 탭하면 번호표 화면이 열립니다.
  7. 번호표가 종결 상태(COMPLETED, CANCELED, 또는 NO_SHOW)에 도달하거나 푸시 엔드포인트가 만료되면(브라우저에서 구독 해지 / 권한 취소) 구독은 자동으로 삭제됩니다.

대기열 선택 화면에서 옵트인하지 않은 고객도 번호표 화면에서 옵트인할 수 있습니다 — 번호표가 WAITING 또는 CALLED 상태인 동안 알림 카드가 표시됩니다.

고객의 번호표가 건너뛰어져(SKIPPED 상태로 이동) 있어도 푸시 구독은 계속 활성 상태로 유지됩니다. 이후 직원이 번호표를 재호출(다시 WAITING 상태로 이동)한 뒤 호출하면, 고객이 번호표 페이지를 닫아 두었더라도 푸시 알림을 받게 됩니다.

즉, 옵트인한 뒤 자리를 비운 고객도 브라우저를 열어 두지 않아도 직원이 다시 호출할 때 알림을 받습니다.

상태표시되는 내용
안내(권한을 아직 요청하지 않음)옵트인 CTA 카드(대기열 선택 + 번호표 화면)
권한 허용 + 구독됨”순서가 되면 알려드립니다 — 이 탭은 닫아도 됩니다” 확인 문구
권한 거부됨대체 안내 + 브라우저 설정 링크
브라우저 미지원없음(조용히 건너뜀)

구독이 완료되면 탭이 닫혀 있거나 휴대폰이 백그라운드 상태여도 브라우저가 푸시 알림을 전달합니다 — 고객이 번호표 페이지를 계속 열어 둘 필요가 없습니다.

번호표 페이지가 열려 있는 동안 고객 기기의 WebSocket 연결이 끊기면(예: 잠시 오프라인이 되었을 때) 화면에 연결이 끊겼습니다 — 재연결 중… 알약형 배지가 표시됩니다. 이는 종결되지 않은 번호표에서만 표시되며 최초 페이지 로드 시에는 표시되지 않습니다. 연결은 자동으로 복구되며 별도의 조작이 필요하지 않습니다.

iOS Safari 16.4 이상은 웹 푸시를 지원하지만, 앱이 홈 화면에 추가된(독립 실행 모드) 경우에만 가능합니다. 일반 브라우저의 iOS Safari에서는:

  • 대기열 선택 화면 위에 Jonot을 홈 화면에 추가 안내 카드가 표시됩니다.
  • 홈 화면에 추가한 뒤 고객이 홈 화면 아이콘으로 Jonot을 다시 열면 일반적인 옵트인 CTA가 표시됩니다.

거래 목적 전용 — 마케팅 목적 아님

섹션 제목: “거래 목적 전용 — 마케팅 목적 아님”

푸시 구독은 하나의 번호표에 연결됩니다. 철저히 거래 목적으로만 사용되며 — 하나의 구독은 한 번호표의 생애주기 동안만 존재합니다. 프로모션이나 대량 푸시를 전송하는 메커니즘은 없으며 — 오직 번호표 CALLED 이벤트만 알림을 발생시킵니다.

GDPR / 동의 근거: 구독은 고객이 방금 생성한 번호표에 연결됩니다. 번호표 자체를 다루는 것과 동일한 동의 근거(정당한 이익 / 계약 이행)가 이 단일 알림도 포괄합니다. 별도의 동의 수집은 필요하지 않습니다.

  • 표준: RFC 8291(AES-128-GCM)에 따른 페이로드 암호화와 RFC 8292에 따른 VAPID 인증 요청을 사용하는 웹 푸시.
  • 구독 저장: 각 구독은 하나의 번호표에 연결되며 해당 번호표가 종결 상태에 도달하면 자동으로 삭제됩니다.