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:
- Gửi một biểu mẫu — lấy một biểu mẫu liên hệ theo marker và gửi lại dữ liệu người dùng về OneEntry.
- Biểu mẫu thực thể — xử lý một biểu mẫu chứa trường loại thực thể (trang hoặc sản phẩm).
- Đăng ký người dùng — sử dụng một biểu mẫu đăng ký để tạo tài khoản mới.
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:
- Gửi một biểu mẫu — lấy một biểu mẫu liên hệ theo marker và gửi lại dữ liệu người dùng về OneEntry.
- Biểu mẫu thực thể — xử lý một biểu mẫu chứa trường loại thực thể (trang hoặc sản phẩm).
- Biểu mẫu tệp — gửi một biểu mẫu bao gồm tệp đính kèm.
- Biểu mẫu spam — gửi một biểu mẫu với bảo vệ spam.
- Biểu mẫu lịch trình — chọn một khoảng thời gian từ trường
timeIntervalvà gửi nó. - Biểu mẫu Formik — xây dựng một biểu mẫu Formik từ cấu hình biểu mẫu OneEntry bằng cách sử dụng
useFormConfig. - Đăng ký người dùng — sử dụng một biểu mẫu đăng ký để tạo tài khoản mới.