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",
"position": 1,
"settings": {},
"isVisible": true,
"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"
}
}
},
{
"type": "file",
"marker": "file",
"position": 2,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"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; array vacío para otros tipos.
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.
ejemplo: false
attributes.isSignUp: boolean
Si este campo es requerido durante el registro.
ejemplo: false
attributes.isPassword: boolean
Si este campo lleva el valor de contraseña utilizado para la autenticación.
ejemplo: false
attributes.isSignUpRequired: 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
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 de formulario (solo en la API de productos/páginas).
ejemplo: 306
moduleFormConfigs.entityFormDataCount: Record<string, number>
Conteo de datos de 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
timeIntervaly 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.