Menghubungkan dengan Layanan

Pada langkah sebelumnya, Anda sudah membuat data postingan. Sekarang saatnya menampilkan data ini kepada pengguna sesungguhnya. WEEGLOO berperan menyimpan dan mengelola data, sehingga lewat layanan seperti apa data itu ditampilkan sepenuhnya menjadi pilihan pembuatnya. Anda bisa membuatnya sebagai aplikasi web, memperluasnya menjadi aplikasi seluler, atau menyediakan keduanya sekaligus. Intinya, Anda dapat mengambil data melalui RESTful API yang disediakan WEEGLOO dan menggunakannya dalam bentuk apa pun yang Anda inginkan.

Pada contoh kali ini, kita akan membuat Tech Blog sebagai situs web. Pengunjung dapat melihat postingan melalui peramban web, dan kita yang menyusun tampilan (Front-end) tersebut. Berkas web statis yang dibuat seperti ini dapat dipublikasikan dengan fitur Web Hosting milik WEEGLOO.

Aplikasi seluler pun terhubung ke backend yang sama tanpa perubahan. Menyimpan data, menerima anggota, dan menampilkan hanya milik masing-masing orang tidaklah berbeda, baik di web maupun di aplikasi. Contoh jadi tempat aplikasi dan web memakai satu backend bersama-sama dapat Anda lihat dari awal sampai akhir di Layanan Pelacak Lari.

Menerbitkan Token Hanya-Baca

Untuk memanggil WEEGLOO API, Anda memerlukan Access Token untuk autentikasi. Pada contoh ini kita menggunakan Delivery Access Token, yaitu token hanya-baca yang berfungsi menampilkan postingan kepada pengunjung, dan CDA (Content Delivery API), yaitu API yang mengantarkan konten yang sudah diterbitkan.

Sebelum membuat token, Anda harus menetapkan lebih dulu data apa saja yang dapat diakses token itu melalui SpaceRole. Demi keamanan, kita membuat SpaceRole yang hanya memberikan izin baca terhadap Article Content Type yang dibuat sebelumnya. Dengan begitu, token tidak dapat melakukan apa pun selain membaca postingan.

  1. Pada menu kiri, klik Roles & Permissions.
  2. Klik Create lalu masukkan nama peran. Contoh: Article Read-Only.
  3. Pada Article, izinkan hanya Read untuk Content dan Content Type. Jangan aktifkan izin lainnya.
  4. Simpan dengan Save.

Layar pengaturan SpaceRole yang hanya memberikan izin baca pada Article

Penjelasan lengkap tentang pengaturan SpaceRole dibahas di Peran dan Izin.

Sekarang kita membuat Delivery Access Token yang memiliki SpaceRole ini.

  1. Pada menu kiri, klik Delivery Access Tokens.
  2. Klik Create di kanan atas daftar. Layar Create Delivery Access Token akan terbuka.
  3. Masukkan Tech Blog Web di kolom Name.
  4. Pada SpaceRole, pilih Article Read-Only yang dibuat sebelumnya.
  5. Biarkan Allowed referrers tetap pada nilai awal, yaitu No restriction. Jika Anda menuliskan alamat ke dalam daftar itu, hanya permintaan yang berasal dari alamat tersebut yang diteruskan, sehingga nanti setelah alamat situs Tech Blog ditentukan, Anda bisa mempersempit token ini agar hanya dipakai di situs itu.
  6. Klik tombol Create di kanan atas layar untuk menerbitkan token.

Layar Create Delivery Access Token. Kolom Name berisi "Tech Blog Web", SpaceRole dipilih "Article Read-Only", Allowed referrers bernilai "No restriction", dan tombol Create ada di kanan atas

Setelah penerbitan selesai, Anda akan dibawa ke layar detail token itu. Nilai token ada di kolom Token pada Basic information, dan menekan tombol salin di sisi kiri kolom akan menyalin nilai tersebut. Jika Anda masuk kembali ke layar ini, nilai itu bisa disalin lagi kapan saja. Hanya saja, nilai ini bersifat rahasia, jadi simpanlah di tempat yang aman. Nilai ini dapat terekspos hingga ke peramban pengunjung, jadi penting untuk mempersempit cakupan token dengan SpaceRole hanya-baca seperti di atas.

Penjelasan lengkap tentang Delivery Access Token dan pengaturan Allowed referrers dibahas di Token.

Mengambil Data Postingan

Sekarang kita benar-benar memanggil API untuk mengambil postingan. Autentikasi dilakukan pada header Authorization dengan metode Bearer, memasukkan nilai Delivery Access Token yang dibuat sebelumnya.

Authorization: Bearer <Delivery Access Token>
APIMethodPathParams
CDAGET/v1/spaces/{spaceId}/content-types/{contentTypeId}/contents?order=-sys.createdAt,sys.id

API ini mengambil daftar Article Content di dalam Space tertentu. Opsi order menerapkan pengurutan dari yang terbaru, dan dengan opsi include Anda dapat sekaligus mengambil data yang tertaut.

Pada pemanggilan pertama, mungkin tidak ada data sama sekali yang muncul. Itu karena Content yang dibuat belum diterbitkan (Publish). WEEGLOO menyediakan tahap penerbitan untuk membedakan data yang sedang ditulis dengan data yang akan ditampilkan kepada pengunjung. Setelah Content diterbitkan, panggil kembali API dan postingan akan muncul.

{
    "sys": { "type": "TotalPageResponse" },
    "limit": 15,
    "totalCount": 1,
    "items": [
        {
            "sys": {
                "id": "3trmXRkRjC1x4J9h2om4Qh41o7sejd",
                "type": "Content",
                "space": { "sys": { "id": "ep8f7qJY", "type": "Refer", "targetType": "Space" } },
                "contentType": { "sys": { "id": "3trmXRkRjC1x4J9h2om4QZv0jC58Nv", "type": "Refer", "targetType": "ContentType" } },
                "createdAt": "2026-06-21T15:38:22.630Z",
                "updatedAt": "2026-06-21T15:38:22.630Z",
                "revision": 1
            },
            "fields": {
                "title": "Building a Headless Blog with WEEGLOO",
                "body": "WEEGLOO lets you define your content structure once and deliver it anywhere through a REST API. In this post we model an Article, write our first entry, and fetch it from a web app, with no backend server to build or maintain.",
                "category": "Web"
            }
        }
    ],
    "links": {
        "self": "/v1/spaces/ep8f7qJY/content-types/3trmXRkRjC1x4J9h2om4QZv0jC58Nv/contents?order=-sys.createdAt,sys.id"
    }
}

Cara penggunaan API yang lebih rinci beserta opsinya dibahas di Referensi API.

Dukungan Multibahasa

Melangkah satu tahap lebih jauh, kita akan menyediakan postingan dalam beberapa bahasa. WEEGLOO menyediakan fitur Locale agar satu konten dapat dikelola dalam beberapa bahasa.

Pertama, tambahkan bahasa baru pada pengaturan Locale. Di sini kita menambahkan Korean, dan menetapkan English sebagai bahasa Fallback yang ditampilkan saat tidak ada nilai. Fallback adalah bahasa yang ditampilkan sebagai pengganti ketika suatu bahasa tidak memiliki nilai.

Selanjutnya, buka Content yang dibuat sebelumnya, dan Anda akan melihat bahwa setiap Field kini memiliki kolom untuk memasukkan nilai per bahasa. Dengan cara ini, isi postingan yang sama dikelola secara terpisah per bahasa. Namun, untuk menggunakan fitur ini, Anda harus lebih dulu mengaktifkan opsi multibahasa pada Field terkait di Content Type.

Tampilan kolom masukan bahasa Inggris (en-US) dan bahasa Korea (ko-KR) yang muncul bersama pada Field postingan

Penjelasan lengkap tentang dukungan multibahasa dibahas di Pengelolaan Multibahasa.

Dengan cara ini Anda dapat membuat layanan web yang mendukung beberapa bahasa dari satu struktur data. Karena pengambilan konten dasar hingga penanganan multibahasa sudah selesai, pada langkah berikutnya kita akan menelusuri fitur kolaborasi tempat banyak orang menulis dan mengelola konten bersama-sama.

  • Berkolaborasi: Mengundang banyak orang ke Space dan membagi peran untuk mengelola konten bersama-sama.