CDA (Content Delivery API)

Terakhir diperbarui: 3 Juli 2026

CDA (Content Delivery API) adalah API baca-saja yang mengirimkan Content, Media yang sudah dipublikasikan dan sejenisnya kepada pengunjung. Ketika pihak yang mengelola Space membuat dan mempublikasikan konten lewat studio konten atau CMA, situs web, aplikasi membaca hasil publikasi itu melalui CDA dan menampilkannya di layar. Pembuatan, penyuntingan, publikasi ditangani oleh CMA, bukan CDA.

Base URL-nya adalah https://cda.weegloo.com/v1. Untuk autentikasi biasanya digunakan DeliveryAccessToken yang least-privilege. Token ini hanya memiliki cakupan yang diperlukan agar aman untuk pengiriman ke browser publik. Pembacaan juga bisa dilakukan dengan token Weegloo User Bearer, tetapi karena izinnya berlebihan untuk distribusi ke browser, DeliveryAccessToken lebih disarankan.

Perilaku umum

Berikut ini berlaku untuk seluruh resource CDA. Setiap halaman resource mengasumsikan perilaku ini dan hanya membahas isi khasnya sendiri.

  • Baca-saja. Semua endpoint adalah pembacaan (GET). Penulisan, publikasi adalah wewenang CMA.

  • Hanya yang sudah dipublikasikan yang terlihat. Content, Media, Content Type hanya dikirim sebagai snapshot yang sudah dipublikasikan. Draft di CMA atau perubahan yang belum dipublikasikan tidak muncul di CDA.

  • sys snapshot publikasi. Pada sys ketiga resource di atas tidak ada version, status, publish untuk manajemen, melainkan hanya revision yang menunjuk ke versi pada saat dipublikasikan. (Locale bukan target publikasi melainkan resource pengaturan, sehingga tetap memiliki version.)

  • Pilih bahasa dengan locale. Pembacaan Content, Media menentukan dalam bahasa mana data diterima lewat query parameter locale. Bekerja dalam tiga cara.

    • Jika diberi kode seperti locale=ko-KR, fields dikembalikan sebagai satu nilai dari locale tersebut (bukan peta locale). Jika nilainya tidak ada dan Fallback pun tidak terjangkau, field tersebut kosong atau null.
    • Jika dihilangkan, dikembalikan dengan cara yang sama menggunakan Locale default dari Space.
    • Jika diberi locale=*, tidak dipilih satu bahasa, melainkan dikembalikan apa adanya sebagai peta yang memuat semua nilai locale ({ apiName: { locale: value } }).

    Pada dua kasus pertama yang menerima satu bahasa, respons menyertakan header x-weegloo-locale yang memberi tahu locale yang sebenarnya dipakai (saat locale=* header ini tidak disertakan). (Content Type adalah skema kerangka sehingga tidak menerima locale, dan Sync tidak memilih bahasa melainkan mengirim peta locale apa adanya.)

  • Pemaparan pembuat. createdBy, updatedBy dari Content hanya dikirim ketika publishWithAuthor pada Content Type tersebut diaktifkan. Media selalu menghilangkan informasi pembuat.

Resource

  • Content Type: Membaca Content Type yang sudah dipublikasikan (kerangka konten dan definisi field).
  • Content: Membaca Content yang sudah dipublikasikan secara seluruh daftar, tunggal, per Content Type.
  • Media: Membaca Media (aset file) yang sudah dipublikasikan beserta URL pengirimannya.
  • Locale: Membaca pengaturan bahasa yang didukung Space (code, status default, fallbackCode). Karena merupakan resource pengaturan, ia memiliki version pada sys.
  • Sync: Sinkronisasi inkremental yang hanya mengambil yang berubah dan terhapus sejak sinkronisasi terakhir. Nilai dikirim apa adanya sebagai peta locale dan tidak dipilih dalam satu bahasa.
  • CMA Content Type: API manajemen untuk membuat, menyunting, dan mempublikasikan kerangka konten serta konten.
  • ACDA: Versi yang melakukan pengiriman yang sama dengan identitas anggota (ServiceUser).