Skip to main content
Una respuesta se compone de uno a tres componentes de un catálogo cerrado de 17. El agente elige los componentes y llena sus campos; no puede inventar un decimocuarto, no puede emitir HTML y no puede escribir una URL. Cada componente se valida contra su esquema en el servidor antes de que un solo byte llegue al visitante, y un componente que falla la validación se descarta mientras el resto de la respuesta llega igual.

Los 17 componentes

Reglas que aplican a todos los componentes

  • Los campos de texto no llevan HTML, ni URLs, ni markdown. La única excepción es el body de info, que permite formato markdown pero sigue rechazando HTML, URLs crudas y enlaces inline.
  • Las referencias son ids, nunca direcciones. assetId nombra una imagen de tu registro, actionId nombra una de las acciones que declaraste en la página, linkId nombra uno de tus enlaces aprobados. Los ids van en minúsculas con guiones o guiones bajos simples, una forma que una URL no puede igualar. El servidor cambia cada id por el valor real después de la validación.
  • Los íconos vienen de un vocabulario fijo de nombres genéricos (shield, clock, truck, message-circle, …). Son vocabulario de la interfaz, no tus datos, así que son una lista cerrada.
  • Como máximo una instancia de cada componente por respuesta.

Props, componente por componente

heading

media

Solo recursos horizontales. Uno vertical va en mediaCard, donde encaja sin estirarse.

mediaCard

timeline

accordion

Filas de un solo tema, ocultas hasta que el visitante hace clic, así que el acordeón lleva solo detalle secundario. El contenido que responde la pregunta real va a grid, timeline, metrics, faq o info; las preguntas formuladas como las haría un visitante pertenecen a faq.

cta

metrics

Solo cifras que aparecen literalmente en tu material. Los números de terceros pertenecen a stats, donde llevan una fuente.

grid

faq

stats

Tanto el número como su atribución deben existir en el material. Una atribución nunca se descarta ni se altera.

leadForm

El agente elige qué formulario mostrar; tú defines sus campos y a dónde va un envío. Un formulario envía internamente (se guarda y se te avisa por correo) o externamente (se postea a tu propia API), y solo un formulario externo puede incluir una contraseña — wondeya nunca guarda una.

features

chips

logos

plans

info

El servidor hace cumplir el mismo contrato de esquema antes de que algo se transmita, y el registro de renderizadores del cliente lo replica. Ese registro es cerrado: un tipo de componente que no reconoce nunca se adivina (el visitante ve en su lugar una nota corta que le pide refrescar la página), y un componente cuya imagen no logra cargar se degrada a un placeholder neutro en lugar de una caja rota. Como el catálogo es cerrado y sus campos de texto rechazan el marcado, el peor resultado de una instrucción maliciosa escondida dentro del conocimiento subido es un componente que falla la validación y desaparece, no marcado en la pantalla de tu visitante.