본문으로 건너뛰기
KSK.
메뉴

개인 프로젝트 · LINE Messaging API

LINE 문의·예약 자동화

LINE으로 접수한 문의를 예약 등록·변경·취소와 상담 기록 공유로 연결한 시스템입니다.

반복되던 일과 바뀐 흐름

문의 응답 뒤의 예약과 기록까지 연결했습니다.

문의 내용을 읽고 일정을 조율한 뒤 Calendar와 상담 기록을 각각 수정해야 했습니다. 대화에서 받은 정보로 예약 등록·변경·취소를 처리하고, 일정과 상담 기록을 함께 반영하도록 바꿨습니다.

실제 작동 화면

원본 GIF를 유지했습니다. 일부 구간은 생략하거나 빠르게 재생한 자료입니다.

문의 접수·예약 등록·기록 공유 LINE 대화가 예약과 외부 기록으로 이어지는 조작 화면입니다. 원본 크게 보기 ↗
예약 변경·취소 일정 변경·취소를 반영하는 조작 화면입니다. 원본 크게 보기 ↗

확인한 결과와 담당 역할

예약 조작 GIF에서 일정 등록·변경·취소와 기록 반영을 확인했습니다.

문제와 필요한 조건을 정리하고, AI 개발 도구를 활용해 제작했습니다. 연결된 화면과 실행 기록으로 결과를 확인하고 배포·운영 과정의 오류를 수정했습니다.

구현 자세히 보기

프로젝트 개요

목적
문의 응답 뒤에 이어지는 일정 조율·예약·기록을 하나의 흐름으로 연결
핵심 구현
메시지 접수, 대화 상태 관리, 예약 처리, Google Workspace 연동
확인 자료
예약 등록·변경·취소 GIF, 공개 README
담당 범위
개인 프로젝트 · 요구사항 정리, AI 도구 활용 제작, 연동 확인, 배포·운영 개선

핵심 기능

  • 문의 접수 LINE Webhook의 메시지를 수신하고 입력과 이벤트를 확인
  • 대화 상태 중단 후 재개된 상담의 진행 상태를 관리
  • 예약 처리 예약 등록·변경·취소를 Google Calendar에 반영
  • 기록 공유 상담 내용을 Google Sheets에 기록하고 담당자가 확인할 수 있도록 전달

처리 구조

LINE Webhook의 서명과 중복 이벤트를 확인하고, 대화 상태에 따라 예약 처리를 진행하도록 구현했습니다. AI의 의도 파악과 애플리케이션의 예약 실행을 분리했습니다.

  1. 01LINE Webhook 수신
  2. 02서명·중복 이벤트 검사
  3. 03AI 의도 파악
  4. 04입력·대화 상태 검사
  5. 05예약·상담 상태 갱신
  6. 06Calendar·Sheets 반영 및 공유

예외 상황과 처리 방식

재전송된 이벤트와 외부 응답 대기를 구분해 처리하고, 대화 진행 상태를 유지하도록 구성했습니다.

  • 중복 수신 같은 이벤트가 다시 도착하는 상황을 구분해 동일 업무의 반복 실행을 제한하는 구조
  • 응답 지연 외부 응답 대기와 문의 접수의 처리 역할을 분리
  • 대화 재개 시간을 두고 다시 도착한 메시지를 기존 진행 상태와 연결
  • 외부 API 오류 예약·기록·공유 단계를 구분해 실패 위치와 영향을 확인

실행 확인과 기술 스택

Java 21 · Spring Boot
문의 접수, 대화·예약 상태와 업무 조건 처리
LINE Messaging API · OpenAI API
메시지 수신·응답과 의도 파악
Google Calendar · Sheets
일정 및 상담 기록 반영
AWS · Ubuntu · Gradle
서버 배포·실행과 빌드

예약 등록·변경·취소와 Calendar·Sheets 반영을 기존 조작 화면에 담았습니다. 확정 예약을 확인해 Telegram으로 알리고, 같은 예약의 알림이 중복 전송되지 않도록 처리했습니다.

프로젝트 자료·연락처

← 한국어 포트폴리오

원본 크게 보기 ↗