Saltar al contenido principal

getFormByMarker

Obteniendo un objeto de formulario por marcador.

Descripción​

Este método recupera un único objeto de formulario basado en su identificador textual (marcador) de la API. Devuelve una Promesa que se resuelve en un objeto FormEntity.

.getFormByMarker(

,

);

Esquema de parámetros​

Esquema

marker(requerido): string
Marcador del formulario
ejemplo: "contact_form"

langCode: string
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"

Ejemplos​

Ejemplo mínimo​

const response = await Forms.getFormByMarker('my-form');

Ejemplo con atributos​

const response = await Forms.getFormByMarker('my-form', 'en_US');

Ejemplo de respuesta​

{
"id": 6,
"attributeSetId": 15,
"type": "data",
"localizeInfos": {
"title": "Test form",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 15,
"position": 1,
"identifier": "test-form",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "string",
"marker": "name",
"position": 1,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
},
"stringInspectionValidator": {
"stringMax": 0,
"stringMin": 0,
"stringLength": 0
}
},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "Name"
},
"additionalFields": {
"additional_field": {
"type": "string",
"value": "Additional field data"
}
}
},
{
"type": "file",
"marker": "file",
"position": 2,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"formId": 6,
"moduleId": 4,
"moduleIdentifier": "content",
"isGlobal": false,
"isModerate": false,
"isClosed": false,
"viewOnlyUserData": false,
"commentOnlyUserData": false,
"entityIdentifiers": [
{
"id": "blog",
"isNested": false
}
],
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null
}
]
}

Esquema de respuesta​

Esquema: IFormsEntity

id: number
El identificador del objeto.
ejemplo: 12345

attributeSetId: number | null
El identificador del conjunto de atributos que se está utilizando, o null si no es aplicable.
ejemplo: 1234

type: string | null
Tipo de formulario.
ejemplo: "contact"

localizeInfos: IFormLocalizeInfo
El nombre del formulario y los campos de localización del lado del formulario (mensajes de éxito/error, configuración de procesamiento, etc.).
ejemplo:

{
"key": "value"
}

localizeInfos.title: string
Nombre localizado del formulario. Opcional — la carga útil es un objeto vacío cuando el formulario no tiene localización para el idioma solicitado (por ejemplo, en respuestas de lista).
ejemplo: "Formulario de contacto"

localizeInfos.titleForSite: string
Título visible al público que se muestra en el sitio web.
ejemplo: "Título del formulario (para la aplicación)"

localizeInfos.successMessage: string
Mensaje mostrado al usuario después de una presentación exitosa.

localizeInfos.unsuccessMessage: string
Mensaje mostrado al usuario después de una presentación fallida.

localizeInfos.urlAddress: string
URL donde se envían los datos del formulario para su procesamiento (utilizado por processingType: "url").

localizeInfos.database: string
Identificador/flag de base de datos utilizado por el procesador de formularios (tipado como cadena en la API: "0" / "1" / id).

localizeInfos.script: string
Identificador/flag de script utilizado por el procesador de formularios (tipado como cadena en la API: "0" / "1" / id).

version: number
El número de versión del objeto.
ejemplo: 1

position: number
La posición del objeto.
ejemplo: 1

identifier: string
El identificador textual para el campo del registro.
ejemplo: "form_contact_us"

processingType: string
Tipo de procesamiento del formulario.
ejemplo: "async"

templateId: number | null
El identificador de la plantilla utilizada por el formulario, o null si no se utiliza ninguna plantilla.
ejemplo: 6789

attributes: IFormAttribute[]
Campos del formulario con su localización, validadores y flags específicos del formulario, ordenados por position. La API devuelve un objeto vacío para formularios sin atributos — el SDK lo normaliza a un array vacío.

attributes.marker: string
Marcador del campo (nombre de máquina).
ejemplo: "email"

attributes.type: AttributeType
Tipo de dato del atributo (por ejemplo, "string", "file").

attributes.position: number
Posición de orden del campo.
ejemplo: 1

attributes.isVisible: boolean
Si el campo está expuesto al usuario.
ejemplo: true

attributes.localizeInfos: IAttributeLocalizeInfo
Etiquetas localizadas para el campo. Para atributos timeInterval, también lleva la carga útil del horario intervals.

attributes.initialValue: unknown
Valor predeterminado aplicado cuando el campo no está lleno.

attributes.listTitles: IListTitle[]
Opciones predefinidas para campos list/radioButton; array vacío para otros tipos.

attributes.multiselect: boolean
Para campos list — si se pueden seleccionar varias opciones de listTitles. Opcional.
ejemplo: false

attributes.validators: IAttributeValidators
Reglas de validación; objeto vacío cuando no se configuran validadores.

attributes.settings: Record<string, unknown>
Configuración específica del campo; objeto vacío por defecto.

attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
Subcampos anidados indexados por marcador; objeto vacío cuando no hay ninguno.

attributes.isLogin: boolean
Si este campo lleva el valor de inicio de sesión utilizado para la autenticación. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isSignUp: boolean
Si este campo es requerido durante el registro. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isPassword: boolean
Si este campo lleva el valor de contraseña utilizado para la autenticación. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isSignUpRequired: boolean
Si este campo es requerido durante el registro. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isNotificationEmail: boolean
Si este campo almacena el correo electrónico utilizado para notificaciones. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isNotificationPhonePush: boolean
Si este campo almacena el número de teléfono utilizado para notificaciones push. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

attributes.isNotificationPhoneSMS: boolean
Si este campo almacena el número de teléfono utilizado para notificaciones SMS. Opcional — presente solo en atributos de formularios de inicio de sesión/registro.
ejemplo: false

total: number | string
Total de entradas relacionadas.
ejemplo: "1"

moduleFormConfigs: IFormConfig[]
Array de configuraciones de formularios de módulo asociadas con el formulario.

moduleFormConfigs.id: number
El identificador de la configuración del formulario.
ejemplo: 123

moduleFormConfigs.formIdentifier: string
El identificador del formulario (solo en la API de productos/páginas).
ejemplo: "review"

moduleFormConfigs.moduleIdentifier: string
El identificador del módulo asociado con la configuración del formulario.
ejemplo: "module_identifier"

moduleFormConfigs.isGlobal: boolean
Indica si la configuración del formulario es global.
ejemplo: true

moduleFormConfigs.isClosed: boolean
Indica si la configuración del formulario está cerrada.
ejemplo: true

moduleFormConfigs.isModerate: boolean
Indica si el formulario requiere moderación (solo en la API de productos/páginas).
ejemplo: false

moduleFormConfigs.viewOnlyUserData: boolean
Indica si la configuración del formulario permite ver datos de usuario (utilizado en la API de formularios).
ejemplo: true

moduleFormConfigs.commentOnlyUserData: boolean
Indica si la configuración del formulario permite comentar sobre datos de usuario (utilizado en la API de formularios).
ejemplo: true

moduleFormConfigs.viewOnlyMyData: boolean
Indica si la configuración del formulario permite ver mis datos (utilizado en la API de productos/páginas).
ejemplo: false

moduleFormConfigs.commentOnlyMyData: boolean
Indica si la configuración del formulario permite comentar sobre mis datos (utilizado en la API de productos/páginas).
ejemplo: false

moduleFormConfigs.entityIdentifiers: object[]
Un array de identificadores de entidad asociados con la configuración del formulario.

moduleFormConfigs.nestedEntityIdentifiers: string[]
Un array de cadenas de identificadores de entidades anidadas (solo en la API de productos/páginas).
ejemplo: ["catalog"]

moduleFormConfigs.exceptionIds: string[]
Un array de identificadores de excepciones.

moduleFormConfigs.formDataCount: number
Total de entradas de datos del formulario (solo en la API de productos/páginas).
ejemplo: 306

moduleFormConfigs.entityFormDataCount: Record<string, number>
Conteo de datos del formulario por identificador de entidad (solo en la API de productos/páginas).
ejemplo:

{"catalog": 306}

moduleFormConfigs.isRating: boolean | null
Indica si esta configuración de formulario es para calificaciones.
ejemplo: null

moduleFormConfigs.isAnonymous: boolean | null
Indica si se permiten envíos anónimos.
ejemplo: null

moduleFormConfigs.allowHalfRatings: boolean | null
Indica si se permiten calificaciones medias.
ejemplo: null

moduleFormConfigs.allowRerating: boolean | null
Indica si se permite volver a calificar.
ejemplo: null

moduleFormConfigs.maxRatingScale: number | null
Valor máximo de la escala de calificación.
ejemplo: 5

moduleFormConfigs.ratingCalculation: string
Método de cálculo de calificación.
ejemplo: "average"


Ejemplos de uso​

Guías paso a paso en la documentación:

  • Enviar un formulario — obtener un formulario de contacto por marcador y enviar la entrada del usuario de vuelta a OneEntry.
  • Formulario de entidad — manejar un formulario que contiene un campo de tipo entidad (páginas o productos).
  • Registrar usuario — usar un formulario de registro para crear una nueva cuenta.

Pruébalo en vivo​

Ejecuta este método de forma interactiva en el sandbox de JS SDK — en la primera visita, conecta tu URL de Proyecto y Token de Aplicación, luego abre cualquier escenario a continuación para ver Forms.getFormByMarker() en acción:

  • Enviar un formulario — obtener un formulario de contacto por marcador y enviar la entrada del usuario de vuelta a OneEntry.
  • Formulario de entidad — manejar un formulario que contiene un campo de tipo entidad (páginas o productos).
  • Formulario de archivo — enviar un formulario que incluye un archivo adjunto.
  • Formulario de spam — enviar un formulario con protección contra spam.
  • Formulario de programación — seleccionar un intervalo de tiempo de un campo timeInterval y enviarlo.
  • Formulario Formik — construir un formulario Formik a partir de una configuración de formulario de OneEntry usando useFormConfig.
  • Registrar usuario — usar un formulario de registro para crear una nueva cuenta.