Ana içeriğe geç

getFormByMarker

Bir form nesnesini işaretçi ile almak.

Açıklama

Bu yöntem, API'den metinsel tanımlayıcısına (işaretçi) dayalı olarak tek bir form nesnesini alır. Bir FormEntity nesnesine çözülmekte olan bir Promise döndürür.

Forms.getFormByMarker(

marker*, langCode

);

Parametreler şeması

Şema

marker(required): string
Formun işaretçisi
örnek: "contact_form"

langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"

Örnekler

Minimal örnek

const response = await Forms.getFormByMarker('my-form');

Özelliklerle örnek

const response = await Forms.getFormByMarker('my-form', 'en_US');

Örnek yanıt

{
"id": 6,
"attributeSetId": 15,
"type": "data",
"localizeInfos": {
"title": "Test form",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 14,
"position": 1,
"identifier": "test-form",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "string",
"marker": "name",
"isLogin": false,
"isSignUp": false,
"position": 1,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
},
"stringInspectionValidator": {
"stringMax": 0,
"stringMin": 0,
"stringLength": 0
}
},
"initialValue": null,
"localizeInfos": {
"title": "Name"
},
"additionalFields": {
"additional_field": {
"type": "string",
"value": "Additional field data",
"marker": "additional_field"
}
},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
},
{
"type": "file",
"marker": "file",
"isLogin": false,
"isSignUp": false,
"position": 2,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"moduleIdentifier": "content",
"isGlobal": false,
"isClosed": false,
"viewOnlyUserData": false,
"commentOnlyUserData": false,
"entityIdentifiers": [
{
"id": "blog",
"isNested": false
}
],
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null
}
]
}

Yanıt şeması

Şema: IFormsEntity

id: number
Nesnenin tanımlayıcısı.
örnek: 12345

attributeSetId: number | null
Kullanılan özellik setinin tanımlayıcısı veya geçerli değilse null.
örnek: 1234

type: string | null
Form türü.
örnek: "contact"

localizeInfos: IFormLocalizeInfo
Formun adı ve form tarafındaki yerelleştirme alanları (başarı/hata mesajları, işleme yapılandırması vb.).
örnek:

{
"key": "value"
}

version: number
Nesnenin sürüm numarası.
örnek: 1

position: number
Nesnenin konumu.
örnek: 1

identifier: string
Kayıt alanı için metinsel tanımlayıcı.
örnek: "form_contact_us"

processingType: string
Form işleme türü.
örnek: "async"

templateId: number | null
Form tarafından kullanılan şablonun tanımlayıcısı veya şablon kullanılmıyorsa null.
örnek: 6789

attributes: IFormAttribute[]
Form alanları, yerelleştirmeleri, doğrulayıcıları ve form spesifik bayrakları ile birlikte.

attributes.marker: string
Alan işaretçisi (makine adı).
örnek: "email"

attributes.type: AttributeType
Özellik veri türü (örneğin "string", "file").

attributes.position: number
Alan sıralama pozisyonu.
örnek: 1

attributes.isVisible: boolean
Alan kullanıcının erişimine açık mı.
örnek: true

attributes.localizeInfos: IAttributeLocalizeInfo
Alan için yerelleştirilmiş etiketler. timeInterval özellikleri için, ayrıca intervals program yükünü taşır.

attributes.initialValue: unknown
Alan doldurulmadığında uygulanan varsayılan değer.

attributes.listTitles: IListTitle[]
list/radioButton alanları için önceden tanımlanmış seçenekler; diğer türler için boş dizi.

listTitles.title: string
Liste öğesi ile ilişkili başlık veya ad.
örnek: "Öğe Adı"

listTitles.value: number | string
Liste öğesinin değeri, bağlama bağlı olarak ya bir sayı ya da bir dize olabilir.
örnek: 42

listTitles.position: string | number | null
Liste öğesinin pozisyonu, bir dize, sayı veya geçerli değilse null olarak temsil edilebilir.
örnek: 1

listTitles.extended: object
Liste öğesi ile ilgili ek özellikler veya meta veriler içeren bir nesne. Bu, temel bilgileri genişleten herhangi bir ekstra detayı içerebilir.

listTitles.extended.value: string | null
Genişletilmiş değer, bir dize veya null olabilir.
örnek: "extra_value"

listTitles.extended.type: string | null
Genişletilmiş değerin türü, bir dize veya null olabilir.
örnek: "color"

attributes.validators: IAttributeValidators
Doğrulama kuralları; doğrulayıcı yapılandırılmadığında boş nesne.

validators.requiredValidator: object
Alanı zorunlu olarak işaretler. Şekil: { strict: boolean }.
örnek: { strict: true }

validators.stringInspectionValidator: object
Dize alanları için uzunluk kısıtlamaları. Şekil: { stringMin: number; stringMax: number; stringLength: number }.

validators.emailInspectionValidator: boolean
E-posta formatı doğrulaması için geçiş.

validators.defaultValueValidator: object
Varsayılan değer yapılandırması ile isteğe bağlı özel hata metni. Şekil: { customErrorText?: string; fieldDefaultValue?: unknown; fieldDefaultValue2?: unknown }.

attributes.settings: Record<string, unknown>
Alan spesifik yapılandırma; varsayılan olarak boş nesne.

attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
İşaretçi ile anahtarlanan iç içe alt alanlar; yoksa boş nesne.

attributes.isLogin: boolean
Bu alanın kimlik doğrulama için kullanılan giriş değerini taşıyıp taşımadığı.
örnek: false

attributes.isSignUp: boolean
Bu alanın kayıt sırasında zorunlu olup olmadığı.
örnek: false

attributes.isNotificationEmail: boolean
Bu alanın bildirimler için kullanılan e-posta adresini saklayıp saklamadığı.
örnek: false

attributes.isNotificationPhonePush: boolean
Bu alanın push bildirimleri için kullanılan telefon numarasını saklayıp saklamadığı.
örnek: false

attributes.isNotificationPhoneSMS: boolean
Bu alanın SMS bildirimleri için kullanılan telefon numarasını saklayıp saklamadığı.
örnek: false

total: number | string
İlgili girişlerin toplam sayısı.
örnek: "1"

moduleFormConfigs: IFormConfig[]
Form ile ilişkili modül form yapılandırmalarının dizisi.

moduleFormConfigs.id: number
Form yapılandırmasının tanımlayıcısı.
örnek: 123

moduleFormConfigs.formIdentifier: string
Form tanımlayıcısı (sadece ürünler/sayfalar API'sinde).
örnek: "review"

moduleFormConfigs.moduleIdentifier: string
Form yapılandırması ile ilişkili modülün tanımlayıcısı.
örnek: "module_identifier"

moduleFormConfigs.isGlobal: boolean
Form yapılandırmasının küresel olup olmadığını gösterir.
örnek: true

moduleFormConfigs.isClosed: boolean
Form yapılandırmasının kapalı olup olmadığını gösterir.
örnek: true

moduleFormConfigs.isModerate: boolean
Formun moderasyon gerektirip gerektirmediğini gösterir (sadece ürünler/sayfalar API'sinde).
örnek: false

moduleFormConfigs.viewOnlyUserData: boolean
Form yapılandırmasının kullanıcı verilerini görüntülemeye izin verip vermediğini gösterir (formlar API'sinde kullanılır).
örnek: true

moduleFormConfigs.commentOnlyUserData: boolean
Form yapılandırmasının kullanıcı verileri üzerinde yorum yapmaya izin verip vermediğini gösterir (formlar API'sinde kullanılır).
örnek: true

moduleFormConfigs.viewOnlyMyData: boolean
Form yapılandırmasının benim verilerimi görüntülemeye izin verip vermediğini gösterir (ürünler/sayfalar API'sinde kullanılır).
örnek: false

moduleFormConfigs.commentOnlyMyData: boolean
Form yapılandırmasının benim verilerim üzerinde yorum yapmaya izin verip vermediğini gösterir (ürünler/sayfalar API'sinde kullanılır).
örnek: false

moduleFormConfigs.entityIdentifiers: object[]
Form yapılandırması ile ilişkili varlık tanımlayıcılarının dizisi.

moduleFormConfigs.nestedEntityIdentifiers: string[]
İç içe varlık tanımlayıcı dizelerinin dizisi (sadece ürünler/sayfalar API'sinde).
örnek: ["catalog"]

moduleFormConfigs.exceptionIds: string[]
Bir dizi istisna tanımlayıcısı.

moduleFormConfigs.formDataCount: number
Form veri girişlerinin toplam sayısı (sadece ürünler/sayfalar API'sinde).
örnek: 306

moduleFormConfigs.entityFormDataCount: Record<string, number>
Varlık tanımlayıcısına göre form veri sayısı (sadece ürünler/sayfalar API'sinde).
örnek: {"catalog": 306}

moduleFormConfigs.isRating: boolean | null
Bu form yapılandırmasının puanlama için olup olmadığını gösterir.
örnek: null

moduleFormConfigs.isAnonymous: boolean | null
Anonim gönderimlere izin verilip verilmediğini gösterir.
örnek: null

moduleFormConfigs.allowHalfRatings: boolean | null
Yarım puanlamalara izin verilip verilmediğini gösterir.
örnek: null

moduleFormConfigs.allowRerating: boolean | null
Yeniden puanlamaya izin verilip verilmediğini gösterir.
örnek: null

moduleFormConfigs.maxRatingScale: number | null
Maksimum puanlama ölçeği değeri.
örnek: 5

moduleFormConfigs.ratingCalculation: string
Puanlama hesaplama yöntemi.
örnek: "average"