@startuml 04-다중채널자동배포 !theme mono title 유저플로우 04: 다중 채널 자동 배포 actor "소상공인" as Owner participant "배포 관리 시스템" as DeploySystem participant "우리동네TV API" as UDTV participant "링고비즈 API" as Lingo participant "지니TV 광고 API" as GenieTV participant "SNS API" as SNS database "배포 이력 DB" as DeployDB == 이벤트스토밍 요소 == note over Owner, DeployDB **Command**: 다중채널배포시작, 우리동네TV배포, 링고비즈업데이트, 지니TV광고예약, SNS포스팅, 오프라인자료생성 **Event**: 배포요청됨, 우리동네TV배포완료됨, 링고비즈연결음업데이트됨, 지니TV광고노출시작됨, SNS자동포스팅완료됨, 오프라인자료다운로드가능해짐, 전체배포완료됨 **Actor**: 소상공인 **External System**: 우리동네TV, 링고비즈, 지니TV 광고 플랫폼, SNS API **Policy**: 채널별 최적 송출 시간대 자동 선정, 예산 기반 노출량 자동 조절, 배포 실패 시 자동 재시도 3회 end note == 배포 설정 == Owner -> DeploySystem : **Command**: 다중채널배포시작\n(데이터: 콘텐츠ID, 선택채널목록, 배포일시) activate DeploySystem DeploySystem --> Owner : **Event**: 배포요청됨 == 우리동네TV 배포 == DeploySystem -> UDTV : **Command**: 우리동네TV배포\n(데이터: 반경 500m/1km, 송출시간대, 15초영상) activate UDTV note right of UDTV **Policy**: 채널별 최적 송출 시간대 자동 선정 - 평일 저녁 6-9시 - 주말 점심 12-2시 - 지역 특성 반영 end note UDTV --> DeploySystem : **Event**: 우리동네TV배포완료됨\n(데이터: 배포ID, 예상노출수) deactivate UDTV == 링고비즈 연결음 업데이트 == DeploySystem -> Lingo : **Command**: 링고비즈업데이트\n(데이터: 매장전화번호, 연결음파일) activate Lingo Lingo --> DeploySystem : **Event**: 링고비즈연결음업데이트됨\n(데이터: 업데이트완료시각) deactivate Lingo == 지니TV 광고 예약 == DeploySystem -> GenieTV : **Command**: 지니TV광고예약\n(데이터: 타겟지역, 노출시간대, 예산) activate GenieTV note right of GenieTV **Policy**: 예산 기반 노출량 자동 조절 - 예산에 따른 노출 빈도 - 타겟 지역 최적화 - 시간대별 차등 과금 end note GenieTV --> DeploySystem : **Event**: 지니TV광고노출시작됨\n(데이터: 광고ID, 노출스케줄) deactivate GenieTV == SNS 자동 포스팅 == par Instagram DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Instagram, 예약시간) activate SNS SNS --> DeploySystem : 포스팅 완료 deactivate SNS and Naver Blog DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Naver, 예약시간) activate SNS SNS --> DeploySystem : 포스팅 완료 deactivate SNS and Kakao Channel DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Kakao, 예약시간) activate SNS SNS --> DeploySystem : 포스팅 완료 deactivate SNS end DeploySystem --> DeploySystem : **Event**: SNS자동포스팅완료됨 == 오프라인 자료 생성 == DeploySystem -> DeploySystem : **Command**: 오프라인자료생성\n(데이터: QR포스터, 인쇄용PDF) DeploySystem --> DeploySystem : **Event**: 오프라인자료다운로드가능해짐 == 배포 완료 및 이력 저장 == DeploySystem -> DeployDB : 배포 이력 저장 activate DeployDB DeployDB --> DeploySystem : 저장 완료 deactivate DeployDB DeploySystem --> Owner : **Event**: 전체배포완료됨\n(데이터: 배포채널목록, 예상도달수, 모니터링링크) note over Owner **원클릭 배포 완료 (1분 이내)** - 우리동네TV: 반경 1km 노출 - 링고비즈: 연결음 업데이트 - 지니TV: 주변 가정 노출 - SNS: Instagram, Blog, Kakao - 오프라인: QR 포스터 다운로드 - 다음: 실시간 효과 측정 end note deactivate DeploySystem @enduml