고객관리 템플릿 관리¶
라우트:
/crm/customer-management/templates진입: 좌측 메뉴 CRM → 고객관리 → 템플릿 관리 (TopMenuBar: 고객관리_템플릿) 권한: 전 직원 (level 1~5) — 시드(is_seed=1) 삭제 불가
한 줄 요약
자동 SMS/알림톡/해피콜 발송에 사용하는 메시지 템플릿 마스터 관리.
변수 치환 ({{환자명}} 등) + 채널별 분류 + ON/OFF 토글.
화면 구성¶
[고객관리_템플릿] [+ 새 템플릿]
─────────────────────────────────────────────────────────────────
┌ ID ┬ 템플릿명 ┬ 채널 ┬ 본문 미리보기 ┬ 변수 ┬ 시드 ┬ 활성 ┬ 액션 ┐
│ 1 │ T1_한약_해독_D+1 │ SMS │ 안녕하세요 {{환자명}}님... │ 환자명 │ 🔒 │ ON │ [편집] │
│ 2 │ T2_한약_일반_D+1 │ SMS │ 다이어트 한약은 ... │ 환자명 │ 🔒 │ ON │ [편집] │
│ ... │ │
└──────────────────────────────────────────────────────────────────┘
시드 템플릿 6종 (2026-05-19 기준)¶
| ID | 이름 | 채널 | 용도 |
|---|---|---|---|
| T1 | T1_한약_해독_D+1 | SMS | 해독 한약 시작 1일차 안내 |
| T2 | T2_한약_일반_D+1 | SMS | 일반 다이어트 한약 복용 안내 |
| T3 | T3_재내원_안내 | SMS | D+25/55/85 등 재내원 시기 안내 |
| T4 | T4_피부_피코브이_D+7 | SMS | 피코/브이레이저 시술 7일 후 관리 안내 |
| T5 | T5_피부_리프팅_D+30 | SMS | 슈링크/리프팅 시술 30일 후 결과 안내 |
| T6 | T6_한약_해피콜_안내 | 해피콜 | 한약 복용 경과 확인 통화 가이드 |
시드 템플릿은 표시 — 삭제 불가, enabled 토글 + 본문 수정만 가능.
템플릿 필드¶
새 템플릿 만들기 / 편집¶
| 필드 | 설명 | 필수 |
|---|---|---|
| 이름 (name) | 표시용 이름 (예: T1_한약_해독_D+1) | ✓ |
| 채널 (channel) | sms / kakao / call(해피콜) / memo | ✓ |
| 본문 (body) | 메시지 본문 — 변수 치환 사용 ({{환자명}}) |
✓ |
| 변수 (variables) | 콤마 구분 변수명 (예: 환자명, 결제금액) |
△ |
| 카카오 템플릿 코드 | 알림톡 사용 시 카카오 사전 등록 코드 | △ (알림톡만) |
| 활성 (enabled) | ON (사용) / OFF (비활성, 룰에서 매칭 안 됨) | ✓ |
변수 치환 동작¶
본문에 {{변수명}} 형식으로 작성하면 발송 시 자동 치환:
| 변수 | 치환 값 |
|---|---|
{{환자명}} |
patients.name |
{{차트번호}} |
patients.chart_no |
{{예약일}} |
환자의 가장 가까운 미래 예약일 |
{{예약시간}} |
예약 시간 |
{{병원명}} |
vegas_hospitals.hospitalName |
{{병원전화}} |
vegas_hospitals.phone |
{{결제금액}} |
직전 결제 금액 (룰 매칭 환자만) |
미리보기: 발송 직전 미리보기 모달에서 첫 환자 기준 변수 치환 결과 확인.
새 템플릿 등록 흐름¶
/crm/customer-management/templates진입- 우상단 [+ 새 템플릿] 버튼
- 모달에서 필드 입력:
- 이름:
T7_브이로보_D+14(예시) - 채널: SMS
- 본문:
{{환자명}}님, 브이로보 시술 후 2주 경과 안내드립니다... - 변수:
환자명 - 활성: ON
- [저장] → 즉시 사용 가능
새 템플릿 만들면 룰 관리에서 룰의 template_id 로 연결해야 자동 발송에 사용됨.
시드 템플릿 편집¶
시드 템플릿(T1~T6)은 운영 정책 기본값이라 이름/채널 변경 불가 + 삭제 불가. 단: - 본문 수정 가능 (병원 안내 문구 변경 등) - 활성 ON/OFF 토글 가능 (시드를 끄고 새 템플릿으로 대체 가능)
운영자 직접 추가 템플릿은 모든 필드 자유 편집 + 삭제 가능.
삭제¶
| 대상 | 동작 |
|---|---|
| 시드 (is_seed=1) | ❌ alert "시드 템플릿은 삭제할 수 없습니다. enabled 토글로 비활성화하세요." |
| 운영자 추가 | confirm → 즉시 삭제 (DB DELETE) |
주의: 삭제 전 해당 템플릿을 참조하는 룰(customer_mgmt_rules.template_id) 확인. 룰이 deleted 템플릿을 가리키면 발송 실패.
룰과 템플릿 연결¶
[룰 (customer_mgmt_rules)] [템플릿 (customer_mgmt_templates)]
↓ template_id ↑
↓ │
↓ 매칭 환자 │
↓ │
↓ 발송 시 템플릿 body를 가져와 변수 치환 ──────────┘
↓
알리고 SMS API
룰 관리: 고객관리 메인 → 룰 관리 (/crm/customer-management/rules)
시술별 자동 발송 흐름: 시술별 안내 자동 발송
안전장치¶
| 안전장치 | 동작 |
|---|---|
| 시드 보호 | 시드 템플릿 DELETE 차단 (enabled 토글로 비활성화) |
| 빈 본문 차단 | 본문 비어있으면 [저장] 비활성 |
| 이름 중복 경고 | 같은 이름 템플릿 INSERT 시 경고 (저장은 가능) |
| 수신거부 자동 차단 | 발송 단계에서 sms_consent=0 / ad_consent=0 환자 제외 |
| 카카오 템플릿 코드 미입력 시 발송 실패 | 채널=kakao인데 코드 비어있으면 발송 시 실패 + 로그 |
권한별 차이¶
| 기능 | 권한 |
|---|---|
| 템플릿 조회 | 🟢 전 직원 |
| 새 템플릿 추가 | 🟢 전 직원 |
| 운영자 템플릿 수정/삭제 | 🟢 작성자 + admin |
| 시드 템플릿 본문 수정 | 🟡 Level 1~2 (병원 정책 변경) |
| 시드 enabled 토글 | 🟢 전 직원 |
자주 묻는 질문 / FAQ¶
Q. 시드 템플릿을 삭제하고 싶어요
삭제 불가. enabled를 OFF로 토글하면 룰에서 매칭 안 됩니다. 완전 대체하려면 새 템플릿 만들고 룰의 template_id를 새 ID로 변경.
Q. 변수 치환이 안 돼요
체크:
1. 본문에 {{변수명}} 정확한 형식인지 (공백 X)
2. 변수 목록에 해당 변수 등록됐는지 (예: 변수 필드에 환자명 명시)
3. 환자의 해당 DB 컬럼이 비어있지 않은지 (patients.name NULL이면 빈 문자열로 치환)
Q. 카카오 알림톡 템플릿을 등록하려면?
채널 = kakao 선택 + 카카오 템플릿 코드 입력 (카카오 비즈채널 사전 등록 후). 단, 현재 WI#19 백엔드 미구현 상태이므로 실제 발송 안 됨. 천재호님 작업 완료 후 사용 가능.
Q. 같은 본문인데 다른 룰에 각각 등록할 수 있나요?
가능. 다만 동일 본문이면 같은 템플릿을 여러 룰에서 공유하는 게 효율적 (이름만 다르게).
Q. 템플릿 추가 후 자동 발송에 반영되는 시점은?
고객관리 룰 관리 에서 룰의 template_id를 새 템플릿으로 연결 → 다음 매일 09:00 배치부터 반영.
Q. 운영자 임의 추가 템플릿이 너무 많아져요
enabled OFF로 정리. 정말 안 쓰는 건 삭제 가능. 다만 과거 발송 로그(crm_task_logs)는 그대로 보존.
Q. 본문 길이 제한은?
SMS 90자 / LMS 2000자 / 알림톡 1000자. 자동 채널 전환 안 함 — 본문 길이가 SMS 한도(90자) 넘으면 자동으로 LMS로 발송. 비용 차이 주의 (SMS 8원 / LMS 25원).
관련 페이지¶
- 고객관리 (메인) — 룰 관리 + 일일 큐 운영
- 시술별 안내 자동 발송 — 룰 시스템 상세
- 고객관리 리스트 — 발송 결과 통합 검색
- 단건/대량 SMS 발송 — 수동 발송 시 템플릿 선택
- 메시지 자동 발송 — 발송 시스템 두 갈래 비교