Chuyển đến nội dung chính

getFormByMarker

Lấy một đối tượng biểu mẫu theo marker.

Mô tả

Phương thức này truy xuất một đối tượng biểu mẫu duy nhất dựa trên định danh văn bản của nó (marker) từ API. Nó trả về một Promise mà khi hoàn thành sẽ trả về một đối tượng FormEntity.

Forms.getFormByMarker(

marker*, langCode

);

Sơ đồ tham số

Sơ đồ

marker(bắt buộc): string
Marker của biểu mẫu
ví dụ: "contact_form"

langCode: string
Mã ngôn ngữ. Mặc định: "en_US"
ví dụ: "en_US"

Ví dụ

Ví dụ tối thiểu

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

Ví dụ với các thuộc tính

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

Ví dụ phản hồi

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

Sơ đồ phản hồi

Sơ đồ: IFormsEntity

id: number
Định danh của đối tượng.
ví dụ: 12345

attributeSetId: number | null
Định danh của bộ thuộc tính đang được sử dụng, hoặc null nếu không áp dụng.
ví dụ: 1234

type: string | null
Loại biểu mẫu.
ví dụ: "contact"

localizeInfos: IFormLocalizeInfo
Tên của biểu mẫu và các trường địa phương hóa phía biểu mẫu (tin nhắn thành công/lỗi, cấu hình xử lý, v.v.).
ví dụ:

{
"key": "value"
}

localizeInfos.title: string
Tên địa phương hóa của biểu mẫu. Tùy chọn — payload là một đối tượng rỗng khi biểu mẫu không có địa phương hóa cho ngôn ngữ yêu cầu (ví dụ: trong các phản hồi danh sách).
ví dụ: "Biểu mẫu liên hệ"

localizeInfos.titleForSite: string
Tên công khai hiển thị trên trang web.
ví dụ: "Tiêu đề biểu mẫu (cho ứng dụng)"

localizeInfos.successMessage: string
Tin nhắn hiển thị cho người dùng sau khi gửi thành công.

localizeInfos.unsuccessMessage: string
Tin nhắn hiển thị cho người dùng sau khi gửi không thành công.

localizeInfos.urlAddress: string
URL nơi dữ liệu biểu mẫu được gửi để xử lý (được sử dụng bởi processingType: "url").

localizeInfos.database: string
Cờ/id cơ sở dữ liệu được sử dụng bởi bộ xử lý biểu mẫu (kiểu chuỗi trong API: "0" / "1" / id).

localizeInfos.script: string
Cờ/id kịch bản được sử dụng bởi bộ xử lý biểu mẫu (kiểu chuỗi trong API: "0" / "1" / id).

version: number
Số phiên bản của đối tượng.
ví dụ: 1

position: number
Vị trí của đối tượng.
ví dụ: 1

identifier: string
Định danh văn bản cho trường bản ghi.
ví dụ: "form_contact_us"

processingType: string
Loại xử lý biểu mẫu.
ví dụ: "async"

templateId: number | null
Định danh của mẫu được sử dụng bởi biểu mẫu, hoặc null nếu không có mẫu nào được sử dụng.
ví dụ: 6789

attributes: IFormAttribute[]
Các trường biểu mẫu với địa phương hóa của chúng, bộ xác thực và cờ cụ thể của biểu mẫu, được sắp xếp theo position. API trả về một đối tượng rỗng cho các biểu mẫu không có thuộc tính — SDK chuẩn hóa nó thành một mảng rỗng.

attributes.marker: string
Marker trường (tên máy).
ví dụ: "email"

attributes.type: AttributeType
Kiểu dữ liệu thuộc tính (ví dụ: "string", "file").

attributes.position: number
Vị trí sắp xếp của trường.
ví dụ: 1

attributes.isVisible: boolean
Liệu trường có được hiển thị cho người dùng hay không.
ví dụ: true

attributes.localizeInfos: IAttributeLocalizeInfo
Nhãn địa phương hóa cho trường. Đối với các thuộc tính timeInterval, cũng mang payload lịch trình intervals.

attributes.initialValue: unknown
Giá trị mặc định được áp dụng khi trường không được điền.

attributes.listTitles: IListTitle[]
Các tùy chọn được định nghĩa trước cho các trường list/radioButton; mảng rỗng cho các loại khác.

attributes.validators: IAttributeValidators
Các quy tắc xác thực; đối tượng rỗng khi không có bộ xác thực nào được cấu hình.

attributes.settings: Record<string, unknown>
Cấu hình cụ thể cho trường; đối tượng rỗng theo mặc định.

attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
Các trường con lồng nhau được khóa theo marker; đối tượng rỗng khi không có.

attributes.isLogin: boolean
Liệu trường này có chứa giá trị đăng nhập được sử dụng cho xác thực hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isSignUp: boolean
Liệu trường này có bắt buộc trong quá trình đăng ký hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isPassword: boolean
Liệu trường này có chứa giá trị mật khẩu được sử dụng cho xác thực hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isSignUpRequired: boolean
Liệu trường này có bắt buộc trong quá trình đăng ký hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isNotificationEmail: boolean
Liệu trường này có lưu trữ email được sử dụng cho thông báo hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isNotificationPhonePush: boolean
Liệu trường này có lưu trữ số điện thoại được sử dụng cho thông báo đẩy hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

attributes.isNotificationPhoneSMS: boolean
Liệu trường này có lưu trữ số điện thoại được sử dụng cho thông báo SMS hay không. Tùy chọn — chỉ có mặt trên các thuộc tính của biểu mẫu đăng nhập/đăng ký.
ví dụ: false

total: number | string
Tổng số lượng mục liên quan.
ví dụ: "1"

moduleFormConfigs: IFormConfig[]
Mảng các cấu hình biểu mẫu mô-đun liên quan đến biểu mẫu.

moduleFormConfigs.id: number
Định danh của cấu hình biểu mẫu.
ví dụ: 123

moduleFormConfigs.formIdentifier: string
Định danh biểu mẫu (chỉ trong API sản phẩm/trang).
ví dụ: "review"

moduleFormConfigs.moduleIdentifier: string
Định danh của mô-đun liên quan đến cấu hình biểu mẫu.
ví dụ: "module_identifier"

moduleFormConfigs.isGlobal: boolean
Chỉ ra liệu cấu hình biểu mẫu có toàn cầu hay không.
ví dụ: true

moduleFormConfigs.isClosed: boolean
Chỉ ra liệu cấu hình biểu mẫu có bị đóng hay không.
ví dụ: true

moduleFormConfigs.isModerate: boolean
Chỉ ra liệu biểu mẫu có yêu cầu kiểm duyệt hay không (chỉ trong API sản phẩm/trang).
ví dụ: false

moduleFormConfigs.viewOnlyUserData: boolean
Chỉ ra liệu cấu hình biểu mẫu có cho phép xem dữ liệu người dùng hay không (được sử dụng trong API biểu mẫu).
ví dụ: true

moduleFormConfigs.commentOnlyUserData: boolean
Chỉ ra liệu cấu hình biểu mẫu có cho phép bình luận về dữ liệu người dùng hay không (được sử dụng trong API biểu mẫu).
ví dụ: true

moduleFormConfigs.viewOnlyMyData: boolean
Chỉ ra liệu cấu hình biểu mẫu có cho phép xem dữ liệu của tôi hay không (được sử dụng trong API sản phẩm/trang).
ví dụ: false

moduleFormConfigs.commentOnlyMyData: boolean
Chỉ ra liệu cấu hình biểu mẫu có cho phép bình luận về dữ liệu của tôi hay không (được sử dụng trong API sản phẩm/trang).
ví dụ: false

moduleFormConfigs.entityIdentifiers: object[]
Một mảng các định danh thực thể liên quan đến cấu hình biểu mẫu.

moduleFormConfigs.nestedEntityIdentifiers: string[]
Một mảng các chuỗi định danh thực thể lồng nhau (chỉ trong API sản phẩm/trang).
ví dụ: ["catalog"]

moduleFormConfigs.exceptionIds: string[]
Một mảng các định danh ngoại lệ.

moduleFormConfigs.formDataCount: number
Tổng số lượng mục dữ liệu biểu mẫu (chỉ trong API sản phẩm/trang).
ví dụ: 306

moduleFormConfigs.entityFormDataCount: Record<string, number>
Số lượng dữ liệu biểu mẫu theo định danh thực thể (chỉ trong API sản phẩm/trang).
ví dụ:

{"catalog": 306}

moduleFormConfigs.isRating: boolean | null
Chỉ ra liệu cấu hình biểu mẫu này có dành cho đánh giá hay không.
ví dụ: null

moduleFormConfigs.isAnonymous: boolean | null
Chỉ ra liệu các bài gửi ẩn danh có được phép hay không.
ví dụ: null

moduleFormConfigs.allowHalfRatings: boolean | null
Chỉ ra liệu các đánh giá nửa có được phép hay không.
ví dụ: null

moduleFormConfigs.allowRerating: boolean | null
Chỉ ra liệu việc đánh giá lại có được phép hay không.
ví dụ: null

moduleFormConfigs.maxRatingScale: number | null
Giá trị tối đa của thang đánh giá.
ví dụ: 5

moduleFormConfigs.ratingCalculation: string
Phương pháp tính toán đánh giá.
ví dụ: "average"


Ví dụ sử dụng

Hướng dẫn từng bước trong tài liệu:

Thử nghiệm trực tiếp

Chạy phương thức này tương tác trong JS SDK sandbox — khi truy cập lần đầu, kết nối URL Dự án và Mã Token Ứng dụng của bạn, sau đó mở bất kỳ kịch bản nào bên dưới để xem Forms.getFormByMarker() hoạt động: