Ir al contenido

Tipos de sección

El comerciante arma las secciones desde un panel donde cada tipo tiene un nombre en castellano. La API las devuelve con un identificador en minúsculas y guiones bajos. Son la misma cosa con dos nombres, y esta tabla es la traducción.

En el paneltipo en el JSONToken de la claveDocumentación
Preguntas FrecuentesFAQfaqVer
Preguntas con imagenFAQ_WITH_IMAGEfaq_with_imageVer
Carrusel de imágenesIMAGE_CAROUSELimage_carouselVer
Carrusel de EspecificacionesSPECSspecsVer
FAQS de EspecificacionesSPECS_FAQspecs_faqVer
Banner Características TécnicasRICH_DESCRIPTIONrich_descriptionVer
Grid PromocionalGRID_PROMOCIONALgrid_promocionalVer
Call to Action BannerCALL_TO_ACTION_BANNERcall_to_action_bannerVer
Banner de Características ClaveKEY_FEATURES_BANNERkey_features_bannerVer
Banner PromocionalPROMO_MODALpromo_modalVer
Beneficios DestacadosFEATURED_BENEFITSfeatured_benefitsVer
Productos relacionadosRELATED_PRODUCTSrelated_productsVer
Video BannerVIDEO_BANNERvideo_bannerVer
Parallax BannerPARALLAX_BANNERparallax_bannerVer
Banner de GarantíaWARRANTY_BANNERwarranty_bannerVer
Preguntas frecuentes del productoPRODUCT_FAQSproduct_faqsVer
Carrusel de testimonios en videoVIDEO_REVIEWSvideo_reviewsVer

Las dos columnas del medio son el mismo identificador en dos convenciones: MAYUSCULAS_CON_GUION_BAJO en el campo tipo, minusculas_con_guion_bajo en la clave de sections. Para despachar por tipo usa tipo — el detalle está en la estructura de la respuesta.

Sin importar el tipo, toda sección trae los mismos campos comunes —tipo, titulo, items, estado, orden, indice— y se rige por las mismas dos reglas:

  1. La regla de render. Muéstrala solo si estado.lifecycle === 'active' && estado.storefrontVisible === true.
  2. El orden. Ordénala por orden entre secciones, y los items por su propio orden.

Las dos están explicadas una sola vez en la estructura de la respuesta. Las páginas de aquí abajo no las repiten: se concentran en lo que cada tipo tiene de particular.

Cada página tiene la misma estructura:

  • Shape — los campos, marcando qué puede ser null y qué puede faltar.
  • Ejemplo — un JSON real, no inventado.
  • Renderizar — solo la parte específica del tipo. El fetch, el filtro y el escape de texto son compartidos y viven en conectar una sección custom.
  • Notas — las trampas propias de ese tipo.

Los ejemplos asumen dos helpers de ese módulo compartido: seccionesDeTipo(bundle, kind), que ya aplica la regla de render y el orden, y escapar(texto), que evita que el contenido del comerciante se inyecte como HTML.