انتقل إلى المحتوى الرئيسي

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"

أمثلة

مثال بسيط


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
بيانات التقييم.