Estructura Técnica JSON (Manual del Desarrollador)
El Website Builder de Brokar utiliza una estructura JSON estandarizada para definir templates, exportar sitios y configurar temas personalizados. Esta guía detalla cada objeto y su función.
1. Objeto Principal (Root)
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre identificador del tema. |
theme_config | object | Configuración visual global (fuentes, colores). |
global_settings | object | Datos compartidos por todas las páginas. |
pages | array | Lista de objetos de página que componen el sitio. |
2. Configuración del Tema (theme_config)
Define la identidad visual base del sitio.
font_heading: Fuente para títulos (ej: "\'Playfair Display\', serif").font_body: Fuente para textos (ej: "\'Inter\', sans-serif").accent_color: Color principal de la marca en representación Hexadecimal.
3. Ajustes Globales (global_settings)
Este objeto contiene sub-objetos críticos:
- branding:
logoyfavicon(URLs de imágenes). - contact:
email,phone,addressywhatsapp. - menu: Un array de objetos con
labelylinkpara la navegación superior. - footer: Contiene
about_text,copyrightycolumns(estructura de enlaces del pie).
4. Estructura de Páginas y Bloques
Cada página tiene un array de blocks. Un bloque se define por:
{
"type": "hero",
"data": {
"title": "Bienvenido",
"image": "https://..."
},
"_uid": "unique_id_123"
}
Tipos de Bloques: hero, property-grid, gallery, features, faq, cta-banner, contact-form, testimonials, map, agent-profile, text-content, mortgage-calculator, partners-carousel, newsletter.
5. Diccionario de Datos por Bloque
Dentro de "data": { ... }, cada bloque espera campos específicos:
- hero:
title,subtitle,image,button_text,button_link. - property-grid:
title,mode(recent/featured/custom),count(3, 6, 9),filter_city,filter_type. - text-content:
content(HTML o texto simple). - faq:
title,items(array de {question, answer}). - features:
title,items(array de {title, description, icon}). - testimonials:
title,items(array de {name, role, content, image}). - map:
title,lat,lng,zoom. - agent-profile:
agent_id(opcional),custom_name,custom_bio,custom_image,whatsapp.
Tip: Puedes exportar un sitio existente para usarlo como base (Blueprint) para un nuevo JSON.