고객관리 룰 관리¶
라우트:
/crm/customer-management/rules진입: 좌측 메뉴 CRM → 고객관리 → 룰 관리 (TopMenuBar: 고객관리_룰) 권한: 전 직원 — 시드 룰 DELETE 차단 / 자동발송 토글 2단계 확인
한 줄 요약
매일 09:00 자동 매칭 발송에 사용되는 룰 마스터 관리. 트리거(결제/시술/D+N) + 키워드 + 템플릿 조합 → 자동 SMS/해피콜 발송.
화면 구성¶
[고객관리_룰] [+ 새 룰]
─────────────────────────────────────────────────────────────────
┌ ID ┬ 룰명 ┬ 채널 ┬ 트리거 ┬ 오프셋 ┬ 템플릿 ┬ 자동발송 ┬ 활성 ┬ 시드 ┬ 액션 ┐
│ R1 │ R1_한약_해독_D+1 │ SMS │ 결제 │ +1일 │ T1 │ 🟢 자동 │ ON │ 🔒 │ [편집] │
│ R2 │ R2_한약_일반_D+1 │ SMS │ 결제 │ +1일 │ T2 │ ⏸ 대기 │ ON │ 🔒 │ [편집] │
│ ... │ │
└─────────────────────────────────────────────────────────────────
룰 필드¶
새 룰 / 편집¶
| 필드 | 의미 | 필수 |
|---|---|---|
| 룰명 (name) | 표시용 (예: R1_한약_해독_D+1) | ✓ |
| 템플릿 (template_id) | 메시지 템플릿 중 선택 | ✓ |
| 트리거 (trigger_event) | payment / treatment / reception / manual | ✓ |
| 오프셋 (days_offset) | 트리거 후 N일 (양수=미래, 음수=과거) | ✓ |
| 반복일 (recurrence_days) | JSON 배열 (예: 재내원 [25,55,85,115,145,175]) |
△ |
| 키워드 (keywords) | progress_note_orders.order_name LIKE 매칭 (JSON: ["해독","약침"]) |
△ |
| 해독필터 (is_detox) | 공란(무관) / 0(해독 아님) / 1(해독) — patient_packages.is_detox 기준 |
△ |
| 자동발송 (auto_send) | 0 (대기큐) / 1 (즉시) | ✓ |
| 활성 (enabled) | 0 (비활성) / 1 (사용 중) | ✓ |
채널은 연결된 템플릿의 channel을 따름.
자동발송 켜는 흐름¶
- 룰 행의 ⏸ 대기큐 버튼 클릭 → 편집 모달
- auto_send = 1 로 미리 셋팅됨
- [저장] → 2단계 확인 모달 (실수 방지):
⚠️ 경고: "R1_한약_해독_D+1" 룰을 [자동 발송]으로 설정합니다. 이후 매일 09:00 배치가 매칭 환자에게 SMS를 자동 발송합니다.
- [확인] → auto_send=1 저장 + 다음 09:00 배치부터 즉시 발송
해피콜(call) 룰은 auto_send=1 설정 불가: - alert: "해피콜 룰은 자동 발송할 수 없습니다 (직원이 직접 통화). 대기 큐로 설정해주세요."
시드 룰 보호¶
시드 룰 (is_seed=1, R1~R5+) 은: - ❌ DELETE 차단 — alert "시드 룰은 삭제할 수 없습니다. enabled 토글로 비활성화하세요." - ✅ 본문/조건 수정 가능 - ✅ enabled ON/OFF 가능 - ✅ auto_send 토글 가능
운영자 추가 룰은 모든 필드 자유 편집 + DELETE 가능.
매칭 정확성 검증¶
자동 룰 운영 안전 흐름:
- 신규 룰 추가 → auto_send = 0 (대기큐) 으로 시작
- 매일 고객관리 대시보드 →
⏳ 수동 대기토글 → 매칭 환자 확인 - 1주일간 정확성 모니터링 (의도된 환자만 매칭됐는지)
- 정확하면 → 룰 편집 → auto_send = 1 로 전환
- 매일 09:00 자동 발송 시작
시드 룰 기본 5종¶
| 룰 | 채널 | 트리거 | 오프셋 | 키워드 |
|---|---|---|---|---|
| R1 | SMS | 결제 | +1일 | 해독 키워드 |
| R2 | SMS | 결제 | +1일 | 약침/맞춤처방/다이어트 |
| R3 | SMS | 결제 | 0 | (recurrence: 25/55/85/115/145/175일) |
| R4 | SMS | 시술 | +7일 | 피코/브이레이저 |
| R5 | SMS | 시술 | +30일 | 슈링크/리프팅 |
상세: 시술별 안내 자동 발송
자주 묻는 질문 / FAQ¶
Q. 새 룰 추가 후 언제부터 발송되나요?
auto_send=1 설정 후 다음 09:00 배치부터. 당일 즉시 발송이 필요하면 [지금 실행] 버튼 (있는 경우).
Q. 같은 환자에게 R1, R3 둘 다 매칭되면?
각 룰이 별도 INSERT — 같은 날 같은 환자에게 2건 발송됩니다 (의도된 동작 — 서로 다른 안내 내용).
Q. 매칭 조건이 정확히 어떻게 작동하나요?
progress_note_orders.order_name LIKE %키워드% — 부분 매칭. JSON 배열 키워드는 OR 조건. is_detox=1 필터는 patient_packages.is_detox 컬럼 기준.
Q. 시드 룰을 끄고 새 룰로 대체할 수 있나요?
가능. 시드 enabled=0 + 새 룰 추가. 다만 시드는 운영 정책 기본값이라 가능한 본문만 수정 권장.
Q. 룰을 잘못 만들어서 환자에게 잘못된 SMS가 발송됐어요
즉시 룰 enabled=0 → 다음 09:00 배치 차단. 이미 발송된 건 환자에게 사과 안내. crm_task_logs 에서 잘못된 발송 식별 후 root cause 분석.
관련 페이지¶
- 메시지 템플릿 관리 — 룰에 연결할 본문 마스터
- 시술별 안내 자동 발송 — 룰 시스템 전체 흐름
- 고객관리 대시보드 — 일일 매칭 결과 모니터링
- 고객관리 리스트 — 발송 결과 통합 검색