Saltar al contenido principal

Etapa de formulario

Una etapa de tipo formulario incluye una colección de campos de entrada de datos. Los usuarios completan la información y, al enviar el formulario, avanzan a la siguiente etapa.

Esta etapa agrega agrega la llave fields que es un listado de campos de entrada de datos. Cada campo tiene los siguientes atributos:

FieldNameTypeRequiredDescriptionDefault
idstringXIdentificador único del campo de entrda
typestringXTipo de campo ver más adelante el listado de tipos permitidos
namestringXNombre del campo
labelstring/transObjectXEtiqueta del campo, podrá ser una cadena o un objeto de traducción
contentstring/transObjectTexto usado para mostrar un preámbulo del campofalse
requiredbooleanDefine si es o no requeridofalse
patternstringDefine una expresión regular usada para validar el campo

Tipos de campos

Los tipos de campos permitodos son:

  • phone: A phone number field.
  • email: An email field.
  • text: A text field.
  • selection: A selection field.
  • date: A date field.
  • gdpr: A GDPR field. Visually, it is a checkbox.
  • memo: A memo field. Visually, it is a text field with multiple lines.

Ejemplo

{
"id": "formContactDetails",
"type": "Form",
"fields": [
{
"type": "text",
"required": true,
"name": "firstName",
"label": {
"en": "First name",
"es": "Nombre",
},
"pattern": "^[\\p{L} '.-]*$"
},
{
"type": "text",
"required": true,
"name": "lastName",
"label": {
"en": "Last name",
"es": "Apellido",
},
"pattern": "^[\\p{L} '.-]*$"
},
{
"type": "phone",
"required": true,
"name": "phone",
"label": {
"en": "Phone",
"es": "Teléfono",
},
"phonePrefix": "+34"
},
{
"type": "email",
"required": true,
"name": "email",
"label": {
"en": "Email",
"es": "Correo electrónico",
}
},
{
"type": "gdpr",
"required": true,
"name": "gdpr",
"contentField": false,
"text": {
"es": "Respetamos tu privacidad. Antes de empezar, lee la política de protección de datos Confirma que has leido la <a href=\"https://legal.gml.mx/terminos_condiciones_jacmx.html\" target=\"_blank\">obligación informativa</a> y aceptas el tratamiento de tus datos.",
"en": "We respect your privacy. Before starting, read the privacy policy. Confirm that you have read the <a href=\"https://legal.gml.mx/terminos_condiciones_jacmx.html\" target=\"_blank\">obligation information</a> and accept the treatment of your data."
},
"items": []
}
],
"actions": [
{
"id": "1",
"type": "forward",
"title": {
"en": "Continue",
"es": "Continuar",
},
"priority": "primary",
"nextNodeId": "dataConfirmation",
"name": "continue"
}
],
"stageId": "2",
"stepNumber": 3,
"stepName": "contact-data"
},

En esta etapa se agrega al contexto una llave igual al identificador de la etapa, usando el ejemplo anterior sería formContactDetails, este objeto tendría los valores de los campos del formulario.

{
... # Otros campos del contexto
"formContactDetails": {
"firstName": "Juan",
"lastName": "Pérez",
"phone": "+525555555555",
"email": "[email protected]",
"gdpr": true
}
}