Media
최종 수정: 2026년 7월 3일
CDA(Content Delivery API)는 발행된 리소스를 공개 방문자에게 전달하는 읽기 전용 API입니다. 이 페이지는 발행된 Media, 곧 이미지·영상·문서 같은 파일 자산을 조회하고 그 전달 주소를 받아 오는 방법을 다룹니다. CDA는 발행된 시점의 스냅샷을 전달하므로, 콘텐츠 스튜디오에서 아직 발행하지 않은 Media는 여기에 나타나지 않습니다.
CDA에는 조회(GET) 엔드포인트만 있고, Media를 올리고 고치고 발행하는 작업은 CMA Media가 담당합니다. 인증과 발행 전달 모델(발행 스냅샷·revision·발행된 것만 보임) 등 CDA 공통 동작은 CDA 개요를 참조하세요. Media는 다른 발행 리소스와 달리 작성자 정보(createdBy·updatedBy)를 항상 생략합니다. title·description·file은 조회한 locale의 값 하나로 돌아옵니다(locale=*이면 전체 맵).
리소스 구조
다음은 데모 Space의 발행 Media 한 건("스테인리스 텀블러 500ml" 상품 사진)을 CDA가 locale=ko-KR로 단일 조회해 전달하는 형태입니다. sys(시스템 속성)와 함께, 그 로케일의 title·description·file이 담긴 fields를 가집니다.
{
"sys": {
"id": "3trmXRM3RqbgSnifyg7OGjUMsPV3uU",
"type": "Media",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdAt": "2026-06-15T15:17:30.589Z",
"updatedAt": "2026-06-15T15:17:30.810Z",
"revision": 1
},
"fields": {
"title": "스테인리스 텀블러 500ml 정면 컷",
"description": "흰 배경에서 찍은 텀블러 정면 제품 사진입니다.",
"file": {
"fileName": "tumbler.png",
"contentType": "image/png",
"mimeGroups": ["Image"],
"url": "https://weegloo-media.com/medias/HnQ32YiH/3uU/3trmXRM3RqbgSnifyg7OGjUMsPV3uU/ko-KR/1/tumbler.png",
"detail": {
"size": 50847,
"image": { "width": 900, "height": 900 }
}
}
}
}주요 키:
sys.id: Media의 고유 식별자입니다. 단일 조회 경로의{mediaId}에 들어갑니다.sys.revision: 공개된 시점의 버전입니다. CDA는 관리용version을 담지 않으므로, 발행 버전을 가리키는 값은revision하나입니다.fields.title·fields.description: 요청한locale의 값 하나입니다(로케일 맵이 아닙니다).fields.file: 그 로케일의 파일 한 개를 나타내는 객체입니다. 방문자에게 파일을 보여 줄 전달 주소는file.url입니다. 객체 키는 아래 fields에서 설명합니다.
시스템 속성 (sys)
발행 Media의 sys는 발행 스냅샷용 속성만 담습니다. space는 Refer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.
| 속성 | 타입 | 설명 |
|---|---|---|
id | string | 리소스 고유 식별자. |
type | string | 리소스 종류. Media는 항상 "Media". |
space | Refer<Space> | 이 Media가 속한 Space. |
createdAt | string (date-time) | 생성 시각. |
updatedAt | string (date-time) | 마지막 수정 시각. |
revision | integer | 공개된 시점의 버전. 발행할 때마다 그 시점의 버전이 여기 담깁니다. |
발행 스냅샷이므로 CMA의 sys에 있는 version·status·publish·archive는 담기지 않습니다. 발행 버전을 가리키는 값은 revision 하나뿐입니다. 작성자 정보(createdBy·updatedBy)도 전달 응답에서 항상 생략됩니다.
fields
fields는 요청한 locale의 값 하나을 담습니다. CMA가 fields.title.ko-KR처럼 로케일별 값을 모두 담은 맵을 돌려주는 것과 달리, CDA는 요청한 로케일 하나의 값을 골라 바로 넣어 줍니다.
| 키 | 타입 | 설명 |
|---|---|---|
title | string | Media의 제목. 요청한 locale의 값 하나. |
description | string | Media 설명. 요청한 locale의 값 하나. |
file | object | 그 로케일의 파일 한 개. 아래 표 참조. |
file 객체의 키는 다음과 같습니다.
| 키 | 타입 | 설명 |
|---|---|---|
fileName | string | 원본 파일 이름. |
contentType | string | 파일의 MIME 타입(예: image/png). |
mimeGroups | string[] | 파일이 속한 논리 분류 배열. 값은 Attachment·Plaintext·Image·Audio·Video·RichText·Presentation·Spreadsheet·PdfDocument·Archive·Code·Markup 12종 중 하나 이상. |
url | string | 방문자에게 파일을 전달하는 CDN 주소. |
detail | object | 파일 메타 정보. size(바이트 단위 크기)를 담고, 이미지면 image(width·height), 영상이면 video가 추가로 들어갑니다. |
API
아래 두 엔드포인트의 기준 URL은 https://cda.weegloo.com/v1이며, Authorization 헤더에 CDA를 인증하는 Bearer 토큰이 필요합니다. 두 엔드포인트 모두 locale 쿼리 파라미터로 받을 언어를 정합니다. locale=ko-KR처럼 코드를 주면 그 로케일의 값으로, 생략하면 Space의 기본 Locale로, locale=*이면 전체 로케일 맵으로 돌려줍니다. 앞 두 경우에는 실제로 쓴 로케일을 알려 주는 x-weegloo-locale 헤더가 실립니다.
관련 문서
- CDA Content: Media를 참조하는 발행 Content.
- CMA Media: Media를 올리고 관리하는 API.
- Media (개념): 파일 자산을 콘텐츠 스튜디오에서 다루는 법.
