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

getFormsDataByMarker

البحث عن بيانات النموذج بواسطة معرف نصي (علامة).

الوصف

تسترجع هذه الطريقة كائن بيانات نموذج محدد بواسطة علامته من واجهة برمجة التطبيقات. تقبل معلمة العلامة كعلامة لبيانات النموذج. تعيد Promise التي تحل إلى مصفوفة من كائنات من نوع FormDataEntity.

FormData.getFormsDataByMarker(

marker*, formModuleConfigId*, body, isExtended, langCode, offset, limit

);

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

المخطط

marker(مطلوب): string
علامة النموذج
مثال: "contact_form"

formModuleConfigId(مطلوب): number
معرف تكوين وحدة النموذج
مثال: 4

body: IFormsDataFilter
تصفية السجلات التي سيتم إرجاعها. كل حقل اختياري؛ الحقل المفقود أو الفارغ لا يتم تطبيقه
مثال:

{
"entityIdentifier": "blog",
"parentId": 10,
"userIdentifier": "",
"status": [
"moderation",
"approved"
],
"dateFrom": "2025-01-01",
"dateTo": ""
}

body.entityIdentifier: string
المعرف النصي (العلامة) للكيان الذي تنتمي إليه السجلات؛ سلسلة فارغة تعني "لا تصفية".
مثال: "blog"

body.parentId: number
معرف السجل الأب — الطريقة لجلب الردود على تعليق واحد.
مثال: 10

body.userIdentifier: string
المعرف النصي للمرسل؛ سلسلة فارغة تعني "لا تصفية".
مثال: "admin"

body.status: FormDataStatus[]
حالات الاعتدال التي يجب الاحتفاظ بها. يجب أن تكون مصفوفة — يتم رفض سلسلة عارية بـ 400. مصفوفة فارغة تعني "لا تصفية".
مثال: ["approved"]

body.dateFrom: string
الحد الأدنى من تاريخ التقديم، YYYY-MM-DD؛ سلسلة فارغة تعني "لا حد". قيمة لا يمكن لواجهة برمجة التطبيقات تحليلها تفشل الطلب بـ 500.
مثال: "2025-01-01"

body.dateTo: string
الحد الأقصى من تاريخ التقديم، YYYY-MM-DD؛ سلسلة فارغة تعني "لا حد".
مثال: "2025-12-31"

isExtended: number
علامة للحصول على حقول إضافية
مثال: 1

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

offset: number
معلمة للتقسيم. الافتراضي: 0
مثال: 0

limit: number
معلمة للتقسيم. الافتراضي: 30
مثال: 30

بشكل افتراضي، يمكنك استرجاع 10 كائنات. وذلك بسبب حد السجلات في إعدادات أذونات الوحدة.
لعمل التقسيم بشكل صحيح، تحتاج إلى تكوين أذونات الوحدة وفقًا لاحتياجاتك في القسم المقابل.

أمثلة

مثال بسيط

const response = await FormData.getFormsDataByMarker('my-marker', 2);

مثال مع تصفية

const response = await FormData.getFormsDataByMarker(
'my-marker',
2,
{ entityIdentifier: 'blog', status: ['approved'] },
0,
'en_US',
0,
30,
);
يتم إرجاع formData بدون غلاف اللغة

ترجع واجهة برمجة التطبيقات حقول كل سجل مغلفة باللغة — "formData": { "en_US": [ … ] } — ويفكك SDK هذه الحقول للرمز اللغوي المطلوب langCode. اقرأ record.formData كمصفوفة؛ record.formData[langCode] هو undefined ولا يعطي شيئًا بهدوء. هذا ينطبق على كلا القيمتين لـ isExtended.

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

{
"items": [
{
"id": 8409,
"formIdentifier": "test-form",
"time": "2026-08-23T17:47:58.472Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
{
"id": 8392,
"formIdentifier": "test-form",
"time": "2026-08-23T14:37:47.250Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
{
"id": 8375,
"formIdentifier": "test-form",
"time": "2026-08-23T14:31:26.065Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
"..."
],
"total": 853
}

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

المخطط: IFormsDataEntity

items: IFormByMarkerDataEntity[]
مصفوفة من كائنات بيانات النموذج.
مثال:

[
{
"id": 42,
"parentId": null,
"formIdentifier": "test-form",
"depth": 0,
"ip": null,
"status": null,
"userIdentifier": null,
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"time": "2025-03-03T15:51:17.458Z",
"entityIdentifier": "blog",
"isUserAdmin": false,
"formModuleConfigId": 2
}
]

items.id: number
المعرف الفريد لصفحة النموذج.
مثال: 12345

items.parentId: null | number
المعرف الفريد لصفحة النموذج الأب.
مثال: 123

items.formIdentifier: string
معرف الصفحة.
مثال: "contact_form"

items.depth: number
**
مثال: 1

items.ip: string | null
Ip.
مثال: '127.0.0.1'

items.fingerprint: string | null
بصمة الإصبع.
مثال: 'fingerprint'

items.status: string | null
حالة الاعتدال للسجل: "مرسل"، "اعتدال"، "موافق"، "محظور" أو "محذوف"; null عندما لا يقوم النموذج بالاعتدال.
مثال: 'approved'

items.userIdentifier: string | null
المعرف النصي (العلامة) للمستخدم.
مثال: "admin"

items.formData: FormDataType[]
الحقول المقدمة، التي تم فكها بالفعل من اللغة: ترجع واجهة برمجة التطبيقات { "en_US": [ … ] } ويمرر SDK المصفوفة للرمز اللغوي المطلوب langCode. اقرأ formData مباشرة — formData[langCode] هو undefined.
مثال:

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

items.attributeSetIdentifier: string | null
المعرف النصي (العلامة) لمجموعة السمات المستخدمة.
مثال: "product_attributes"

items.time: Date | string
معرف النموذج.
مثال: "2023-10-01T12:00:00Z"

items.entityIdentifier: string
المعرف النصي (العلامة) للكيان.
مثال: "test"

items.isUserAdmin: boolean
هل المستخدم إداري.
مثال: true

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

items.moduleIdentifier: string
معرف الوحدة.
مثال: "blog"

items.entityId: number
معرف تكوين وحدة النموذج.
مثال: 2

total: number
إجمالي عدد السجلات التي تم العثور عليها.
مثال: 100