Lewati ke konten
Delivery API
Sebelum Anda merencanakan berdasarkan sebuah fitur, periksa status kapabilitas.

Referensi

Kontrak situs

Bundel JSON yang mendeskripsikan komponen, tipe halaman, koleksi, global, profil media, dan token desain situs web Anda.

Halaman ini diterjemahkan dari bahasa Inggris. Jika ada perbedaan, versi bahasa Inggris yang berlaku. Baca dalam bahasa Inggris

Kontrak situs adalah kesepakatan antara kode situs web Anda dan Atlas. Kontrak mendaftar apa yang ada di situs Anda dan apa yang boleh diubah editor. Kontrak tidak berisi kode yang dapat dieksekusi: hanya deskripsi dan bidang bertipe.

Simpan di repositori Anda (misalnya atlas/contract.bundle.json) dan beri versi bersama kode Anda.

  1. Developer, atau agen AI melalui MCP, memvalidasi bundel dan mengusulkannya.
  2. Admin situs meninjau dan mengaktifkan (atau menolak) di Studio pada Site setup.
  3. Situs web Anda melaporkan digest bundel yang direndernya (POST /deployments). Studio menampilkan apakah kode dan kontrak sinkron.

Digest adalah hash SHA-256 dari JSON kanonis bundel, sehingga bundel di repositori Anda harus persis sama dengan yang Anda ajukan.

Kunci Isi
contractVersion Selalu 1.0.0 untuk format ini
bundleVersion Versi Anda sendiri untuk bundel ini, seperti 1.4.0
site key, displayName, runtimes (node, cloudflare-workers), locales (bawaan, didukung, kanan-ke-kiri), staticRoutes yang dimiliki kode Anda
tokens Warna, gaya tipografi, dan spasi yang boleh dipilih editor
motion Preset animasi bernama yang diimplementasikan kode Anda, beserta perilaku reduced-motion
mediaProfiles Ukuran, rasio, dan rendisi gambar yang diizinkan
components Hingga 300 komponen, masing-masing dengan id yang memenuhi syarat, versi, jenis, dan bidang
collections Tipe konten berulang, dengan bidang, bidang judul dan slug, serta aturan keunikan
pageTypes Hingga 100 tipe halaman: pola rute, koleksi terikat opsional, region, dan aturan SEO
globals Konten bersama seperti site-header dan site-footer
{
"id": "acme.home.hero",
"version": "1.0.0",
"kind": "section",
"label": "Home hero",
"fields": [
{ "key": "heading", "type": "text", "label": "Heading", "required": true, "maxLength": 80 },
{ "key": "intro", "type": "longText", "label": "Intro", "maxLength": 400 },
{ "key": "image", "type": "asset", "label": "Image", "profile": "hero" },
{ "key": "cta", "type": "link", "label": "Button" }
]
}
{
"key": "industry-landing",
"version": "1.0.0",
"label": "Industry landing",
"route": { "pattern": "/industries/{entry.slug}" },
"entry": { "collection": "industries", "mode": "one-page-per-entry" },
"regions": [
{
"key": "hero",
"reorder": "locked",
"sections": [
{
"key": "hero",
"component": { "id": "acme.industry.hero", "versionRange": "^1.0.0" },
"presence": "required",
"bind": { "headline": "entry.headline", "image": "entry.image" }
}
]
},
{
"key": "body",
"reorder": "within-region",
"min": 1,
"max": 20,
"insertable": ["acme.text", "acme.faq"]
}
]
}

Region menentukan apa yang dapat dilakukan editor: seksi dapat bersifat required, default, atau optional; region dapat dikunci atau dapat diurutkan ulang, dengan jumlah seksi minimum dan maksimum serta daftar komponen yang dapat disisipkan. Bidang dapat diikat ke entri halaman, sehingga satu halaman per produk atau industri dibuat dari koleksi.

Tipe Kegunaan Batas
text Teks satu baris pendek hingga 500 karakter
longText Paragraf, tanpa pemformatan hingga 10.000 karakter
richText Teks berformat, profil basic atau article Terstruktur, tidak pernah HTML mentah
number Angka dengan rentang opsional
boolean Aktif/nonaktif
select Satu dari daftar tetap hingga 100 opsi
date Sebuah tanggal
link Rute internal atau, jika diizinkan, URL eksternal
asset Gambar dalam sebuah profil media hingga 50 per bidang
reference Tautan ke entri sebuah koleksi hingga 200 per bidang
list Grup bidang berulang hingga 200 item, masing-masing 40 bidang
group Bidang yang dikelompokkan hingga 40 bidang
table Baris dan kolom bertipe hingga 12 kolom, 200 baris
token Salah satu token desain Anda (warna, gaya tipografi, spasi)
icon Salah satu set ikon bernama yang disediakan kode Anda hingga 200 opsi

Bidang dapat ditandai required dan localized. Sebuah komponen atau koleksi dapat memiliki hingga 80 bidang.