Content

Terakhir diperbarui: 3 Juli 2026

CDA (Content Delivery API) adalah API hanya-baca yang mengantarkan resource yang sudah dipublikasikan kepada pengunjung publik. Halaman ini membahas cara mengambil Content yang sudah dipublikasikan, yaitu setiap data nyata yang dibuat mengikuti cetakan bernama Content Type. CDA mengantarkan snapshot pada saat publikasi, sehingga salinan kerja yang belum dipublikasikan di studio konten tidak muncul di sini.

CDA hanya memiliki endpoint pengambilan (GET), sedangkan pekerjaan membuat, mengubah, dan mempublikasikan Content ditangani oleh CMA Content. Untuk perilaku umum CDA seperti autentikasi dan model pengantaran publikasi (snapshot publikasi, revision, hanya yang dipublikasikan yang terlihat, paparan penulis bergantung pada publishWithAuthor), lihat Ikhtisar CDA. Cara menentukan bahasa yang diterima dengan locale dibahas di locale dan fields di bawah.

Struktur resource

Berikut adalah bentuk yang diantarkan CDA ketika satu Content yang dipublikasikan dari Space demo (produk "스테인리스 텀블러 500ml") diambil sebagai pengambilan tunggal dengan locale=ko-KR. Bersama sys (properti sistem), terdapat fields yang berisi nilai field dari Content Type yang diikuti Content ini.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7OGhwhlqvAvq",
    "type": "Content",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "contentType": { "sys": { "id": "3trmXRLdJF4GBlAjtcuoZ7Pnxj8dlA", "type": "Refer", "targetType": "ContentType" } },
    "createdAt": "2026-06-15T15:16:12.151Z",
    "updatedAt": "2026-06-16T14:31:20.073Z",
    "revision": 3
  },
  "fields": {
    "price": 18000,
    "description": "이중 진공 단열로 보온·보냉이 오래갑니다. 500ml 대용량.",
    "photo": null,
    "productName": "스테인리스 텀블러 500ml"
  }
}

Kunci utama:

  • sys.id: Pengenal unik Content. Diisikan ke {contentId} pada path pengambilan tunggal.
  • sys.contentType: Refer yang menunjuk ke Content Type (cetakan) yang diikuti Content ini. sys.id adalah pengenal Content Type tersebut, dan field apa saja yang dimilikinya dapat dibaca di CDA Content Type.
  • sys.revision: Versi pada saat dipublikasikan. CDA tidak menyertakan version untuk pengelolaan, jadi satu-satunya nilai yang menunjuk versi publikasi adalah revision.
  • fields: Objek yang berkunci apiName setiap field dari Content Type. Nilainya adalah satu nilai dari locale yang diminta (bukan peta locale). photo pada contoh di atas bernilai null karena tidak ada Media yang tertaut.

Properti sistem (sys)

sys pada Content yang dipublikasikan hanya berisi properti untuk snapshot publikasi. space, contentType, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropertiTipeDeskripsi
idstringPengenal unik resource.
typestringJenis resource. Content selalu "Content".
spaceRefer<Space>Space tempat Content ini berada.
contentTypeRefer<ContentType>Content Type (cetakan) yang diikuti Content ini.
createdAtstring (date-time)Waktu pembuatan.
updatedAtstring (date-time)Waktu perubahan terakhir.
revisionintegerVersi pada saat dipublikasikan. Setiap kali dipublikasikan, versi pada saat itu disimpan di sini.
createdByRefer<User>Pengguna yang membuat. Hanya disertakan ketika publishWithAuthor dari Content Type yang diikuti Content ini aktif.
updatedByRefer<User>Pengguna yang terakhir mengubah. Hanya disertakan ketika publishWithAuthor aktif.

Karena ini adalah snapshot publikasi, version, status, publish, dan archive yang ada pada sys di CMA tidak disertakan. Satu-satunya nilai yang menunjuk versi publikasi adalah revision.

locale dan fields

Parameter kueri locale menentukan dalam bahasa apa data diterima. Berlaku tiga cara.

  • Jika Anda memberikan kode seperti locale=ko-KR, fields dikembalikan sebagai satu nilai dari locale tersebut. Berbeda dengan CMA yang mengembalikan peta berisi semua nilai per locale seperti fields.productName.ko-KR, CDA memilih satu nilai dari locale yang diminta dan langsung memasukkannya ke fields.productName. Jika tidak ada nilai dan Fallback pun tidak terjangkau, field tersebut bernilai null (photo yang null pada Struktur resource di atas disebabkan karena tidak ada Media yang tertaut).
  • Jika locale diabaikan, data dikembalikan dengan cara yang sama menggunakan Locale default dari Space.
  • Jika diberikan locale=*, alih-alih memilih satu bahasa, data dikembalikan apa adanya sebagai peta berisi semua nilai per locale (fields.productName.ko-KR) seperti CMA.

Ketika menerima satu bahasa melalui kode atau dengan mengabaikan parameter, respons menyertakan header x-weegloo-locale yang memberi tahu locale yang sebenarnya digunakan (tidak disertakan ketika locale=*). Pemilihan nilai locale dan aturan Fallback dibahas di Multibahasa (konsep).

API

Base URL keempat endpoint di bawah adalah https://cda.weegloo.com/v1, dan header Authorization memerlukan token Bearer yang mengautentikasi CDA. Keempat endpoint menerima parameter kueri locale (lihat locale dan fields di atas). Dua endpoint pertama menyasar seluruh Content yang dipublikasikan dalam Space, sedangkan dua endpoint terakhir hanya menyasar Content yang termasuk dalam Content Type tertentu.

Saat memfilter atau mengurutkan dua endpoint pertama (daftar datar seluruh Content yang dipublikasikan dalam Space) dengan fields.*, Content Type juga harus ditentukan dengan sys.contentType.sys.id={contentTypeId}. Bentuk contentType={contentTypeId} tidak dapat menggantikannya. Dua endpoint terakhir sudah mencantumkan Content Type pada path, sehingga tidak perlu ditentukan secara terpisah.