계획서
OnSureLab
Step 2 조건 + Step 3 상품 정보를 바탕으로 9개 섹션의 집행계획서를 생성/조회/수정합니다.
POST
집행계획서 생성
엔드포인트
POST /api/onsurelab/executions/:id/plan요청 Body
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
| step2Payload | object | 필수 | Step 2 집행 조건 전체 |
| selectedProduct | object | 필수 | Step 3 선택 상품 |
| selectedPrice | object | 필수 | Step 3 선택 가격 |
성공 응답 (201)
{
"success": true,
"data": {
"planId": "plan_abc123def4",
"meta": {
"generatedAt": 1705312800000,
"version": 1,
"productId": "prod_001"
},
"sections": {
"overview": { "id": "overview", "title": "사업개요", "content": "..." },
"background": { "id": "background", "title": "사업배경 및 필요성", "content": "..." },
"strategy": { "id": "strategy", "title": "전략 및 메시지", "content": "..." },
"details": { "id": "details", "title": "집행 상세", "content": "..." },
"schedule": { "id": "schedule", "title": "일정", "content": "..." },
"kpi": { "id": "kpi", "title": "성과지표", "content": "..." },
"budget": { "id": "budget", "title": "예산", "content": "..." },
"evidence": { "id": "evidence", "title": "증빙계획", "content": "..." },
"risk": { "id": "risk", "title": "리스크 관리", "content": "..." }
},
"tables": {
"budgetItems": [
{ "category": "광고비", "detail": "강남역 스크린도어", "unitPrice": 720000, "qty": 1, "unit": "건", "total": 720000 }
],
"totalBudget": 720000,
"vatIncluded": 792000,
"scheduleItems": [
{ "week": 1, "phase": "기획", "activity": "브리핑 및 소재 기획", "output": "기획안" }
]
}
}
}GET
집행계획서 조회
엔드포인트
GET /api/onsurelab/executions/:id/plan성공 응답 (200)
POST 응답과 동일 포맷
PATCH
집행계획서 섹션 수정
유저가 자동생성된 계획서 내용을 직접 수정했을 때. 보낸 섹션만 덮어씁니다.
엔드포인트
PATCH /api/onsurelab/executions/:id/plan요청 Body
{
"sections": {
"overview": {
"id": "overview",
"title": "사업개요",
"content": "수정된 사업개요 내용...",
"isEdited": true
}
}
}보낸 섹션만 덮어씀. 나머지 섹션은 유지.
성공 응답 (200)
POST 응답과 동일 포맷 (업데이트된 전체 계획서)