Guide / 문의 관리
KO EN

문의 관리

문의 관리는 고객이 Contact Us 폼을 통해 보낸 문의 내용을 확인하고, 처리 상태, 읽음 여부, 답변 여부, 내부 답변 메모를 관리하는 기능입니다.

이 화면은 공개 문의 폼으로 접수된 고객 문의를 관리하고, 각 문의가 읽혔는지, 답변되었는지, 완료되었는지를 추적할 때 사용합니다.

화면 개요

문의 관리 화면은 요약 카드, 검색 필터, 문의 목록으로 구성됩니다. 또한 Sample Popup을 통해 공개 Contact Us 폼을 다른 페이지에 붙여 넣을 수 있는 HTML, CSS, JavaScript 샘플 코드를 확인할 수 있습니다.

영역 설명
요약 카드 전체 문의, 신규 문의, 진행 중, 완료, 읽지 않음, 답변 대기 수를 보여줍니다.
검색 필터 키워드, 상태, 읽음 여부, 답변 여부, 날짜 범위, 페이지 크기로 문의를 검색합니다.
문의 목록 상태, 고객 정보, 제목, 읽음 여부, 답변 여부, 생성일, 관리 버튼을 보여줍니다.
문의 상세 고객 정보, 문의 내용, 브라우저 정보, 관리자 관리 항목을 보여줍니다.
Sample Popup 공개 Contact Us 폼을 페이지에 추가하기 위한 AJAX 샘플 코드를 제공합니다.

요약 카드

요약 카드는 현재 문의 처리 현황을 빠르게 확인할 수 있도록 도와줍니다.

카드 의미
Total 시스템에 저장된 전체 문의 수입니다.
New 현재 신규 상태로 표시된 문의 수입니다.
In Progress 현재 처리 중인 문의 수입니다.
Completed 처리가 완료된 문의 수입니다.
Unread 아직 읽지 않은 문의 수입니다.
Unreplied 아직 답변하지 않은 문의 수입니다.

검색 필터

검색 필터는 특정 문의를 빠르게 찾기 위한 기능입니다.

필터 설명
Keyword 이름, 이메일, 제목, 메시지 내용으로 검색합니다.
Status New, In Progress, Completed 등의 처리 상태로 필터링합니다.
Read 읽음 또는 읽지 않음 상태로 필터링합니다.
Replied 답변 완료 또는 답변 대기 상태로 필터링합니다.
From 선택한 시작일 이후 생성된 문의를 검색합니다.
To 선택한 종료일까지 생성된 문의를 검색합니다.
Page Size 한 페이지에 표시할 문의 수를 설정합니다.
Search 선택한 조건으로 검색을 실행합니다.
Reset 검색 조건을 초기화하고 기본 목록으로 돌아갑니다.

문의 목록

문의 목록은 현재 검색 조건에 맞는 Contact Us 제출 데이터를 보여줍니다.

컬럼 설명
ID 시스템 내부 문의 ID입니다.
Status 현재 문의 처리 상태입니다.
Name 문의자가 입력한 이름입니다.
Email 문의자의 이메일 주소입니다.
Subject 문의 제목입니다. 제목 아래에 메시지 일부가 표시될 수 있습니다.
Read 문의가 읽혔는지 여부를 보여줍니다.
Replied 문의에 답변했는지 여부를 보여줍니다.
Created 문의가 접수된 날짜와 시간입니다.
Action 문의 상세 화면을 여는 View 버튼을 제공합니다.

문의 상세 페이지

문의 상세 페이지에서는 고객 정보, 문의 내용, 브라우저 정보, 관리자 관리 항목을 확인할 수 있습니다.

Customer Information

이 영역은 Contact Us 폼으로 제출된 고객 정보를 보여줍니다.

필드 설명
Full Name 문의자의 전체 이름입니다.
Email 문의자의 이메일 주소입니다.
Phone Number 문의자의 전화번호입니다. 입력되지 않을 수도 있습니다.
Company Name 문의자의 회사명입니다. 입력되지 않을 수도 있습니다.
IP Address 문의 제출 시 사용된 IP 주소입니다.
Referrer URL 문의 폼이 열리거나 제출된 페이지 주소입니다.
Created 문의 접수 날짜와 시간입니다.
Created By Guest 또는 로그인 사용자 등 제출자 유형입니다.

Inquiry Content

이 영역은 문의 제목, 메시지, 브라우저 정보를 보여줍니다.

필드 설명
Subject 문의자가 입력한 문의 제목입니다.
Message 문의자가 입력한 문의 내용입니다.
User Agent 문의 제출 시 사용된 브라우저와 기기 정보입니다.

관리자 관리 영역

관리자 관리 영역에서는 문의 처리 상태를 변경하고 내부 답변 메모를 저장할 수 있습니다.

필드 목적
Status New, In Progress, Completed 등의 처리 상태를 설정합니다.
Read 문의가 읽혔는지 여부를 설정합니다.
Replied 답변 완료 여부 또는 답변 대기 상태를 설정합니다.
Replied By 문의에 답변한 관리자 또는 담당자 이름을 기록합니다.
Reply Memo 내부 답변 메모 또는 처리 내용을 에디터로 작성합니다.
Reply Memo 영역은 관리자 내부 메모 또는 답변 처리 내역을 기록하기 위한 공간입니다. 팀에서 각 문의의 처리 이력을 추적할 때 도움이 됩니다.

Sample Popup

Sample Popup 버튼은 공개 Contact Us 폼을 다른 페이지에 추가할 수 있도록 바로 복사해서 사용할 수 있는 AJAX 샘플 코드를 보여줍니다.

샘플 코드에 포함되는 내용

  • 공개 Contact Us 폼의 HTML 구조
  • Contact Us 페이지 레이아웃용 CSS
  • Anti-forgery Token을 불러오는 JavaScript 코드
  • fetch()를 사용하는 AJAX 제출 코드
  • 성공 및 오류 메시지 처리
  • 필수 서버 엔드포인트 정보

바로 붙여 넣을 수 있는 AJAX Contact Us 샘플

샘플 코드는 다른 페이지에 바로 복사해서 사용할 수 있도록 구성되어 있습니다. 샘플 페이지 안에는 Razor 코드가 필요하지 않습니다.

필수 서버 엔드포인트

샘플이 동작하려면 아래 서버 엔드포인트가 필요합니다.

// Required endpoint summary
// 1) GET /ContactUs/Token
//    returns anti-forgery token JSON
//
// 2) POST /ContactUs/Submit
//    saves Contact Us data
//
// This sample HTML uses fetch('/ContactUs/Token') first,
// then submits to fetch('/ContactUs/Submit').

보안 토큰 흐름

공개 폼은 먼저 /ContactUs/Token을 호출하여 유효한 Anti-forgery Token을 가져옵니다. 이 토큰은 __RequestVerificationToken이라는 hidden input에 저장됩니다. 방문자가 폼을 제출하면 FormData가 /ContactUs/Submit으로 전송됩니다.

  1. JavaScript가 /ContactUs/Token을 호출합니다.
  2. 서버가 Anti-forgery Token JSON을 반환합니다.
  3. JavaScript가 토큰을 hidden input에 저장합니다.
  4. 폼이 fetch('/ContactUs/Submit')으로 제출됩니다.
  5. 서버가 토큰을 검증하고 문의 데이터를 저장합니다.

샘플 폼 필드

Input Name 목적 필수 여부
FullName 문의자의 전체 이름입니다. 필수
Email 문의자의 이메일 주소입니다. 필수
PhoneNumber 문의자의 전화번호입니다. 선택
CompanyName 문의자의 회사명입니다. 선택
Subject 문의 제목입니다. 필수
Message 문의 내용입니다. 필수
__RequestVerificationToken 안전한 폼 제출을 위한 Anti-forgery Token입니다. 필수

공개 Contact Us 폼 샘플

아래 예시는 공개 Contact Us 폼의 기본 구조입니다. 실제 Sample Popup에서는 Copy Source 버튼으로 전체 소스를 복사할 수 있습니다.

<form id="contactUsForm" class="contact-form">
    <input type="hidden"
           id="__RequestVerificationToken"
           name="__RequestVerificationToken"
           value="" />

    <input type="text" id="FullName" name="FullName" required />
    <input type="email" id="Email" name="Email" required />
    <input type="text" id="PhoneNumber" name="PhoneNumber" />
    <input type="text" id="CompanyName" name="CompanyName" />
    <input type="text" id="Subject" name="Subject" required />
    <textarea id="Message" name="Message" required></textarea>

    <button type="submit">Send Message</button>
</form>

권장 작업 순서

  1. Admin > CRM > Contact Us 메뉴로 이동합니다.
  2. 요약 카드에서 문의 현황을 확인합니다.
  3. 검색 필터로 원하는 문의를 찾습니다.
  4. View 버튼을 클릭해 문의 상세 화면을 엽니다.
  5. 고객 정보와 문의 내용을 확인합니다.
  6. 문의 상태, 읽음 여부, 답변 여부, 답변 메모를 업데이트합니다.
  7. Back to List 버튼으로 문의 목록으로 돌아갑니다.
  8. 공개 Contact Us 폼을 다른 페이지에 추가해야 할 경우 Sample Popup을 사용합니다.

자주 사용하는 작업

작업 권장 방법
읽지 않은 문의 확인 Read 필터에서 읽지 않은 항목을 선택합니다.
답변 대기 문의 확인 Replied 필터에서 Pending 또는 Not Replied 항목을 선택합니다.
고객 상세 정보 확인 문의 목록에서 View 버튼을 클릭합니다.
응답 진행 상황 추적 Status, Read, Replied, Replied By, Reply Memo를 업데이트합니다.
웹사이트 페이지에 Contact Us 폼 추가 Sample Popup을 열고 소스를 복사한 뒤 대상 페이지에 붙여넣습니다.

주의사항

  • 고객 이메일, 전화번호, IP 주소, 문의 내용은 신중하게 관리해야 합니다.
  • 스팸이거나 더 이상 필요 없는 경우가 아니라면 문의 데이터를 함부로 삭제하지 않는 것이 좋습니다.
  • Reply Memo를 사용해 내부 처리 내역을 명확하게 남기세요.
  • 샘플 소스를 페이지에 붙여넣은 후에는 반드시 공개 Contact Us 폼을 테스트하세요.
  • 샘플이 정상 작동하려면 /ContactUs/Token/ContactUs/Submit이 필요합니다.
  • 토큰 로딩이 실패하면 공개 폼은 안전하게 데이터를 제출할 수 없습니다.

문제 해결

문제 가능한 원인 해결 방법
문의가 보이지 않음 검색 조건이 너무 제한적이거나 아직 문의가 없을 수 있습니다. Reset 버튼을 클릭한 뒤 다시 검색합니다. 공개 Contact Us 폼도 테스트합니다.
폼 제출 실패 Anti-forgery Token이 정상적으로 로드되지 않았을 수 있습니다. /ContactUs/Token이 유효한 토큰을 반환하는지 확인합니다.
샘플 폼이 데이터를 저장하지 않음 Submit 엔드포인트가 없거나 요청이 차단되었을 수 있습니다. /ContactUs/Submit이 존재하고 POST 요청을 받는지 확인합니다.
문의 상태가 업데이트되지 않음 상세 페이지가 저장되지 않았거나 권한이 부족할 수 있습니다. 상세 페이지를 다시 저장하고 관리자 권한을 확인합니다.
스팸 문의가 들어옴 공개 폼이 자동화된 제출을 받고 있을 수 있습니다. 필요한 경우 유효성 검사, Rate Limit, Captcha 또는 추가 스팸 방지 기능을 적용합니다.

관리 권장 사항

  • 신규 문의를 정기적으로 확인하세요.
  • 문의 내용을 확인한 뒤 Read 상태로 변경하세요.
  • 답변을 보낸 후에는 Replied 상태를 업데이트하세요.
  • 추가 확인이 필요한 문의는 In Progress로 관리하세요.
  • 처리가 끝난 문의는 Completed로 변경하세요.
  • Reply Memo는 명확하고 전문적으로 작성하세요.
  • Contact Us 샘플 폼은 실제 페이지에 공개하기 전에 반드시 테스트하세요.
Contact Us 문의에는 고객 연락처와 비즈니스 요청이 포함되는 경우가 많습니다. 신중하게 관리하고 처리 상태를 정확하게 유지하는 것이 중요합니다.