Pular para o conteúdo
Delivery API
Antes de planejar em torno de um recurso, confira o status dos recursos.

Referência

Contrato do site

O bundle JSON que descreve os componentes, tipos de página, coleções, globais, perfis de mídia e design tokens do seu site.

Esta página foi traduzida do inglês. Se houver qualquer diferença, vale a versão em inglês. Ler em inglês

O contrato do site é o acordo entre o código do seu site e o Atlas. Ele lista o que existe no seu site e o que os editores podem alterar. Ele não contém código executável: apenas descrições e campos tipados.

Mantenha-o no seu repositório (por exemplo atlas/contract.bundle.json) e versione-o junto com o seu código.

  1. Um desenvolvedor, ou um agente de IA por MCP, valida o bundle e o propõe.
  2. Um administrador do site revisa e ativa (ou rejeita) o bundle no Studio, em Site setup.
  3. Seu site informa o digest do bundle que renderiza (POST /deployments). O Studio mostra se código e contrato estão in sync.

O digest é um hash SHA-256 do JSON canônico do bundle, então o bundle no seu repositório deve ser exatamente igual ao que você propôs.

Chave Conteúdo
contractVersion Sempre 1.0.0 para este formato
bundleVersion Sua própria versão deste bundle, como 1.4.0
site key, displayName, runtimes (node, cloudflare-workers), locales (padrão, compatíveis, da direita para a esquerda), staticRoutes que o seu código controla
tokens Cores, estilos de texto e espaçamento entre os quais os editores podem escolher
motion Presets de animação nomeados que o seu código implementa, com o comportamento para movimento reduzido
mediaProfiles Tamanhos, proporções e renditions de imagem permitidos
components Até 300 componentes, cada um com id qualificado, versão, tipo e campos
collections Tipos de conteúdo repetitivo, com campos, campos de título e de slug e regras de unicidade
pageTypes Até 100 tipos de página: padrão de rota, coleção vinculada opcional, regiões e regras de SEO
globals Conteúdo compartilhado, como site-header e 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"]
}
]
}

As regiões definem o que os editores podem fazer: as seções podem ser obrigatórias (required), padrão (default) ou opcionais (optional); as regiões podem ser bloqueadas ou reordenáveis, com um número mínimo e máximo de seções e uma lista de componentes que podem ser inseridos. Os campos podem ser vinculados à entrada da página, de modo que uma página por produto ou setor é criada a partir da coleção.

Tipo Uso Limites
text Texto curto de uma linha até 500 caracteres
longText Parágrafos, sem formatação até 10.000 caracteres
richText Texto formatado, perfil basic ou article Estruturado, nunca HTML bruto
number Números com intervalo opcional
boolean Ligado/desligado
select Uma opção de uma lista fixa até 100 opções
date Uma data
link Rota interna ou, se permitido, uma URL externa
asset Imagem(ns) em um perfil de mídia até 50 por campo
reference Link para entradas de uma coleção até 200 por campo
list Grupo de campos repetitivo até 200 itens, 40 campos cada
group Campos agrupados até 40 campos
table Linhas e colunas tipadas até 12 colunas, 200 linhas
token Um dos seus design tokens (cor, estilo de texto, espaçamento)
icon Um conjunto de ícones nomeados que o seu código fornece até 200 opções

Os campos podem ser marcados como required e localized. Um componente ou coleção pode ter até 80 campos.