Lewati ke konten utama

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 timeInterval dan kirimkan.
  • Formulir Formik — buat formulir Formik dari konfigurasi formulir OneEntry menggunakan useFormConfig.
  • Daftar pengguna — gunakan formulir pendaftaran untuk membuat akun baru.