Ir al contenido
API de entrega
Antes de planificar en torno a una función, consulte el estado de las capacidades.

Referencia

Contrato del sitio

El paquete JSON que describe los componentes, tipos de página, colecciones, globales, perfiles de medios y tokens de diseño de su sitio web.

Esta página fue traducida del inglés. Si hay alguna diferencia, prevalece la versión en inglés. Leer en inglés

El contrato del sitio es el acuerdo entre el código de su sitio web y Atlas. Enumera lo que existe en su sitio y lo que los editores pueden cambiar. No contiene código ejecutable: solo descripciones y campos tipados.

Manténgalo en su repositorio (por ejemplo atlas/contract.bundle.json) y versiónelo junto con su código.

  1. Un desarrollador, o un agente de IA mediante MCP, valida el paquete y lo propone.
  2. Un administrador del sitio lo revisa y lo activa (o lo rechaza) en Studio, en Site setup.
  3. Su sitio web informa del digest del paquete que renderiza (POST /deployments). Studio muestra si el código y el contrato están sincronizados (in sync).

El digest es un hash SHA-256 del JSON canónico del paquete, por lo que el paquete de su repositorio debe coincidir exactamente con el que propuso.

Clave Contenido
contractVersion Siempre 1.0.0 para este formato
bundleVersion Su propia versión de este paquete, como 1.4.0
site key, displayName, runtimes (node, cloudflare-workers), locales (predeterminada, admitidas, de derecha a izquierda), staticRoutes que posee su código
tokens Colores, estilos tipográficos y espaciado entre los que pueden elegir los editores
motion Ajustes preestablecidos de animación con nombre que implementa su código, con comportamiento para movimiento reducido
mediaProfiles Tamaños, proporciones y variantes de imagen permitidos
components Hasta 300 componentes, cada uno con un id cualificado, versión, tipo y campos
collections Tipos de contenido repetitivo, con campos, campos de título y de slug, y reglas de unicidad
pageTypes Hasta 100 tipos de página: patrón de ruta, colección vinculada opcional, regiones y reglas de SEO
globals Contenido compartido como site-header y 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"]
}
]
}

Las regiones deciden qué pueden hacer los editores: las secciones pueden ser required, default u optional; las regiones pueden estar bloqueadas o ser reordenables, con un número mínimo y máximo de secciones y una lista de componentes insertables. Los campos pueden vincularse (bind) a la entrada de la página, de modo que se cree una página por producto o sector a partir de la colección.

Tipo Uso Límites
text Texto breve de una sola línea hasta 500 caracteres
longText Párrafos, sin formato hasta 10.000 caracteres
richText Texto con formato, perfil basic o article Estructurado, nunca HTML sin procesar
number Números con intervalo opcional
boolean Activado/desactivado
select Una opción de una lista fija hasta 100 opciones
date Una fecha
link Ruta interna o, si se permite, una URL externa
asset Imagen(es) en un perfil de medios hasta 50 por campo
reference Vínculo a entradas de una colección hasta 200 por campo
list Grupo repetitivo de campos hasta 200 elementos, 40 campos cada uno
group Campos agrupados hasta 40 campos
table Filas y columnas tipadas hasta 12 columnas, 200 filas
token Uno de sus tokens de diseño (color, estilo tipográfico, espaciado)
icon Uno de un conjunto de iconos con nombre que aporta su código hasta 200 opciones

Los campos pueden marcarse como required y localized. Un componente o una colección puede tener hasta 80 campos.