이 화면은 대표님만 봅니다
토큰 하나로 잠겨 있고, 토큰을 모르면 아무 데이터도 나가지 않습니다. 토큰은 이 브라우저에만 저장되며, 잠금 버튼을 누르면 지워집니다.
숫자 읽는 법
- 방문 — 각 서비스가 스스로 세는 하루 정수 하나(사람이 연 페이지만, 개인정보 없음).
- 매출 — 국내는 나이스페이 결제 완료, 해외는 Polar 결제 건수. 테이블뚝딱은 매장 손님이 낸 주문 금액이라 대표님 매출이 아니고 합계에서 빠집니다.
- 해외 금액 — Polar가 결제를 들고 있어 우리 DB에는 금액이 없습니다. 금액은 Polar 대시보드에서 확인하세요. (금액 칸이 채워지면 자동으로 합계에 들어갑니다.)
고객 계정 다루기
- 플랜 바꾸기 — 그 페이지가 실제로 쓰는 요금제가 바뀝니다. 유료로 바꾸면 30일이 붙고, 무료로 되돌리면 즉시 체험판이 됩니다.
- 숨기기 — 고객 화면에서 페이지가 사라집니다(고객이 직접 누르는 '비활성화'와 같은 결과). 내용은 보관함에 통째로 남아 있어 되살리기로 그대로 돌아옵니다.
- 계정 — 이메일 가입 계정이 아니라, 고객 브라우저의 편집 키로 묶인 페이지(매장) 묶음입니다. 한 계정에 페이지가 여러 개 붙을 수 있습니다.
문의·상담
- 문의는 지우지 않고 전부 기록으로 쌓입니다. 전체 기간 / 7일 / 30일과 새 문의·확인함·완료로 나눠 봅니다.
- 문의를 펼쳐 답변을 남기면 상담 기록에 차곡차곡 남습니다. '고객 화면에도 보이기'를 켜 두면 그 답변이 고객 대시보드의 '남긴 메모'로 전달됩니다.
- 에스컬레이션 — 피클이 답하지 못했거나 대표님이 직접 판단해야 하는 건입니다. 사유를 골라 표시해 두면 목록 맨 위 배지로 남고, 완료로 넘기면 풀립니다.
비상할 때
- 토큰이 새면 작업 폴더에서
python3 deploy.py전에/workspace/.secrets/admin-token.txt를 새 값으로 바꾸고 다시 배포하면 이전 링크는 즉시 막힙니다. - 사이트가 죽었는지는 카드의 점검 필요 배지와 각 서비스
/api/health로 확인합니다. - 숨긴 페이지는 사용자 화면 계정 안에 '숨김'으로 남아 있고, 거기서 되살립니다.
- 관제탑이 만드는 표는
siteddukddak-db의admin_archive(숨긴 페이지 보관),admin_log(조치 기록),admin_ticket_messages(상담 기록),admin_ticket_state(에스컬레이션) 네 개뿐입니다. 다른 서비스 표는 읽고, 필요한 칸만 씁니다.
서비스 늘리기
src/worker.js의 SERVICES에 한 칸만 추가하면 카드·매출 표·계정 목록이
자동으로 따라옵니다. D1 바인딩은 deploy.py에 함께 넣고 다시 배포하세요.