Delivery API
Baca halaman, entri, global, rute, dan pengalihan yang terbit dari Atlas, dan laporkan build situs web Anda.
Halaman ini diterjemahkan dari bahasa Inggris. Jika ada perbedaan, versi bahasa Inggris yang berlaku. Baca dalam bahasa Inggris
Delivery API adalah cara situs web Anda membaca konten terbit. Panggil hanya dari kode server.
URL dasar dan autentikasi
Section titled “URL dasar dan autentikasi”https://<delivery host>/v1/delivery/environments/{environmentId}Authorization: PublishedConsumer <delivery token>- Setiap token milik satu lingkungan. Development dan Production memiliki token terpisah.
- Token terdiri dari 43 karakter acak, ditampilkan satu kali, berlaku 1 hingga 365 hari, dan dapat dicabut kapan saja di Studio. Atlas hanya menyimpan sidik jari.
- Token Production hanya membaca rilis live lingkungan tersebut.
Caching
Section titled “Caching”Respons terbit membawa:
Cache-Control: public, max-age=0, s-maxage=60, stale-while-revalidate=300ETag: W/"…"X-Atlas-Content-Version: …Vary: Authorization, Accept-EncodingKirim If-None-Match dengan ETag terakhir; Atlas menjawab 304 Not Modified ketika tidak ada yang berubah. Gabungkan ini dengan webhook untuk menyegarkan saat penerbitan. Respons pratinjau dan deployment bersifat private, no-store.
Endpoint
Section titled “Endpoint”GET /site
Section titled “GET /site”Lingkungan, rilis live-nya (Production), versi konten, serta digest dan versi kontrak aktif.
GET /routes
Section titled “GET /routes”Setiap rute terbit, untuk sitemap dan pembuatan statis Anda: route, pageType, entryId, title, lastModified, noindex, locales. Hingga 5.000 rute.
GET /pages?route=/about&locale=en
Section titled “GET /pages?route=/about&locale=en”Satu halaman terbit.
| Bidang | Isi |
|---|---|
page |
id, route, title, pageType, publishedAt, entryId |
document |
pageType, pageFields, dan regions: setiap region adalah daftar seksi berurutan |
document.regions[key][n] |
id, component { id, version }, props, hidden |
entry |
Entri yang terikat pada halaman, jika tipe halamannya memilikinya |
seo |
title, description, noindex, structuredDataType, canonicalPath, faq |
head |
title, meta[], links[], dan jsonLd[] yang siap dicetak, atau null beserta headProblem |
assets |
Setiap gambar yang dipakai halaman, berdasarkan id aset: url, renditions, alt, focalPoint |
locale, direction, translation, alternates |
Bahasa respons, ltr/rtl, apakah terjemahan tidak ada, dan locale lainnya |
etag |
ETag revisi |
404 ketika tidak ada yang terbit pada rute tersebut. Lewati seksi yang hidden-nya true. Lihat Pencarian dan jawaban AI untuk cara memakai head.
GET /preview/pages?token=…&locale=en
Section titled “GET /preview/pages?token=…&locale=en”Halaman draf untuk tautan pratinjau. Hanya Development (404 di Production). Jangan pernah di-cache. 403 PREVIEW_INVALID untuk token yang buruk, 410 PREVIEW_EXPIRED setelah 15 menit.
GET /entries?collection=projects
Section titled “GET /entries?collection=projects”Entri dari sebuah koleksi.
| Parameter | Contoh | Catatan |
|---|---|---|
collection |
projects |
Wajib |
locale |
ar |
|
filter |
category:water,featured:true |
Pasangan field:value, dipisahkan koma |
sort |
-publishedAt, title, slug, featured, field.year |
Awalan - untuk urutan menurun |
fields |
title,slug,image |
Kembalikan hanya bidang ini |
limit |
20 |
Hingga 100. Selalu atur; tanpa ini respons bisa berukuran besar |
page |
2 |
Mengembalikan entries, assets, dan meta.pagination.
GET /feed?collection=news&limit=20
Section titled “GET /feed?collection=news&limit=20”Entri terbaru dari koleksi editorial, untuk RSS dan daftar berita. 404 FEED_NOT_EDITORIAL untuk koleksi lainnya.
GET /globals?locale=en
Section titled “GET /globals?locale=en”Konten bersama seperti site-header dan site-footer: { globals: { key: { data, revision, publishedAt } }, assets }.
GET /redirects
Section titled “GET /redirects”{ redirects: [{ from, to, status }] }. Terapkan di middleware Anda atau redirect next.config.
GET /media/{assetId}?rendition=…
Section titled “GET /media/{assetId}?rendition=…”Mengalihkan (302) ke URL gambar bertanda tangan yang berlaku 15 menit. Tidak memerlukan token, sehingga dapat dipakai di <img src>.
GET /sitemap.xml, GET /robots.txt, GET /llms.txt
Section titled “GET /sitemap.xml, GET /robots.txt, GET /llms.txt”File untuk root situs Anda, dibangun dari rilis live (Production) atau dikunci (Development: sitemap kosong, Disallow: /, X-Robots-Tag: noindex, nofollow). Proksikan dari domain Anda sendiri agar token tetap berada di server Anda; lihat Pencarian dan jawaban AI. 409 SITE_ADDRESS_MISSING sampai lingkungan memiliki alamat situs web.
Laporkan deployment
Section titled “Laporkan deployment”POST /deployments, dipanggil situs web Anda saat start:
{ "bundleDigest": "<sha256 hex of the contract bundle this build renders>", "bundleVersion": "1.4.0", "commit": "a1b2c3d", "components": [{ "id": "acme.home.hero", "version": "1.0.0" }], "runtime": "node", "siteOrigin": "https://dev.example.com"}state dalam respons adalah in-sync, missing-components, different-contract, unknown-contract, atau no-contract, beserta digest aktif dan komponen yang hilang. runtime adalah node atau cloudflare-workers. Hingga 500 komponen.
Galat berupa JSON dengan code yang stabil. Lihat Batas dan galat.