[클라이언트]
|
| POST /api/extract-places {contentId, snsUrl}
v
[place_router.py]
|
| asyncio.create_task() → 즉시 {"received": true}
v
[background_tasks.py::process_extraction_in_background_v2]
|
v
[integrated_workflow.py::run_integrated_workflow]
|
+---> [1] route_and_scrape(url) → SnsInfo
|
+---> [2] extract_place_names_with_ollama(caption) → ["장소1", "장소2"]
|
+---> [3] NaverMapScraper.search_and_scrape() → NaverPlaceInfo[]
|
v
[콜백 페이로드 변환]
|
| NaverPlaceInfo → PlaceDetailCallback
| SnsInfo → SnsInfoCallback
v
[send_callback_v2]
|
| POST api.mapsy.suhsaechan.kr/api/ai/callback
v
[백엔드]