postFormsData
Création d'un objet de données de formulaire pour enregistrer des informations.
Description
Cette méthode renvoie un objet FormDataEntity créé. Si vous souhaitez changer la langue, il vous suffit de le passer en tant que deuxième argument.
Les méthodes avec une requête POST acceptent comme corps de la requête un objet avec le champ de données de formulaire, qui correspond au type d'informations envoyées. Voici des exemples d'objets de données de formulaire pour différents types de données.
FormData.postFormsData(
body*,
body.formIdentifier*,
body.formModuleConfigId*,
body.moduleEntityIdentifier*,
body.replayTo*,
body.status*,
body.formData*,
body.fileQuery,
langCode
);
Schéma des paramètres
Schéma (body)
body(obligatoire): IBodyPostFormData
Corps de la requête
exemple:
{
"formIdentifier": "test-form",
"formModuleConfigId": 2,
"moduleEntityIdentifier": "blog",
"replayTo": null,
"status": "sent",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
]
}
body.formIdentifier(obligatoire): string
Identifiant textuel (marqueur) du formulaire.
exemple: "form"
body.formModuleConfigId(obligatoire): number
L'identifiant unique de la configuration du module de formulaire.
exemple: 2
body.moduleEntityIdentifier(obligatoire): string
Identifiant textuel (marqueur) de l'entité du module.
exemple: "blog"
body.replayTo(obligatoire): string | null
Email pour répondre.
exemple: "some@email.com"
body.status(obligatoire): string
Statut du formulaire.
exemple: "sent"
body.formData(obligatoire): FormDataType[]
Tableau d'objets de données de formulaire.
exemple:
[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
body.fileQuery: IUploadingQuery
Requête de fichier optionnelle pour le téléchargement de fichiers.
exemple:
{
"type": "page",
"entity": "editor",
"id": 3787
}
langCode: string
Code de langue. Par défaut : "en_US"
exemple: "en_US"
Exemples
Exemple minimal
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);
Exemple avec un attribut de type 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);
Exemple avec un attribut de type 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);
Exemple avec un attribut de type simple "text" (Un seul de htmlValue, plainValue ou mdValue peut être fourni)
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);
Exemple avec un attribut de type simple "textWithHeader" (Un seul de htmlValue, plainValue ou mdValue peut être fourni)
const body = { "formIdentifier": "contact_us", "formModuleConfigId": 2, "moduleEntityIdentifier": "blog", "replayTo": null, "status": "sent", "formData": [ { marker: "textwithheader_marker", type: "textWithHeader", value: [ { "header": "Titre", "htmlValue": "<p>Hello World</p>", "params": { "isImageCompressed": true, "editorMode": "html" } } ] } ]};
const response = await FormData.postFormsData(body);
Exemple avec un attribut de type "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';
/* Dans un scénario réel, vous devriez utiliser l'API File pour créer un fichier à partir de l'URL, mais pour des raisons de simplicité, nous allons utiliser une URL de fichier prédéfinie et utiliser la méthode createFileFromUrl pour cet exemple */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);
Exemple avec un attribut de type "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';
/* Dans un scénario réel, vous devriez utiliser l'API File pour créer un fichier à partir de l'URL, mais pour des raisons de simplicité, nous allons utiliser une URL de fichier prédéfinie et utiliser la méthode createFileFromUrl pour cet exemple */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);
Exemple avec un attribut de type "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';
/* Dans un scénario réel, vous devriez utiliser l'API File pour créer un fichier à partir de l'URL, mais pour des raisons de simplicité, nous allons utiliser une URL de fichier prédéfinie et utiliser la méthode createFileFromUrl pour cet exemple */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);
Exemple avec un attribut de type "radioButton" ou "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);
Exemple avec un attribut de type "entity" (liste imbriquée)
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);
Valeur - identifiants numériques pour les pages et identifiants textuels pour les produits. Les identifiants des produits doivent inclure le préfixe 'p-', par exemple, 'p-1-', 'p-2-', etc. p-[parentId]-[productId]
Exemple avec un attribut de type "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);
valeur — tableau de tableaux d'intervalles au format ISO 8601. par exemple 2025-02-11T16:00:00:000Z
2025 — année; 02 — mois; 11 — jour du mois; T — séparateur entre la date et l'heure; 16:00:00 — heure au format heures:minutes:secondes; 000Z — millisecondes et indication de fuseau horaire. Z signifie que l'heure est spécifiée au format UTC.
Exemple de retour :
{
"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": ""
}
Schéma de réponse
Schéma: IPostFormResponse
formData: object
Données du formulaire.
exemple:
{
"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
L'identifiant unique de la page de formulaire.
exemple: 12345
formData.formIdentifier: string
L'identifiant du formulaire.
exemple: "contact_form"
formData.time: string
L'heure de la soumission du formulaire.
exemple: "2023-10-01T12:00:00Z"
formData.entityIdentifier: string
L'identifiant de l'entité.
exemple: "blog"
formData.isUserAdmin: boolean
L'utilisateur est-il administrateur.
exemple: false
formData.formModuleId: number
L'identifiant du module de formulaire.
exemple: 2
formData.parentId: any
L'identifiant parent.
exemple: null
formData.userIdentifier: any
L'identifiant de l'utilisateur.
exemple: null
formData.formData: FormDataType[]
Données des champs du formulaire.
exemple:
[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]
actionMessage: string
Message d'action pour les données du formulaire.
exemple: "Formulaire soumis avec succès"