웹 채널 및 구독 동기화 통합
ADR-250 웹 채널 및 구독 동기화 통합
1. Metadata
- ADR ID: ADR-250
- Status: draft
- Date: 2026-03-09
- Owner: YSY
2. Domain Decision
3. Product Decision
- 사용자 웹은 조회 중심 채널로 운영하고 상태 변경 액션은 제한한다.
4. UX Decision
- 웹 위치권한 실패 시 지역 선택 fallback을 제공한다.
- 공유 가능한 고정 URL(슬롯 단위)을 제공한다.
5. Tech Decision
- 웹 배포는 정적/엣지 배포(CDN 기반)와 CI 자동 배포를 기본으로 한다.
- 구독 상태 동기화는 결제 웹훅 이벤트를 단일 기준으로 처리한다.
- 웹 조회 API는 공개 읽기 모델을 사용하되 RLS/RPC 경계로 제한한다.
6. Ops Decision
- 웹 배포 실패/웹훅 지연/동기화 누락에 대한 운영 점검 절차를 유지한다.
7. Implementation Contract (Optional)
7.1 API Contract
- 웹 채널 API는 조회 전용 엔드포인트만 공개한다.
- 구독 동기화는 내부 웹훅 수신 엔드포인트로만 처리한다.
7.2 Data Contract
- 공유 URL은 슬롯 단위 고정 식별자와 매핑한다.
- 웹 채널 읽기 모델은 권한 경계(RLS/RPC) 내에서만 조회 가능해야 한다.
7.3 Error/Observability Contract
- 웹훅 지연/실패는
WEBHOOK_SYNC_DELAYED 이벤트로 추적한다. - 웹 조회 API 에러율과 동기화 지연 시간을 운영 지표로 관리한다.
7.4 Test/Acceptance Contract
- 웹 채널에서 상태 변경 요청은 모두 차단되어야 한다.
- 웹훅 재전송 시 구독 상태가 중복 반영되지 않아야 한다.
8. Validation