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.

Forms.getFormByMarker(

marker*, langCode

);

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": 14,
"position": 1,
"identifier": "test-form",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "string",
"marker": "name",
"isLogin": false,
"isSignUp": false,
"position": 1,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
},
"stringInspectionValidator": {
"stringMax": 0,
"stringMin": 0,
"stringLength": 0
}
},
"initialValue": null,
"localizeInfos": {
"title": "Name"
},
"additionalFields": {
"additional_field": {
"type": "string",
"value": "Additional field data",
"marker": "additional_field"
}
},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
},
{
"type": "file",
"marker": "file",
"isLogin": false,
"isSignUp": false,
"position": 2,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"moduleIdentifier": "content",
"isGlobal": 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"
}

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 banderas específicas del formulario.

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; arreglo vacío para otros tipos.

listTitles.title: string
El título o nombre asociado con el elemento de la lista.
ejemplo: "Nombre del Elemento"

listTitles.value: number | string
El valor del elemento de la lista, que puede ser un número o una cadena dependiendo del contexto.
ejemplo: 42

listTitles.position: string | number | null
La posición del elemento de la lista, que puede representarse como una cadena, número o null si no es aplicable.
ejemplo: 1

listTitles.extended: object
Un objeto que contiene propiedades adicionales o metadatos relacionados con el elemento de la lista. Esto podría incluir cualquier detalle extra que amplíe la información básica.

listTitles.extended.value: string | null
El valor extendido, que puede ser una cadena o null.
ejemplo: "extra_value"

listTitles.extended.type: string | null
El tipo del valor extendido, que puede ser una cadena o null.
ejemplo: "color"

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

validators.requiredValidator: object
Marca el campo como requerido. Forma: { strict: boolean }.
ejemplo: { strict: true }

validators.stringInspectionValidator: object
Restricciones de longitud para campos de cadena. Forma: { stringMin: number; stringMax: number; stringLength: number }.

validators.emailInspectionValidator: boolean
Alternar para la validación del formato de correo electrónico.

validators.defaultValueValidator: object
Configuración del valor predeterminado con texto de error personalizado opcional. Forma: { customErrorText?: string; fieldDefaultValue?: unknown; fieldDefaultValue2?: unknown }.

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.
ejemplo: false

attributes.isSignUp: boolean
Si este campo es requerido durante el registro.
ejemplo: false

attributes.isNotificationEmail: boolean
Si este campo almacena el correo electrónico utilizado para notificaciones.
ejemplo: false

attributes.isNotificationPhonePush: boolean
Si este campo almacena el número de teléfono utilizado para notificaciones push.
ejemplo: false

attributes.isNotificationPhoneSMS: boolean
Si este campo almacena el número de teléfono utilizado para notificaciones SMS.
ejemplo: false

total: number | string
Conteo 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
Conteo 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"