Content Type

최종 수정: 2026년 7월 3일

CDA(Content Delivery API)는 발행된 리소스를 공개 방문자에게 전달하는 읽기 전용 API입니다. 이 페이지는 발행된 Content Type, 곧 Content가 따르는 틀(스키마)을 조회하는 방법을 다룹니다. 이 틀이 어떤 필드를 가지고 각 필드가 어떤 타입·다국어 여부·필수 여부·유효성 규칙을 갖는지를 CDA로 읽어 가면, 그 틀을 따르는 발행 Content의 모양을 미리 알 수 있습니다.

CDA에는 조회(GET) 엔드포인트만 있고, Content Type을 만들거나 고치고 발행하는 작업은 CMA Content Type이 담당합니다. 인증과 발행 전달 모델(발행 스냅샷·revision·발행된 것만 보임) 등 CDA 공통 동작은 CDA 개요를 참조하세요. Content Type은 틀의 스키마라 조회에 locale 파라미터를 받지 않습니다.

리소스 구조

다음은 데모 Space의 발행 Content Type "상품"을 CDA가 단일 조회로 전달하는 형태입니다. sys(시스템 속성)와 함께 name, displayField, publishWithAuthor, fields 같은 본문 속성을 가집니다.

{
  "sys": {
    "id": "3trmXRLdJF4GBlAjtcuoZ7Pnxj8dlA",
    "type": "ContentType",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdAt": "2026-06-14T17:04:46.846Z",
    "updatedAt": "2026-06-17T03:13:49.943Z",
    "revision": 7
  },
  "name": "상품",
  "displayField": "productName",
  "fields": [
    { "id": "5n06s7ocmwdi", "name": "상품명", "apiName": "productName", "type": "ShortText", "localized": true, "required": true, "validations": [], "disabled": false },
    { "id": "1gecyz8g4llwf", "name": "가격", "apiName": "price", "type": "Long", "localized": false, "required": false, "validations": [], "disabled": false },
    { "id": "3ow4popgz54zg", "name": "상세 설명", "apiName": "description", "type": "RichText", "localized": true, "required": false, "validations": [], "disabled": false },
    { "id": "2alxdptmdub1s", "name": "대표 사진", "apiName": "photo", "type": "Refer", "localized": false, "required": false, "validations": [], "disabled": false, "targetType": "Media" },
    {
      "id": "2a80lehazfx3t",
      "name": "브랜드",
      "apiName": "brand",
      "type": "Refer",
      "localized": false,
      "required": false,
      "validations": [
        { "referContentType": [ { "sys": { "id": "3trmXRM3RqbgSnifyg7OveRYWnJWEG", "type": "Refer", "targetType": "ContentType" } } ] }
      ],
      "disabled": false,
      "targetType": "Content"
    }
  ],
  "publishWithAuthor": false
}

주요 키:

  • sys.id: Content Type의 고유 식별자입니다. 단일 조회 경로의 {contentTypeId}에 들어갑니다.
  • sys.revision: 공개된 시점의 버전입니다. CDA는 관리용 version을 담지 않으므로, 발행 버전을 가리키는 값은 revision 하나입니다.
  • name: Content Type의 이름입니다(예: 상품).
  • displayField: 콘텐츠 스튜디오 목록에서 각 Content를 대표해 보여 줄 필드의 apiName입니다(예: productName).
  • publishWithAuthor: Content 발행 시 작성자 정보를 함께 담을지 여부입니다(예시는 false).
  • fields: 이 틀이 정의하는 필드 목록입니다. 각 항목의 구조는 아래 필드에서 설명합니다.

시스템 속성 (sys)

발행 Content Typesys는 발행 스냅샷용 속성만 담습니다. space, createdBy, updatedByRefer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.

속성타입설명
idstring리소스 고유 식별자.
typestring리소스 종류. Content Type은 항상 "ContentType".
spaceRefer<Space>Content Type이 속한 Space.
createdAtstring (date-time)생성 시각.
updatedAtstring (date-time)마지막 수정 시각.
revisioninteger공개된 시점의 버전. 발행할 때마다 그 시점의 버전이 여기 담깁니다.
createdByRefer<User>생성한 사용자. Content TypepublishWithAuthor가 켜졌을 때만 포함됩니다.
updatedByRefer<User>마지막으로 수정한 사용자. publishWithAuthor가 켜졌을 때만 포함됩니다.

발행 스냅샷이므로 CMA의 sys에 있는 version·status·publish·archive는 담기지 않습니다. 발행 버전을 가리키는 값은 revision 하나뿐입니다.

필드

fields는 이 Content Type이 정의하는 필드의 목록입니다. 각 항목은 다음 구조(FieldDefinition)를 가집니다.

타입설명
idstring필드의 고유 식별자.
namestring콘텐츠 스튜디오에 표시되는 필드 이름(예: 상품명).
apiNamestringAPI에서 이 필드를 가리키는 키. 발행 Contentfields에서도 이 키로 값을 읽습니다.
typestring (enum)필드의 타입. 아래 필드 종류 (type) 참조.
localizedboolean다국어 값을 가질 수 있는지 여부.
requiredboolean필수 입력 여부.
validationsarray값에 적용된 유효성 규칙 목록. 규칙이 없으면 빈 배열 [].
disabledboolean비활성화 여부.
targetTypestring (enum)typeRefer일 때만. 참조 대상이 Content인지 Media인지.
itemsobjecttypeArray일 때만. 배열 원소의 정의(Refer 원소 또는 ShortText 원소).

필드 종류 (type)

type은 값이 저장·조회되는 방식을 결정합니다. 일부 타입은 검색 동작이 다릅니다.

type의미비고
ShortText짧은 단일 줄 텍스트.정확 키워드 조회에 적합.
LongText긴 본문 텍스트.전문(full-text) 유사도 검색을 지원.
RichText서식이 있는 본문.검색 대상이 아니며 서식 표현용.
Long정수.예: 가격 price.
Number실수(소수 포함).
Boolean참/거짓.
Date날짜·시각.
Json임의 JSON 구조.
Location위치(좌표).
Refer다른 리소스를 가리키는 참조.targetType으로 Content 또는 Media를 지정.
Array여러 값을 담는 배열.items로 원소 정의를 동반.

"상품" 예시에서 상품명ShortText, 가격Long, 상세 설명RichText, 대표 사진Refer(targetType: Media), 브랜드Refer(targetType: Content)입니다. 브랜드 필드는 validationsreferContentType로 특정 Content Type(여기서는 "브랜드", sys.id3trmXRM3RqbgSnifyg7OveRYWnJWEG)의 Content만 참조하도록 제한합니다.

validations에 쓸 수 있는 유효성 규칙의 전체 키 카탈로그는 CMA Content Type에 정리되어 있습니다. CDA가 전달하는 발행 스냅샷도 같은 구조를 그대로 담습니다.

API

아래 두 엔드포인트의 기준 URL은 https://cda.weegloo.com/v1이며, Authorization 헤더에 CDA를 인증하는 Bearer 토큰이 필요합니다. Content Type은 틀(스키마)이라 언어를 고를 대상이 아니므로, Content 조회와 달리 locale 쿼리 파라미터를 받지 않습니다.