Usted está aquí:
Conectar un formulario externo a un controlador de formularios
Después de crear y publicar un controlador de formularios, configure su formulario externo para enviar datos a Salesforce.
Ediciones necesarias
| Permisos de usuario necesarios | |
|---|---|
| Para crear un controlador de formularios: | Conjunto de permisos Gerente de Marketing Cloud Y Cualquier función de colaborador de espacio de trabajo de CMS |
| Para publicar un controlador de formularios: | Conjunto de permisos Gerente de Marketing Cloud Y Una función de colaborador de espacio de trabajo de CMS de administrador de contenido o gestor de contenido |
| Para configurar la lista de admisión de CORS: | Modificar todos los datos |
Antes de completar estos pasos, cree y publique un controlador de formularios.
Existen dos formas de enviar datos desde su formulario a Salesforce. Seleccione el tipo de conexión que mejor se ajuste a la estructura y las funciones de su sitio.
| Recorte de JavaScript (lado del cliente) | URL POST directa (del lado del servidor) |
|
|---|---|---|
| Cómo funciona | Una secuencia de comandos en su página envía datos de formulario a Salesforce cuando un visitante envía el formulario. | Su formulario publica datos directamente en una URL de Salesforce, sin ninguna secuencia de comandos en la página. |
| Agregar a su sitio | Una etiqueta <script> y atributos de formulario que pega en el HTML para su página. |
URL que establece como la acción para su destino de formulario o webhook. |
| Ideal para | Páginas donde controla el HTML y puede agregar secuencias de comandos. | Generadores de formularios externos que no permiten secuencias de comandos personalizadas, páginas con reglas estrictas de Política de seguridad de contenidos (CSP) y formularios que publican desde un servidor backend. |
| Soporta seguimiento web | Sí | No |
| Admite la resolución de identidad | Sí | No |
| Requiere una entrada Lista de admisión de CORS | Sí | Sí |
Ambos métodos envían datos al mismo controlador de formularios y desencadenan el mismo flujo. Ambos métodos también requieren que autorice su dominio en la Lista de admisión de CORS.
Con cualquier tipo de conexión, asegúrese de que cada campo de su formulario utiliza un atributo de name HTML que coincida exactamente con el nombre del campo externo correspondiente en el controlador de formularios. Si los nombres no coinciden, el controlador de formularios no captura el valor. Por ejemplo, si asignó el email_address de nombre de campo externo al campo Email, el atributo name para el campo correspondiente en el formulario también debe ser email_address.
Opción 1: Configurar su formulario para utilizar una conexión del lado del cliente
Utilice este método cuando controle el HTML de su página y pueda agregarle una secuencia de comandos. Como la secuencia de comandos se ejecuta en el navegador del visitante, este método admite el seguimiento web y la resolución de identidad. Como resultado, este método puede conectar un envío de formulario con la actividad web de un visitante.
- Publique el controlador de formularios.
-
En la ficha Fragmento de código, bajo Gestor de formularios del lado del cliente, copie la secuencia de comandos de seguimiento. La secuencia de comandos se parece a este ejemplo.
<script async src="https://YOUR_DOMAIN/lp/assets/scripts/external-form-handler-host.min.js" onload="SFDCFormHandler.init('https://YOUR_DOMAIN/lp')"></script> -
En el código HTML del sitio, pegue la secuencia de comandos antes de la etiqueta
</body>de cierre. -
En la ficha Fragmento de código, copie los atributos del formulario. Los atributos se parecen a este ejemplo.
<form id="CONTENT_KEY" data-uma-forms="true"></form> -
En su HTML, agregue los atributos
idydata-uma-formsa la etiqueta<form>. -
Confirme que el atributo
nameHTML para cada campo de formulario coincide con el nombre del campo externo asignado. - Agregue el dominio que aloja su formulario a la lista de admisión de CORS. Este paso autoriza a su dominio a enviar envíos a Salesforce.
- Para monitorear la participación de usuarios, active el seguimiento web.
Cuando un visitante envía el formulario, la secuencia de comandos envía los datos a Salesforce, y el controlador del formulario procesa el envío y desencadena su flujo. El controlador de formularios los redirige a la URL de operación correcta o error que configuró.
Opción 2: Configurar su formulario para utilizar una conexión del lado del servidor
Utilice una conexión del lado del servidor cuando no pueda agregar código a su página o realizar configuraciones personalizadas en su código. Con este método, el controlador de formularios le proporciona una URL de destino y configura el formulario para enviar sus datos a esa URL. Como no incrusta una secuencia de comandos, este método funciona con herramientas de formulario que no permiten JavaScript personalizado. Este método también es útil con páginas que tienen reglas estrictas de Política de seguridad de contenidos (CSP) y con formularios que se envían desde un servidor backend.
-
En la ficha Fragmento de código para el controlador de formularios, bajo Gestor de formularios del lado del servidor, copie la URL de acción de formulario. La URL se parece a este ejemplo.
https://YOUR_DOMAIN/lp/cms/form/submit/v1/CONTENT_KEY -
Configure el formulario para enviar los datos a Salesforce. Los pasos de implementación dependen de cómo implemente su formulario.
Si utiliza un complemento o generador de formularios externo En la configuración de la herramienta externa, busque el campo para configurar la acción del formulario, la URL posterior o el destino del gancho web. Ingrese la URL de Salesforce en ese campo. Si puede modificar el HTML pero no puede agregar una secuencia de comandos Establezca el atributo actionde su etiqueta<form>en la URL de Salesforce y establezca el atributomethodenPOST.Si su formulario utiliza un proceso backend Envíe una solicitud POST a la URL de Salesforce con los datos del formulario, con codificación application/x-www-form-urlencoded. -
Confirme que el nombre de cada campo coincide exactamente con el nombre del campo externo asignado.
El controlador de formularios captura campos solo cuando coinciden exactamente.
- Agregue el dominio que aloja su formulario a la lista de admisión de CORS. Este paso autoriza a su dominio a enviar envíos a Salesforce.
Configurar la lista de admisión de CORS
Ambos métodos de conexión requieren que autorice su dominio antes de que Salesforce acepte envíos de formularios. Si no autoriza su dominio, Salesforce bloquea el envío antes de que se procese. Para autorizar su dominio, agréguelo a la lista de admisión de CORS.
-
Identifique el dominio que aloja el formulario, como
https://www.example.com. Para autorizar todos los subdominios, utilice un comodín, comohttps://*.example.com. - Agregue el dominio a la lista de admisión de CORS.
Probar el formulario
Después de conectar su formulario al controlador de formularios, pruébelo para asegurarse de que se comporta del modo que espera.
- En el formulario, envíe una entrada de prueba y confirme que se le envió a la URL correcta.
-
En Salesforce, compruebe si se creó o actualizó un registro correspondiente a la entrada de prueba.
Sugerencia Si no se crea o se actualiza un registro después de enviar una entrada de prueba, confirme que el atributo name de cada campo de formulario coincide con un nombre de campo externo. Si el controlador de formularios está conectado a un flujo, confirme que el flujo se completa sin errores.
