웹·앱 개발
샘플쉽 telegram notifications 실전 도입과 구현 비하인드
과제 개요
샘플쉽 관리자 대시보드는 신규 CS 문의가 접수되면 화면 내 알림으로만 확인할 수 있어, 대시보드를 상시로 열어두지 않는 운영자는 문의 접수 시점을 놓치기 쉬운 구조였습니다.
이번 작업은 신규 CS 문의 발생 시 운영자 텔레그램으로 전달할 수 있는 선택형 외부 알림 채널을 구축하는 데 초점을 맞췄습니다.
선택적으로 켜고 끌 수 있는 전송 구조
reqwest 기반으로 텔레그램 메시지 전송을 호출하며, 봇 토큰과 채팅방 식별값을 환경변수로 설정한 경우에만 외부 전송이 활성화되도록 구현했습니다.
환경변수가 설정되지 않은 환경에서는 DB 알림 저장까지만 진행하고 외부 전송은 건너뛰도록 하여, 운영 환경별로 채널 사용 여부를 선택할 수 있게 했습니다.
커밋 이후 비동기 전송으로 안정성 확보
CS 티켓과 DB 알림 커밋이 완료된 이후 백그라운드로 텔레그램 전송을 수행하도록 설계해, 외부 전송 지연이나 실패가 티켓 저장 자체에 영향을 주지 않도록 분리했습니다.
관리자 대시보드 채널 동기화 화면에도 텔레그램 알림 상태를 표시해 운영자가 채널 활성 여부를 즉시 확인할 수 있도록 구성했습니다.
검증 결과
Sampleship Telegram Channel Status
환경변수 미설정 상태에서 CS 티켓이 정상 생성되는지, DB 알림 생성·읽음 처리·테스트 티켓 답변완료 처리가 정상 동작하는지, 관리자 대시보드 화면이 의도한 대로 렌더링되는지를 확인했습니다.
검증 결과
[PASS] 빌드 및 정적 검사 통과
[PASS] 환경변수 미설정 상태에서 CS 티켓 생성 확인
[PASS] DB 알림 생성/읽음 처리 및 테스트 티켓 답변완료 처리 확인
[PASS] 관리자 대시보드 채널 상태 화면 확인(Playwright)
남은 과제
도메인 메일 수신 파이프와 문의 등록 연동, 이미지 업로드/정렬 UI, 리뷰/상품문의, 쿠폰·적립금·회원 등급, 결제(PG) 연동은 아직 진행 전 단계입니다.
선택형 알림 채널 구조를 기반으로 향후 다른 알림 수단으로도 확장 가능한 형태를 검토하고 있습니다.