/api/chatbot

1. 개요

2. 요청

2.1. 엔드포인트

POST /api/chatbot/chat

2.2. 요청 헤더

헤더 필수 설명
Content-Type Y application/json
X-USER-ID Y 사용자 구분을 위한 고유 식별자 (UUID 등)

2.3. 요청 바디 (JSON)

필드명 타입 필수 설명
latitude number Y 사용자의 위도 (소수점)
longitude number Y 사용자의 경도 (소수점)
user_input string Y “반경 2km 이내 카페 추천해줘” 처럼 자연어로 장소 조건 입력
displayed_place_ids array N (추가 요청 시) 이미 화면에 표시된 place_id 목록. 중복 추천 방지용
is_more_request boolean N (추가 요청 시) true로 설정하면 기존 검색 기준 유지하고 다음 페이지 결과 요청

2.4. 예시

POST /api/chatbot/chat
Content-Type: application/json
X-USER-ID: test-user-id
	
{
  "latitude": 37.5061,
  "longitude": 126.9601,
  "user_input": "반경 2km 이내의 카페 추천해줘"
}

3. 응답

3.1. 상태 코드

4. 파라미터 설명

필드명 타입 필수 설명
latitude number Y 사용자의 위도
longitude number Y 사용자의 경도
user_input string Y 추천받고 싶은 장소에 대한 자연어 입력
displayed_place_ids array N (추가 추천 시) 이미 추천된 place_id

app.py

1. 개요


2. 공통 요청/응답 형식 및 에러 코드

구분 설명
콘텐츠 타입 text/html 또는 application/json 홈과 리다이렉트는 HTML, 에러는 JSON
인증 쿠키 기반 세션 (Flask-Login) 로그인 상태는 세션 쿠키로 관리
성공 응답 200 OK, 302 Redirect 페이지 렌더링 또는 리다이렉트
에러 응답 400 Bad Request<br>403 Forbidden<br>500 Internal Server Error 아래 에러 코드 참조