postFormsData
Creando un objeto de datos de formulario que guarda información.
Descripción
Este método devuelve un objeto FormDataEntity creado. Si deseas cambiar el idioma, simplemente pásalo como segundo argumento.
Los métodos con una solicitud POST aceptan como cuerpo de la solicitud un objeto con el campo de datos del formulario, que corresponde al tipo de información que se está enviando. A continuación se presentan ejemplos de objetos de datos de formulario para diferentes tipos de datos.
FormData.postFormsData(
body*,
body.formIdentifier*,
body.formModuleConfigId*,
body.moduleEntityIdentifier*,
body.replayTo*,
body.status*,
body.formData*,
body.fileQuery,
langCode
);
Esquema de parámetros
Esquema (cuerpo)
body(required): IBodyPostFormData
Cuerpo de la solicitud
ejemplo:
{
"formIdentifier": "test-form",
"formModuleConfigId": 2,
"moduleEntityIdentifier": "blog",
"replayTo": null,
"status": "sent",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
]
}
body.formIdentifier(required): string
Identificador de texto (marcador) del formulario.
ejemplo: "form"
body.formModuleConfigId(required): number
El identificador único de la configuración del módulo del formulario.
ejemplo: 2
body.moduleEntityIdentifier(required): string
Identificador de texto (marcador) de la entidad del módulo.
ejemplo: "blog"
body.replayTo(required): string | null
Correo electrónico para responder.
ejemplo: "some@email.com"
body.status(required): string
Estado del formulario.
ejemplo: "sent"
body.formData(required): FormDataType[]
Array de objetos de datos del formulario.
ejemplo:
[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
body.fileQuery: IUploadingQuery
Consulta de archivo opcional para subir archivos.
ejemplo:
{
"type": "page",
"entity": "editor",
"id": 3787
}
langCode: string
Código de idioma. Predeterminado: "en_US"
ejemplo: "en_US"
Ejemplos
Ejemplo mínimo
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "last_name", "type": "string" "value": "Andrey" } ]};
const response = await FormData.postFormsData(body);
Ejemplo con un atributo de tipo simple "string", "number", "float"
const body = { "formIdentifier": "test-form", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "string_marker", "type": "string", "value": "Username" }, { "marker": "number_marker", "type": "number", "value": 1 }, { "marker": "float_marker", "type": "float", "value": 2.256 } ]};
const response = await FormData.postFormsData(body);
Ejemplo con un atributo de tipo simple "date", "dateTime", "time"
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "date_marker", "type": "date", "value": { "fullDate": "2024-05-07T21:02:00.000Z", "formattedValue": "08-05-2024 00:02", "formatString": "DD-MM-YYYY HH:mm" } } ]};
const response = await FormData.postFormsData(body);
Ejemplo con un atributo de tipo simple "text" (Solo se puede proporcionar uno de htmlValue, plainValue o mdValue)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "about_marker", "type": "text", "value": [ { "htmlValue": "<p>Hello world</p>", "params": { "isImageCompressed": true, "editorMode": "html" } } ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con un atributo de tipo simple "textWithHeader" (Solo se puede proporcionar uno de htmlValue, plainValue o mdValue)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "textwithheader_marker", type: "textWithHeader", value: [ { "header": "Título", "htmlValue": "<p>Hello World</p>", "params": { "isImageCompressed": true, "editorMode": "html" } } ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con atributo de tipo "image"
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* En un escenario del mundo real, deberías usar la API de archivos para crear un archivo desde la URL, pero por simplicidad, usaremos una URL de archivo predefinida y utilizaremos el método createFileFromUrl para este ejemplo */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "image_marker", type: "image", value: [ file ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con atributo de tipo "groupOfImages"
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* En un escenario del mundo real, deberías usar la API de archivos para crear un archivo desde la URL, pero por simplicidad, usaremos una URL de archivo predefinida y utilizaremos el método createFileFromUrl para este ejemplo */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "groupofimages_marker", type: "groupOfImages", value: [ file ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con atributo de tipo "files"
const testImageUrl = 'https://your-project.oneentry.cloud/cloud-static/files/project/product/2954/image/7e0a6a70-a23d-410f-8b6a-f8b4f7483244.png';const filename = 'test-image.png';
/* En un escenario del mundo real, deberías usar la API de archivos para crear un archivo desde la URL, pero por simplicidad, usaremos una URL de archivo predefinida y utilizaremos el método createFileFromUrl para este ejemplo */const file = await FileUploading.createFileFromUrl(testImageUrl, filename);
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "picture_marker", "type": "file", "value": [ { "filename": "files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png", "downloadLink": "http://my-site.com/cloud-static/files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png", "size": 392585 } ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con atributo de tipo "radioButton" o "list"
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "selector_marker", "type": "list", "value": [ { "marker": "list", "type": "list", "value": ["1"] } ] } ]};
const response = await FormData.postFormsData(body);
Ejemplo con atributo de tipo "entity" (lista anidada)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { "marker": "entity_marker", "type": "entity", "value": [25, 32, 24] } ]};
const response = await FormData.postFormsData(body);
Valor - identificadores numéricos para páginas e identificadores de cadena para productos. Los identificadores de productos deben incluir el prefijo 'p-', por ejemplo, 'p-1-', 'p-2-', etc. p-[parentId]-[productId]
Ejemplo con atributo de tipo "timeInterval"
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: 'timeinterval_marker', type: 'timeInterval', value: [ [ "2025-02-11T16:00:00.000Z", "2025-02-13T16:00:00.000Z" ] ] }, ]};
const response = await FormData.postFormsData(body);
valor — array de intervalos en formato ISO 8601. por ejemplo 2025-02-11T16:00:00:000Z
2025 — año; 02 — mes; 11 — día del mes; T — separador entre fecha y hora; 16:00:00 — hora en formato horas:minutos:segundos; 000Z — milisegundos e indicación de zona horaria. Z significa que la hora está especificada en formato UTC.
Ejemplo de retorno:
{
"formData": {
"formIdentifier": "test-form",
"time": "2025-11-06T09:28:00.915Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"entityIdentifier": "blog",
"fingerprint": "UQ_ue7gas",
"isUserAdmin": false,
"formModuleId": 2,
"userIdentifier": null,
"parentId": null,
"id": 843
},
"actionMessage": ""
}
Esquema de respuesta
Esquema: IPostFormResponse
formData: object
Datos del formulario.
ejemplo:
{
"id": 42,
"formIdentifier": "contact_form",
"time": "2023-10-01T12:00:00Z",
"entityIdentifier": "blog",
"isUserAdmin": false,
"formModuleId": 2,
"parentId": null,
"userIdentifier": null,
"formData": [
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
}
formData.id: number
El identificador único de la página del formulario.
ejemplo: 12345
formData.formIdentifier: string
El identificador del formulario.
ejemplo: "contact_form"
formData.time: string
La hora de la presentación del formulario.
ejemplo: "2023-10-01T12:00:00Z"
formData.entityIdentifier: string
El identificador de la entidad.
ejemplo: "blog"
formData.isUserAdmin: boolean
¿Es el usuario administrador?
ejemplo: false
formData.formModuleId: number
El identificador del módulo del formulario.
ejemplo: 2
formData.parentId: any
El identificador del padre.
ejemplo: null
formData.userIdentifier: any
El identificador del usuario.
ejemplo: null
formData.formData: FormDataType[]
Datos de los campos del formulario.
ejemplo:
[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
actionMessage: string
Mensaje de acción para los datos del formulario.
ejemplo: "Formulario enviado con éxito"