انتقل إلى المحتوى الرئيسي

postFormsData

إنشاء كائن بيانات النموذج لحفظ المعلومات.

الوصف

تُرجع هذه الطريقة كائن FormDataEntity الذي تم إنشاؤه. إذا كنت ترغب في تغيير اللغة، فقط مررها كوسيط ثانٍ.

تقبل الطرق التي تحتوي على طلب POST كجسم الطلب كائنًا يحتوي على حقل بيانات النموذج، والذي يتوافق مع نوع المعلومات المرسلة. فيما يلي أمثلة على كائنات بيانات النموذج لأنواع بيانات مختلفة.

FormData.postFormsData(

body*, body.formIdentifier*, body.formModuleConfigId*, body.moduleEntityIdentifier*, body.replayTo*, body.status*, body.formData*, body.fileQuery, langCode

);

مخطط المعلمات

المخطط (body)

body(required): IBodyPostFormData
جسم الطلب
مثال:

{
"formIdentifier": "test-form",
"formModuleConfigId": 2,
"moduleEntityIdentifier": "blog",
"replayTo": null,
"status": "sent",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
]
}

body.formIdentifier(required): string
معرف نصي (علامة) للنموذج.
مثال: "form"

body.formModuleConfigId(required): number
المعرف الفريد لتكوين وحدة النموذج.
مثال: 2

body.moduleEntityIdentifier(required): string
معرف نصي (علامة) لكيان الوحدة.
مثال: "blog"

body.replayTo(required): string | null
البريد الإلكتروني للرد عليه.
مثال: "some@email.com"

body.status(required): string
حالة النموذج.
مثال: "sent"

body.formData(required): FormDataType[]
مصفوفة من كائنات بيانات النموذج.
مثال:

[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]

body.fileQuery: IUploadingQuery
استعلام ملف اختياري لتحميل الملفات.
مثال:

{
"type": "page",
"entity": "editor",
"id": 3787
}

langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"

أمثلة

مثال بسيط


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);

مثال مع نوع بسيط من السمة "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);


مثال مع نوع بسيط من السمة "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);


مثال مع نوع بسيط من السمة "text" (يمكن تقديم واحدة فقط من htmlValue أو plainValue أو 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);


مثال مع نوع بسيط من السمة "textWithHeader" (يمكن تقديم واحدة فقط من htmlValue أو plainValue أو mdValue)


const body = {
"formIdentifier": "contact_us",
"formModuleConfigId": 2,
"moduleEntityIdentifier": "blog",
"replayTo": null,
"status": "sent",
"formData": [
{
marker: "textwithheader_marker",
type: "textWithHeader",
value: [
{
"header": "Headline",
"htmlValue": "<p>Hello World</p>",
"params": {
"isImageCompressed": true,
"editorMode": "html"
}
}
]
}
]
};

const response = await FormData.postFormsData(body);


مثال مع نوع السمة "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';

/* في سيناريو العالم الحقيقي، يجب عليك استخدام واجهة برمجة التطبيقات File لإنشاء ملف من عنوان URL، ولكن من أجل البساطة، سنستخدم عنوان URL للملف المحدد مسبقًا ونستخدم طريقة createFileFromUrl لهذا المثال */
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);


مثال مع نوع السمة "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';

/* في سيناريو العالم الحقيقي، يجب عليك استخدام واجهة برمجة التطبيقات File لإنشاء ملف من عنوان URL، ولكن من أجل البساطة، سنستخدم عنوان URL للملف المحدد مسبقًا ونستخدم طريقة createFileFromUrl لهذا المثال */
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);


مثال مع نوع السمة "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';

/* في سيناريو العالم الحقيقي، يجب عليك استخدام واجهة برمجة التطبيقات File لإنشاء ملف من عنوان URL، ولكن من أجل البساطة، سنستخدم عنوان URL للملف المحدد مسبقًا ونستخدم طريقة createFileFromUrl لهذا المثال */
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);


مثال مع نوع السمة "radioButton" أو "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);


مثال مع نوع السمة "entity" (قائمة متداخلة)


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);

القيمة - معرفات عددية للصفحات ومعرفات نصية للمنتجات. يجب أن تتضمن معرفات المنتجات البادئة 'p-'، على سبيل المثال، 'p-1-'، 'p-2-'، إلخ. p-[parentId]-[productId]


مثال مع نوع السمة "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);

القيمة — مصفوفة من مصفوفات الفواصل الزمنية بتنسيق ISO 8601. على سبيل المثال 2025-02-11T16:00:00:000Z

2025 — السنة؛ 02 — الشهر؛ 11 — يوم الشهر؛ T — الفاصل بين التاريخ والوقت؛ 16:00:00 — الوقت بتنسيق الساعات:الدقائق:الثواني؛ 000Z — الميلي ثانية وإشارة المنطقة الزمنية. Z تعني أن الوقت محدد بتنسيق UTC.


مثال على الاستجابة:

{
"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": ""
}

مخطط الاستجابة

المخطط: IPostFormResponse

formData: object
بيانات النموذج.
مثال:

{
"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
المعرف الفريد لصفحة النموذج.
مثال: 12345

formData.formIdentifier: string
معرف النموذج.
مثال: "contact_form"

formData.time: string
وقت تقديم النموذج.
مثال: "2023-10-01T12:00:00Z"

formData.entityIdentifier: string
معرف الكيان.
مثال: "blog"

formData.isUserAdmin: boolean
هل المستخدم مسؤول.
مثال: false

formData.formModuleId: number
معرف وحدة النموذج.
مثال: 2

formData.parentId: any
المعرف الأب.
مثال: null

formData.userIdentifier: any
معرف المستخدم.
مثال: null

formData.formData: FormDataType[]
بيانات حقول النموذج.
مثال:

[
{
"marker": "name",
"type": "string",
"value": "Jack"
}
]

actionMessage: string
رسالة الإجراء لبيانات النموذج.
مثال: "تم تقديم النموذج بنجاح"