Skip to main content
Documentación interna para desarrolladores. Esta página cubre la API de Forms: creación de formularios, incorporación de widgets de chat, procesamiento de envíos y el esquema del generador de formularios. No está destinado a usuarios finales.

Mapa de ruta


Patrón de autenticación

Los formularios tienen patrones de acceso dual: Autenticado (panel de control): CÓDIGO_BLOQUE_0 Público (widget integrado):
  • POST /api/forms/[formId]/chat se puede llamar sin autenticación
  • Protegido por el secreto formId (firmado por HMAC si es necesario)

Esquema de formulario

Los formularios se definen como un esquema JSON almacenado en el campo config:

Punto final de envío de chat

El punto final POST /api/forms/[formId]/chat procesa el envío de un formulario a través de la IA:
Esto potencia la experiencia conversacional del widget de formulario.

Envíos

Los envíos se almacenan como blobs JSON; la estructura exacta depende del esquema de campo del formulario.

Índices Prisma utilizados


Problemas conocidos / Problemas

  • Punto final del chat público: El formId es el único secreto que protege los envíos de formularios públicos. Para formularios confidenciales, considere agregar la firma HMAC o reCAPTCHA.
  • Evolución del esquema JSON de envío: Si los campos del formulario cambian después de que existen los envíos, los envíos antiguos pueden tener campos que ya no coincidan con el esquema actual. La interfaz de usuario debe manejar correctamente los campos faltantes.
  • Tiempo de espera de procesamiento de IA: el punto final de envío del chat llama a la IA, lo que puede tardar hasta 30 segundos en el caso de formularios complejos. Configure el tiempo de espera de la función Next.js adecuado.
  • Entrega de webhook: El webhook externo al enviar se activa y olvida. Implemente la lógica de reintento en @zappway/lib/webhooks si se requiere confiabilidad.