signUp
تسجيل المستخدم (❗️بالنسبة لمزودي الخدمة الذين يحتاجون إلى تفعيل المستخدم، يتم إرسال رمز التفعيل عبر طريقة الإشعار المناسبة للمستخدم)
الوصف
تقبل الطريقة الجسم كمعامل. وتعيد Promise يتم حلها إلى كائن ISignUpEntity.
AuthProvider.signUp(
marker*,
body*,
body.formIdentifier*,
body.langCode,
body.authData*,
body.formData*,
formData.marker*,
formData.type*,
formData.value*,
body.notificationData*,
notificationData.email*,
notificationData.phonePush*,
notificationData.phoneSMS,
langCode
);
مخطط المعاملات
المخطط
marker(مطلوب): string
المعرف النصي لمزود التفويض
مثال: "email"
body(مطلوب): ISignUpData
جسم الطلب
مثال:
{
"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(مطلوب): string
المعرف لنموذج التسجيل.
مثال: "reg"
body.langCode: string
رمز اللغة. الافتراضي: "en_US".
body.authData(مطلوب): Array
مصفوفة من كائنات بيانات المصادقة، كل منها يحتوي على معرف وقيمته المقابلة.
body.formData(مطلوب): IAuthFormData | IAuthFormData[]
بيانات النموذج للتسجيل.
formData.marker(مطلوب): string
معرف فريد لحقل النموذج.
مثال: "email"
formData.type(مطلوب): string
نوع حقل النموذج، مثل 'string'، 'email'، إلخ.
مثال: "string"
formData.value(مطلوب): string
القيمة المدخلة في حقل النموذج.
مثال: "example@oneentry.cloud"
body.notificationData(مطلوب): INotificationData
كائن يحتوي على بيانات الإشعار، بما في ذلك البريد الإلكتروني، phonePush، و phoneSMS.
notificationData.email(مطلوب): string
البريد الإلكتروني للمستخدم المستخدم للإشعارات.
مثال: "example@oneentry.cloud"
notificationData.phonePush(مطلوب): string[]
أرقام الهواتف المستخدمة للإشعارات الفورية.
مثال: ["+19999999999"]
notificationData.phoneSMS: string
رقم الهاتف المستخدم لإشعارات SMS.
مثال: "+19999999999"
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
جربها مباشرة
قم بتشغيل هذه الطريقة بشكل تفاعلي في JS SDK sandbox — قم بتوصيل عنوان مشروعك ورمز التطبيق عند الزيارة الأولى، ثم افتح:
- تسجيل المستخدم — احصل على نموذج التسجيل، اجمع بيانات المستخدم، وسجل الحساب عبر
AuthProvider.signUp().
أمثلة
مثال بسيط
const body = { "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" }};
const response = await AuthProvider.signUp('email', body);
مثال مع خصائص من أنواع بسيطة 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);
مثال مع خصائص من أنواع "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);
مثال مع خاصية من نوع "text"
لقيمة حقل النص، يمكنك استخدام أحد ثلاثة أنواع من القيم:
- htmlValue - سلسلة HTML
- plainValue - سلسلة
- mdValue - سلسلة 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);
مثال مع خاصية من نوع "textWithHeader"
لقيمة حقل textWithHeader، يمكنك استخدام أحد ثلاثة أنواع من القيم:
- htmlValue - سلسلة HTML
- plainValue - سلسلة
- mdValue - سلسلة 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);
مثال مع خصائص من نوع "image" و "groupOfImages"
إذا تم توفير كائن fileQuery في كائن formData، سيتم تحميل الملف تلقائيًا إلى سحابة OneEntry عبر SDK أو استخدم File.uploadFile() انظر مثال
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);
مثال مع خاصية من نوع "file"
إذا تم توفير كائن fileQuery في كائن formData، سيتم تحميل الملف تلقائيًا إلى سحابة OneEntry عبر SDK أو استخدم File.uploadFile() انظر مثال
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);
مثال مع خصائص من نوع "radioButton" و "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);
مثال مع خاصية من نوع "entity" (قائمة متداخلة)
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);
مثال الاستجابة
{
"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": {
"en_US": [
{
"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"
}
}
مخطط الاستجابة
المخطط: ISignUpEntity
id: number
المعرف الفريد لكائن التسجيل.
مثال: 12345
updatedDate: string
التاريخ الذي تم فيه تحديث كائن التسجيل آخر مرة.
مثال: "2023-10-01T12:00:00Z"
version: number
رقم إصدار كائن التسجيل.
مثال: 1
identifier: string
سلسلة فريدة تحدد كائن التسجيل.
مثال: "signup_12345"
isActive: boolean
تشير إلى ما إذا كان كائن التسجيل نشطًا.
مثال: true
formData: IAuthFormData[]
مصفوفة بيانات النموذج.
مثال:
[
{
"marker": "first_name",
"value": "John"
}
]
formData.marker: string
معرف فريد لحقل النموذج.
مثال: "email"
formData.type: string
نوع حقل النموذج، مثل 'string'، 'email'، إلخ.
مثال: "string"
formData.value: string
القيمة المدخلة في حقل النموذج.
مثال: "example@oneentry.cloud"
notificationData: INotificationData
كائن يحتوي على بيانات الإشعار، بما في ذلك البريد الإلكتروني، phonePush، و phoneSMS.
مثال:
{
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
notificationData.email: string
البريد الإلكتروني للمستخدم المستخدم للإشعارات.
مثال: "example@oneentry.cloud"
notificationData.phonePush: string[]
أرقام الهواتف المستخدمة للإشعارات الفورية.
مثال: ["+19999999999"]
notificationData.phoneSMS: string
رقم الهاتف المستخدم لإشعارات SMS.
مثال: "+19999999999"
locale: string
اللغة أو رمز اللغة المرتبط بكائن التسجيل.
مثال: "en_US"
createdDate: string
التاريخ الذي تم فيه إنشاء كائن التسجيل.
مثال: "2023-10-01T12:00:00Z"
importId: unknown
معرف الاستيراد.
مثال: null
deletedAt: string | null
تاريخ الحذف أو null.
مثال: null
isDeleted: boolean
ما إذا كان الكائن محذوفًا.
مثال: false
state: Record<string, unknown>
معلومات الحالة الإضافية.
مثال:
rating: IRating
بيانات التقييم.