getFormByMarker
Mengambil satu objek formulir berdasarkan penanda.
Deskripsi
Metode ini mengambil satu objek formulir berdasarkan pengidentifikasi tekstualnya (penanda) dari API. Ini mengembalikan sebuah Promise yang menyelesaikan menjadi objek FormEntity.
Forms.getFormByMarker(
marker*,
langCode
);
Skema parameter
Skema
marker(required): string
Penanda formulir
contoh: "contact_form"
langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"
Contoh
Contoh minimal
const response = await Forms.getFormByMarker('my-form');
Contoh dengan atribut
const response = await Forms.getFormByMarker('my-form', 'en_US');
Contoh respons
{
"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",
"position": 1,
"settings": {},
"isVisible": true,
"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"
}
}
},
{
"type": "file",
"marker": "file",
"position": 2,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"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
}
]
}
Skema respons
Skema: IFormsEntity
id: number
Pengidentifikasi objek.
contoh: 12345
attributeSetId: number | null
Pengidentifikasi set atribut yang digunakan, atau null jika tidak berlaku.
contoh: 1234
type: string | null
Jenis formulir.
contoh: "contact"
localizeInfos: IFormLocalizeInfo
Nama formulir dan bidang lokalisi sisi formulir (pesan sukses/gagal, konfigurasi pemrosesan, dll.).
contoh:
{
"key": "value"
}
localizeInfos.title: string
Nama lokal dari formulir. Opsional — payload adalah objek kosong ketika formulir tidak memiliki lokalisi untuk bahasa yang diminta (misalnya dalam respons daftar).
contoh: "Formulir Kontak"
localizeInfos.titleForSite: string
Judul yang ditampilkan di situs web.
contoh: "Judul formulir (untuk aplikasi)"
localizeInfos.successMessage: string
Pesan yang ditampilkan kepada pengguna setelah pengiriman berhasil.
localizeInfos.unsuccessMessage: string
Pesan yang ditampilkan kepada pengguna setelah pengiriman gagal.
localizeInfos.urlAddress: string
URL tempat data formulir dikirim untuk diproses (digunakan oleh processingType: "url").
localizeInfos.database: string
Flag/id basis data yang digunakan oleh pemroses formulir (tipe string dalam API: "0" / "1" / id).
localizeInfos.script: string
Flag/id skrip yang digunakan oleh pemroses formulir (tipe string dalam API: "0" / "1" / id).
version: number
Nomor versi objek.
contoh: 1
position: number
Posisi objek.
contoh: 1
identifier: string
Pengidentifikasi tekstual untuk bidang catatan.
contoh: "form_contact_us"
processingType: string
Jenis pemrosesan formulir.
contoh: "async"
templateId: number | null
Pengidentifikasi template yang digunakan oleh formulir, atau null jika tidak ada template yang digunakan.
contoh: 6789
attributes: IFormAttribute[]
Bidang formulir dengan lokalisi, validator, dan flag spesifik formulir, diurutkan berdasarkan position. API mengembalikan objek kosong untuk formulir tanpa atribut — SDK menormalkannya menjadi array kosong.
attributes.marker: string
Penanda bidang (nama mesin).
contoh: "email"
attributes.type: AttributeType
Jenis data atribut (misalnya "string", "file").
attributes.position: number
Posisi urut bidang.
contoh: 1
attributes.isVisible: boolean
Apakah bidang tersebut terlihat oleh pengguna.
contoh: true
attributes.localizeInfos: IAttributeLocalizeInfo
Label lokal untuk bidang. Untuk atribut timeInterval, juga membawa payload jadwal intervals.
attributes.initialValue: unknown
Nilai default yang diterapkan ketika bidang tidak diisi.
attributes.listTitles: IListTitle[]
Opsi yang telah ditentukan untuk bidang list/radioButton; array kosong untuk jenis lainnya.
attributes.validators: IAttributeValidators
Aturan validasi; objek kosong ketika tidak ada validator yang dikonfigurasi.
attributes.settings: Record<string, unknown>
Konfigurasi spesifik bidang; objek kosong secara default.
attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
Sub-bidang bersarang yang dikunci oleh penanda; objek kosong ketika tidak ada.
attributes.isLogin: boolean
Apakah bidang ini membawa nilai login yang digunakan untuk otentikasi. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isSignUp: boolean
Apakah bidang ini diperlukan saat mendaftar. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isPassword: boolean
Apakah bidang ini membawa nilai kata sandi yang digunakan untuk otentikasi. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isSignUpRequired: boolean
Apakah bidang ini diperlukan saat mendaftar. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isNotificationEmail: boolean
Apakah bidang ini menyimpan email yang digunakan untuk notifikasi. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isNotificationPhonePush: boolean
Apakah bidang ini menyimpan nomor telepon yang digunakan untuk notifikasi push. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
attributes.isNotificationPhoneSMS: boolean
Apakah bidang ini menyimpan nomor telepon yang digunakan untuk notifikasi SMS. Opsional — hanya ada pada atribut formulir masuk/daftar.
contoh: false
total: number | string
Total jumlah entri terkait.
contoh: "1"
moduleFormConfigs: IFormConfig[]
Array konfigurasi formulir modul yang terkait dengan formulir.
moduleFormConfigs.id: number
Pengidentifikasi konfigurasi formulir.
contoh: 123
moduleFormConfigs.formIdentifier: string
Pengidentifikasi formulir (hanya dalam API produk/halaman).
contoh: "review"
moduleFormConfigs.moduleIdentifier: string
Pengidentifikasi modul yang terkait dengan konfigurasi formulir.
contoh: "module_identifier"
moduleFormConfigs.isGlobal: boolean
Menunjukkan apakah konfigurasi formulir bersifat global.
contoh: true
moduleFormConfigs.isClosed: boolean
Menunjukkan apakah konfigurasi formulir ditutup.
contoh: true
moduleFormConfigs.isModerate: boolean
Menunjukkan apakah formulir memerlukan moderasi (hanya dalam API produk/halaman).
contoh: false
moduleFormConfigs.viewOnlyUserData: boolean
Menunjukkan apakah konfigurasi formulir memungkinkan melihat data pengguna (digunakan dalam API formulir).
contoh: true
moduleFormConfigs.commentOnlyUserData: boolean
Menunjukkan apakah konfigurasi formulir memungkinkan mengomentari data pengguna (digunakan dalam API formulir).
contoh: true
moduleFormConfigs.viewOnlyMyData: boolean
Menunjukkan apakah konfigurasi formulir memungkinkan melihat data saya (digunakan dalam API produk/halaman).
contoh: false
moduleFormConfigs.commentOnlyMyData: boolean
Menunjukkan apakah konfigurasi formulir memungkinkan mengomentari data saya (digunakan dalam API produk/halaman).
contoh: false
moduleFormConfigs.entityIdentifiers: object[]
Array pengidentifikasi entitas yang terkait dengan konfigurasi formulir.
moduleFormConfigs.nestedEntityIdentifiers: string[]
Array string pengidentifikasi entitas bersarang (hanya dalam API produk/halaman).
contoh: ["catalog"]
moduleFormConfigs.exceptionIds: string[]
Array pengidentifikasi pengecualian.
moduleFormConfigs.formDataCount: number
Total jumlah entri data formulir (hanya dalam API produk/halaman).
contoh: 306
moduleFormConfigs.entityFormDataCount: Record<string, number>
Jumlah data formulir per pengidentifikasi entitas (hanya dalam API produk/halaman).
contoh:
{"catalog": 306}
moduleFormConfigs.isRating: boolean | null
Menunjukkan apakah konfigurasi formulir ini untuk penilaian.
contoh: null
moduleFormConfigs.isAnonymous: boolean | null
Menunjukkan apakah pengiriman anonim diizinkan.
contoh: null
moduleFormConfigs.allowHalfRatings: boolean | null
Menunjukkan apakah penilaian setengah diizinkan.
contoh: null
moduleFormConfigs.allowRerating: boolean | null
Menunjukkan apakah penilaian ulang diizinkan.
contoh: null
moduleFormConfigs.maxRatingScale: number | null
Nilai maksimum skala penilaian.
contoh: 5
moduleFormConfigs.ratingCalculation: string
Metode perhitungan penilaian.
contoh: "average"
Contoh penggunaan
Panduan langkah demi langkah dalam dokumentasi:
- Kirim formulir — ambil formulir kontak berdasarkan penanda dan kirim input pengguna kembali ke OneEntry.
- Formulir entitas — tangani formulir yang berisi bidang tipe entitas (halaman atau produk).
- Daftar pengguna — gunakan formulir pendaftaran untuk membuat akun baru.
Coba secara langsung
Jalankan metode ini secara interaktif di JS SDK sandbox — pada kunjungan pertama, sambungkan URL Proyek dan Token Aplikasi Anda, lalu buka skenario apa pun di bawah ini untuk melihat Forms.getFormByMarker() beraksi:
- Kirim formulir — ambil formulir kontak berdasarkan penanda dan kirim input pengguna kembali ke OneEntry.
- Formulir entitas — tangani formulir yang berisi bidang tipe entitas (halaman atau produk).
- Formulir file — kirim formulir yang menyertakan lampiran file.
- Formulir spam — kirim formulir dengan perlindungan spam.
- Formulir jadwal — pilih slot waktu dari bidang
timeIntervaldan kirimkan. - Formulir Formik — buat formulir Formik dari konfigurasi formulir OneEntry menggunakan
useFormConfig. - Daftar pengguna — gunakan formulir pendaftaran untuk membuat akun baru.