Aller au contenu principal

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"