signUp
Đăng ký người dùng (❗️Đối với các nhà cung cấp có kích hoạt người dùng, mã kích hoạt sẽ được gửi qua phương thức thông báo người dùng tương ứng)
Mô tả
Phương thức nhận body làm tham số. Nó trả về một Promise mà khi hoàn thành sẽ trả về một đối tượng ISignUpEntity.
AuthProvider.signUp(
marker*,
body*,
langCode
);
Sơ đồ tham số
Sơ đồ
marker(bắt buộc): string
Định danh văn bản của nhà cung cấp ủy quyền
ví dụ: "email"
body(bắt buộc): ISignUpData
Nội dung yêu cầu
ví dụ:
{
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "example@oneentry.cloud"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Name"
}
],
"notificationData": {
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
}
body.formIdentifier(bắt buộc): string
Định danh cho mẫu đăng ký.
ví dụ: "reg"
body.langCode: string
Mã ngôn ngữ. Mặc định: "en_US".
body.authData(bắt buộc): Array
Một mảng các đối tượng dữ liệu xác thực, mỗi đối tượng chứa một marker và giá trị tương ứng của nó.
body.formData(bắt buộc): IAuthFormData | IAuthFormData[]
Dữ liệu mẫu cho việc đăng ký.
formData.marker(bắt buộc): string
Một định danh duy nhất cho trường mẫu.
ví dụ: "email"
formData.type(bắt buộc): string
Loại của trường mẫu, chẳng hạn như 'string', 'email', v.v.
ví dụ: "string"
formData.value(bắt buộc): string
Giá trị được nhập vào trường mẫu.
ví dụ: "example@oneentry.cloud"
body.notificationData(bắt buộc): INotificationData
Một đối tượng chứa dữ liệu thông báo, bao gồm email, phonePush và phoneSMS.
notificationData.email(bắt buộc): string
Email của người dùng được sử dụng cho thông báo.
ví dụ: "example@oneentry.cloud"
notificationData.phonePush(bắt buộc): string[]
Số điện thoại được sử dụng cho thông báo đẩy.
ví dụ: ["+19999999999"]
notificationData.phoneSMS: string
Số điện thoại được sử dụng cho thông báo SMS.
ví dụ: "+19999999999"
langCode: string
Mã ngôn ngữ. Mặc định: "en_US"
ví dụ: "en_US"
Ví dụ
Ví dụ tối thiểu
const body = { "formIdentifier": "reg", "authData": [ { "marker": "login", "value": "example@oneentry.cloud" }, { "marker": "password", "value":"12345" } ], "formData": [ { "marker": "last_name", "type": "string", "value": "Tên" } ], "notificationData": { "email": "example@oneentry.cloud", "phonePush": [ "+99999999999" ], "phoneSMS": "+99999999999" }};
const response = await AuthProvider.signUp('email', body);
Ví dụ với các thuộc tính của kiểu đơn giản formData "string", "integer", "float".
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Fyodor Ivanov"
}
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với các thuộc tính của kiểu "date", "dateTime", "time"
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "birthday",
"type": "date",
"value": {
"fullDate": "2024-05-07T21:02:00.000Z",
"formattedValue": "08-05-2024 00:02",
"formatString": "DD-MM-YYYY HH:mm"
}
}
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với thuộc tính của kiểu "text"
Đối với giá trị trường văn bản, bạn có thể sử dụng một trong ba loại giá trị:
- htmlValue - chuỗi HTML
- plainValue - chuỗi
- mdValue - chuỗi Markdown
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "about",
"type": "text",
"value": {
"htmlValue": "<p>This is me</p>",
// "plainValue": "",
// "mdValue": ""
}
}
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với thuộc tính kiểu "textWithHeader"
Đối với giá trị trường textWithHeader, bạn có thể sử dụng một trong ba loại giá trị:
- htmlValue - chuỗi HTML
- plainValue - chuỗi
- mdValue - chuỗi Markdown
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "about",
"type": "textWithHeader",
"value": {
"header": "Header",
"htmlValue": "<p>This is me</p>",
// "plainValue": "",
// "mdValue": ""
}
}
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với các thuộc tính kiểu "image" và "groupOfImages"
Nếu một đối tượng fileQuery được cung cấp trong đối tượng formData, tệp sẽ được tự động tải lên đám mây OneEntry thông qua SDK hoặc sử dụng File.uploadFile() Xem ví dụ
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
formData: [
{
marker: "image",
type: "image",
value: [file],
fileQuery: {
type: "page",
entity: "editor",
id: 3492,
},
},
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với thuộc tính kiểu "file"
Nếu một đối tượng fileQuery được cung cấp trong đối tượng formData, tệp sẽ được tự động tải lên đám mây OneEntry thông qua SDK hoặc sử dụng File.uploadFile() Xem ví dụ
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
formData: [
{
marker: "image",
type: "image",
value: [file],
fileQuery: {
type: "page",
entity: "editor",
id: 3492,
},
},
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với các thuộc tính kiểu "radioButton" và "list"
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
formData: [
{
marker: "list",
type: "list",
value: ["1"],
},
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ với thuộc tính kiểu "entity" (danh sách lồng nhau)
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
formData: [
{
marker: "entity",
type: "entity",
value: [2954, 2957],
},
],
"notificationData": {
"email": "your-email@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
};
const response = await AuthProvider.signUp('email', body);
Ví dụ phản hồi
{
"identifier": "my-id",
"id": 1764,
"createdDate": "1991-08-18T06:18:10.986Z",
"updatedDate": "1967-12-02T16:45:02.051Z",
"version": 10,
"isActive": false,
"isDeleted": false,
"formData": [
{
"marker": "login",
"type": "string",
"value": "test"
},
{
"marker": "f-name",
"type": "string",
"value": "Ivanov"
}
],
"state": {},
"notificationData": {
"email": "test@test.ru",
"phonePush": [],
"phoneSMS": "+89991234567"
},
"locale": "en_US",
"deletedAt": "2023-02-12 10:56",
"rating": {
"value": 4.5,
"like": 10,
"dislike": 2,
"method": "average"
}
}
formDatađến từ API dưới dạng một bản đồ được khóa theo mã ngôn ngữ ({ "en_US": [ … ] }); SDK sẽ giải nén nó thành các trường củalangCodeđược yêu cầu, vì vậy những gì bạn nhận được là một mảng phẳngIAuthFormData[].
Sơ đồ phản hồi
Sơ đồ: ISignUpEntity
id: number
Định danh duy nhất của thực thể đăng ký.
ví dụ: 12345
updatedDate: string
Ngày mà thực thể đăng ký được cập nhật lần cuối.
ví dụ: "2023-10-01T12:00:00Z"
version: number
Số phiên bản của thực thể đăng ký.
ví dụ: 1
identifier: string
Một chuỗi duy nhất xác định thực thể đăng ký.
ví dụ: "signup_12345"
isActive: boolean
Chỉ ra liệu thực thể đăng ký có đang hoạt động hay không.
ví dụ: true
formData: IAuthFormData[]
Mảng dữ liệu mẫu.
ví dụ:
[
{
"marker": "first_name",
"value": "John"
}
]
formData.marker: string
Một định danh duy nhất cho trường mẫu.
ví dụ: "email"
formData.type: string
Loại của trường mẫu, chẳng hạn như 'string', 'email', v.v.
ví dụ: "string"
formData.value: string
Giá trị được nhập vào trường mẫu.
ví dụ: "example@oneentry.cloud"
notificationData: INotificationData
Một đối tượng chứa dữ liệu thông báo, bao gồm email, phonePush và phoneSMS.
ví dụ:
{
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
notificationData.email: string
Email của người dùng được sử dụng cho thông báo.
ví dụ: "example@oneentry.cloud"
notificationData.phonePush: string[]
Cac số điện thoại được sử dụng cho thông báo đẩy.
ví dụ: ["+19999999999"]
notificationData.phoneSMS: string
Số điện thoại được sử dụng cho thông báo SMS.
ví dụ: "+19999999999"
locale: string
Mã ngôn ngữ hoặc địa phương liên quan đến thực thể đăng ký.
ví dụ: "en_US"
createdDate: string
Ngày mà thực thể đăng ký được tạo.
ví dụ: "2023-10-01T12:00:00Z"
importId: unknown
Định danh nhập khẩu.
ví dụ: null
deletedAt: string | null
Ngày xóa hoặc null.
ví dụ: null
isDeleted: boolean
Liệu thực thể có bị xóa hay không.
ví dụ: false
state: Record<string, unknown>
Thông tin trạng thái bổ sung.
ví dụ:
{}
rating: IRating
Dữ liệu đánh giá.
attributeSetId: number | null
Định danh của bộ thuộc tính gắn với người dùng, hoặc null khi không có bộ nào được gắn.
ví dụ: null
attributesSets: Record<string, unknown>
Các bộ thuộc tính gắn với người dùng, được khóa theo marker; đối tượng rỗng khi không có.
ví dụ:
{}
Ví dụ sử dụng
Hướng dẫn từng bước trong tài liệu:
- Đăng ký người dùng — lấy một mẫu đăng ký, thu thập dữ liệu người dùng và đăng ký tài khoản qua
AuthProvider.signUp().
Thử nghiệm trực tiếp
Chạy phương thức này tương tác trong JS SDK sandbox — kết nối URL Dự án và Mã Token Ứng dụng khi lần đầu truy cập, sau đó mở:
- Đăng ký người dùng — lấy một mẫu đăng ký, thu thập dữ liệu người dùng và đăng ký tài khoản qua
AuthProvider.signUp().