SaaS API가이드라인 Trial (데모)
가이드라인 Trial 개요
캠페인 생성·회원가입 없이 컨셉/가이드라인을 생성하는 데모·마케팅용 시스템
가이드라인 Trial (캠페인 없이 생성 — 데모/마케팅)
Trial 은 캠페인(Collab) 생성 없이, 무인증(로그인 없이) 컨셉/가이드라인을 생성하기 위한 데모·마케팅용 시스템입니다. 생성 로직은 가이드라인 V4의 Python 엔드포인트를 그대로 재사용하되, 캠페인 의존 부분만 요청 입력으로 대체합니다.
이 API 경로(/ai/guideline/trial/**)는 인증이 필요 없습니다(permitAll). 공개 데모/마케팅용이므로 캠페인·회원 데이터에 접근하지 않습니다.
V4 와의 차이
| 항목 | V4 (캠페인 기반) | Trial (데모) |
|---|---|---|
| 인증 | 로그인 필요 (BUSINESS·USER·ADMIN) | 불필요 (permitAll) |
| 세션 키 | collabNo (캠페인 번호) | 랜덤 UUID (trialId) |
| 캠페인 데이터 | TB_COLLAB 조회 (제품명·카테고리·상세이미지) | 요청 입력으로 직접 전달 (prepare) |
| 저장 위치 | MongoDB guidelines | MongoDB guideline_trials (collabNo=null) |
| 생성 로직 | Python V4 | 동일한 Python V4 재사용 (campaign_data_override 전달) |
흐름
0. upload-url 상세페이지 이미지 / 가이드 PDF 업로드용 Signed URL 발급 (무인증)
→ 프론트가 S3에 직접 업로드(presigned PUT) → publicUrl 확보
1. prepare 카테고리/국가/제품명/상세이미지 1회 처리 → campaignData 저장 (trialId 발급)
2. concepts 컨셉 3개 후보 생성 (Step 1)
3. generate 선택한 컨셉으로 전체 가이드라인 생성 (Step 2)
4. regenerate 개별 항목 재생성 (Step 3, optional)
5. add-item 항목 1개 추가 (Step 4, optional)
6. add-batch 항목 일괄 추가 (Step 5, optional)
- GET /{trialId} 세션(입력값·결과) 조회V5 트렌드 플로우 (2·3 대체)
V4 concepts/generate 대신 트렌드 기반 V5 를 쓸 수 있습니다. 이후 스텝(regenerate~add-batch)·세션 저장은 동일합니다.
2'. v5/{trialId}/concepts 사전 분석된 트렌드 릴스 기반 컨셉 Top 3 자동 선정
3'. v5/{trialId}/generate 선택 트렌드·근거 릴스를 반영한 전체 생성 (shot 에 reference_url 연결)캠페인이 없으므로 트렌드 추천 이력(guideline_trend_recommendations)은 저장하지 않습니다.
캠페인 데이터의 두 축
- (A) 캠페인 메타 — 카테고리 / 국가 / 제품명 / 상세페이지 이미지.
prepare에서 1회 처리해campaignData로 저장하고, 이후 모든 스텝에campaign_data_override로 재사용합니다. (상세이미지는 이때 Gemini 로 분석해image_analysis를 채우며, 재분석하지 않습니다.) - (B) 기존 V4 입력 — 가이드라인 PDF(
fileUrls) / 참고 릴스(referenceLinks) / 초안 텍스트(conceptText). V4 와 동일하게concepts에서 처리합니다.
상세페이지 이미지(A) ≠ 가이드 PDF(B). A 는 제품정보(
image_analysis), B 는 기획 레퍼런스입니다.
데이터 저장 위치
- MongoDB
guideline_trials컬렉션 —_id= 랜덤 UUID,collabNo=null,campaignData/concepts/selectedConcept/geminiFileIds/data. TTL 48시간(expiresAt).
파일 업로드 (Signed URL)
Trial 은 기존 V4 업로드와 동일한 S3 버킷·경로·URL 형식을 유지한 채 방식만 S3 presigned PUT 으로 바꿔 씁니다. 프론트는 POST /ai/guideline/trial/upload-url 로 발급받은 uploadUrl 에 파일을 직접 PUT 한 뒤, 반환된 publicUrl 을 prepare 의 productImageUrls 또는 concepts 의 fileUrls 에 담아 보냅니다.