Estructura Técnica JSON (Avanzado)

Manual técnico detallado sobre el formato JSON para crear y exportar temas personalizados.

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)

CampoTipoDescripción
namestringNombre identificador del tema.
theme_configobjectConfiguración visual global (fuentes, colores).
global_settingsobjectDatos compartidos por todas las páginas.
pagesarrayLista 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: logo y favicon (URLs de imágenes).
  • contact: email, phone, address y whatsapp.
  • menu: Un array de objetos con label y link para la navegación superior.
  • footer: Contiene about_text, copyright y columns (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.
¿Te fue útil este artículo?