광고연구소

파일 업로드

OnSureLab

Step 5 레퍼런스/로고, Step 7 결과물 등 파일을 Naver Object Storage에 업로드합니다.
업로드 후 받은 URL을 draft에 넣어서 집행건 저장 API로 보냅니다.

POST

파일 업로드

엔드포인트
POST /api/onsurelab/executions/:id/files

Content-Type: multipart/form-data

요청 Body (FormData)
필드타입필수설명
fileFile
필수
업로드할 파일
categorystring
필수
reference / logo / brand_guide / evidence / deliverable
stepnumber-어떤 스텝에서 올린 건지 (5, 7, 9 등)
성공 응답 (201)
{
  "success": true,
  "data": {
    "fileId": "file_abc123def4",
    "url": "https://storage.example.com/bucket/exec_xxx/reference/image1.jpg",
    "originalName": "디자인레퍼런스.jpg",
    "size": 1048576,
    "mimeType": "image/jpeg",
    "category": "reference",
    "step": 5,
    "uploadedAt": "2025-01-15T10:00:00.000Z"
  }
}
사용 흐름:
  1. POST /files (파일 업로드) → url 받음
  2. PATCH /executions/:id (draft 안에 url 추가하여 저장)
GET

파일 목록 조회

엔드포인트
GET /api/onsurelab/executions/:id/files
파라미터
파라미터타입필수설명
categorystring-카테고리 필터
stepnumber-스텝 필터
성공 응답 (200)
{
  "success": true,
  "data": {
    "files": [
      {
        "fileId": "file_abc123def4",
        "url": "https://storage.example.com/...",
        "originalName": "디자인레퍼런스.jpg",
        "size": 1048576,
        "mimeType": "image/jpeg",
        "category": "reference",
        "step": 5,
        "uploadedAt": "2025-01-15T10:00:00.000Z"
      }
    ]
  }
}
DELETE

파일 삭제

엔드포인트
DELETE /api/onsurelab/executions/:id/files/:fileId
성공 응답 (200)
{
  "success": true,
  "message": "파일 삭제 성공"
}