signUp
تسجيل المستخدم (❗️بالنسبة لمزودي الخدمة الذين يحتاجون إلى تفعيل المستخدم، يتم إرسال رمز التفعيل عبر طريقة الإشعار المناسبة للمستخدم)
الوصف
تقبل الطريقة الجسم كمعامل. تعيد Promise التي تحل إلى كائن ISignUpEntity.
AuthProvider.signUp(
marker*,
body*,
langCode
);
مخطط المعاملات
المخطط
marker(required): string
المعرف النصي لمزود التفويض
مثال: "email"
body(required): 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(required): string
المعرف لنموذج التسجيل.
مثال: "reg"
body.langCode: string
رمز اللغة. الافتراضي: "en_US".
body.authData(required): Array
مصفوفة من كائنات بيانات المصادقة، كل منها يحتوي على معرف وقيمته المقابلة.
body.formData(required): IAuthFormData | IAuthFormData[]
بيانات النموذج للتسجيل.
formData.marker(required): string
معرف فريد لحقل النموذج.
مثال: "email"
formData.type(required): string
نوع حقل النموذج، مثل 'string'، 'email'، إلخ.
مثال: "string"
formData.value(required): string
القيمة المدخلة في حقل النموذج.
مثال: "example@oneentry.cloud"
body.notificationData(required): INotificationData
كائن يحتوي على بيانات الإشعار، بما في ذلك البريد الإلكتروني، phonePush، و phoneSMS.
notificationData.email(required): string
البريد الإلكتروني للمستخدم المستخدم للإشعارات.
مثال: "example@oneentry.cloud"
notificationData.phonePush(required): string[]
أرقام الهواتف المستخدمة للإشعارات الفورية.
مثال: ["+19999999999"]
notificationData.phoneSMS: string
رقم الهاتف المستخدم لإشعارات SMS.
مثال: "+19999999999"
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
أمثلة
مثال بسيط
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
بيانات التقييم.
أمثلة الاستخدام
خطوات تفصيلية في الوثائق:
- تسجيل المستخدم — جلب نموذج التسجيل، جمع بيانات المستخدم، وتسجيل الحساب عبر
AuthProvider.signUp().
جربها مباشرة
قم بتشغيل هذه الطريقة بشكل تفاعلي في JS SDK sandbox — قم بتوصيل عنوان مشروعك ورمز التطبيق عند الزيارة الأولى، ثم افتح:
- تسجيل المستخدم — جلب نموذج التسجيل، جمع بيانات المستخدم، وتسجيل الحساب عبر
AuthProvider.signUp().