Configurar acciones de envío para formularios de AEM Forms

Configure el control del envío de formularios para enrutar datos a hojas de cálculo, correo electrónico o sistemas back-end mediante AEM Forms con Edge Delivery Services.

Guía de decisión rápida

Elija el método de envío:

Método
Ideal para
Complejidad de la configuración
Casos de uso
Servicio de envío de formularios
Captura de datos sencilla
Bajo
Formularios de contacto, encuestas, recopilación de datos básicos
Envío a la instancia de publicación de AEM
Flujos de trabajo complejos
Alto
Integraciones empresariales, procesamiento personalizado, flujos de trabajo

Requisitos previos

Antes de configurar las acciones de envío, asegúrese de que:

  • Instancia de AEM Forms as a Cloud Service
  • Proyecto de Edge Delivery Services configurado
  • Formulario creado mediante la creación de documentos o el editor universal
  • Permisos necesarios para destinos objetivo (hojas de cálculo, sistemas de correo electrónico o AEM)
Método 1: Servicio de envío de formularios

El servicio de envío de formularios es un punto final hospedado en Adobe ideal para situaciones sencillas de captura de datos.

Destinos admitidos

  • Hojas de cálculo: Hojas de cálculo de Google, Microsoft Excel (OneDrive/SharePoint)
  • Correo electrónico: enviar datos de formulario a direcciones de correo electrónico especificadas

Pasos de configuración

  1. Configurar el acceso de destino

    • Para hojas de cálculo: conceder permiso de edición a forms@adobe.com en hoja de cálculo de destino
    • Para correo electrónico: compruebe que se puede acceder a las direcciones de correo electrónico del destinatario
  2. Configurar el envío de formularios

    • Abrir el formulario en el entorno de creación
    • Establecer la acción de envío en “Servicio de envío de formularios”
    • Especificar la URL o las direcciones de correo electrónico de la hoja de cálculo de destino
    • Guardar y publicar el formulario
  3. Envío de prueba

    • Enviar datos de prueba mediante el formulario
    • Comprobar si los datos aparecen en el destino
    • Comprobar registros de errores si el envío falla

Notas importantes

  • La cuenta de servicio forms@adobe.com requiere acceso de edición en las hojas de cálculo de destino
  • Las notificaciones por correo electrónico se envían inmediatamente al enviar el formulario
  • La validación de datos se produce en el nivel de servicio

Flujo del servicio de envío de formularios

Método 2: Envío de publicación de AEM

Envíe datos de formulario directamente a la instancia de publicación de AEM as a Cloud Service para un procesamiento complejo.

Cuándo se debe utilizar la publicación de AEM

  • Flujos de trabajo de AEM personalizados necesarios después del envío
  • Integración del modelo de datos de formulario (FDM) con bases de datos
  • Integraciones de servicios de terceros (Marketo, Power Automate, Workfront Fusion)
  • Bibliotecas de documentos de Azure Blob Storage o SharePoint
  • Lógica de procesamiento o validación compleja del lado del servidor

Acciones de envío disponibles

Flujo de envío de publicación de AEM

Requisitos de configuración

​1. Actualizar la URL de instancia de AEM en Edge Delivery

Actualice la URL de instancia de AEM Cloud Service en el archivo constant.js del bloque form en submitBaseUrl. Puede configurar la URL en función de su entorno:

Para la instancia de Cloud Service

code language-js
export const submitBaseUrl = '<aem-publish-instance-URL>';

Para desarrollo local

code language-js
export const submitBaseUrl = 'http://localhost:<port-number>';

​2. Filtro de referente de OSGi

Configure el Filtro de referente para permitir los dominios de sitio específicos de Edge Delivery:

  1. Crear o actualizar el archivo de configuración de OSGi: org.apache.sling.security.impl.ReferrerFilter.cfg.json

  2. Agregue la siguiente configuración con los dominios de sitio específicos:

    code language-json
    {
      "allow.empty": false,
      "allow.hosts": [
        "main--abc--adobe.aem.live",
        "main--abc1--adobe.aem.live"
      ],
      "allow.hosts.regexp": [
        "https://.*\\.aem\\.live:443",
        "https://.*\\.aem\\.page:443",
        "https://.*\\.hlx\\.page:443",
        "https://.*\\.hlx\\.live:443"
      ],
      "filter.methods": [
        "POST",
        "PUT",
        "DELETE",
        "COPY",
        "MOVE"
      ],
      "exclude.agents.regexp": [
        ""
      ]
    }
    
  3. Implementar la configuración mediante Cloud Manager

Para obtener la configuración detallada del filtro de referente de OSGi, consulte la guía Filtro de referente.

​3. Problemas del CORS (Intercambio de Recursos de Origen Cruzado)

Configure las opciones de CORS en AEM para permitir solicitudes de los dominios de sitio específicos de Edge Delivery:

Host local de desarrollador

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(http://localhost(:\d+)?$)#" CORSTrusted=true

Sitios de Edge Delivery: agregue cada dominio de sitio individualmente

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://main--abc--adobe\.aem\.live$)#" CORSTrusted=true
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://main--abc1--adobe\.aem\.live$)#" CORSTrusted=true

Dominios Franklin heredados (si todavía están en uso)

code language-apache
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://.*\.hlx\.page$)#" CORSTrusted=true
SetEnvIfExpr "env('CORSProcessing') == 'true' && req_novary('Origin') =~ m#(https://.*\.hlx\.live$)#" CORSTrusted=true
note note
NOTE
Reemplace main--abc--adobe.aem.live y main--abc1--adobe.aem.live por sus dominios de sitio reales. Cada sitio alojado desde el mismo repositorio requiere una entrada de configuración CORS independiente.

Para obtener información detallada sobre la configuración de CORS, consulte la Guía de configuración de CORS.

Para habilitar CORS para su entorno de desarrollo local, consulte el artículo de Comprender el Intercambio de Recursos de Origen Cruzado (CORS).

​4. Configuración de formularios

  1. Crear formulario en el editor universal
  2. Configurar la acción de envío para dirigirla a la acción de AEM Forms
  3. Especificar ruta de punto final de envío
  4. Publicar formulario en el sitio de Edge Delivery
Problemas comunes
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Problema Solución
Error al enviar el formulario Comprobar los errores de la consola, verificar la URL del punto final y confirmar permisos
El formulario incrustado no aparece Configurar los encabezados CORS en el origen del formulario y verificar la URL del formulario
Errores 403/401 con AEM Actualizar el filtro de referente de Sling, comprobar la configuración de autenticación
Los datos no llegan a la hoja de cálculo Verificar que forms@adobe.com tiene acceso de edición, comprobar la URL de hoja de cálculo
Errores CORS Agregar los encabezados Access-Control-Allow-Origin adecuados a la fuente del formulario

Ejemplos de configuración

Formulario basado en documentos con envío de hoja de cálculo
  1. Crear estructura de formulario en Hojas de cáclculo o Documentos de Google
  2. Configurar punto final de servicio de envío de formularios
  3. Conceder acceso de edición de forms@adobe.com a la hoja de cálculo de destino
  4. Publicar el documento en el sitio de Edge Delivery.
  5. Probar el envío de formularios y el flujo de datos
Formulario de editor universal con flujo de trabajo de AEM
  1. Generar formulario en el editor universal
  2. Configurar la acción de envío para “Invocar flujo de trabajo de AEM”
  3. Configurar Dispatcher y el filtro de referente en publicación de AEM
  4. Configurar reglas de enrutamiento de CDN
  5. Publicar formularios y probar la ejecución del flujo de trabajo

Prácticas recomendadas

  • Usar el servicio de envío de formularios para escenarios sencillos de captura de datos
  • Elegir la publciación de AEM cuando se requieran integraciones o procesamiento complejos
  • Realizar pruebas exhaustivas en el entorno de ensayo antes de la implementación de producción
  • Monitorizar los envíos mediante registros de AEM y errores de consola
  • Implementar el control de errores adecuado para los envíos fallidos
  • Validar datos tanto a nivel de cliente como de servidor
  • Usar HTTPS para todos los envíos de formularios y la transmisión de datos

Temas relacionados

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab