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

signUp

تسجيل المستخدم (❗️بالنسبة لمزودي الخدمة الذين يحتاجون إلى تفعيل المستخدم، يتم إرسال رمز التفعيل عبر طريقة الإشعار المناسبة للمستخدم)

الوصف​

تقبل الطريقة الجسم كمعامل. وتعيد Promise يتم حلها إلى كائن ISignUpEntity.

.signUp(

, ,

);

مخطط المعاملات​

المخطط

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 = {
,
{
,
},
{
,
}
],
{
,
,
}
],
,
"+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": [
{
"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 تصل من API كخريطة مفاتيحها رمز اللغة ({ "en_US": [ … ] }); يقوم SDK بفكها إلى حقول langCode المطلوبة، لذا ما تحصل عليه هو مصفوفة IAuthFormData[] مسطحة.

مخطط الاستجابة​

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

attributeSetId: number | null
معرف مجموعة الخصائص المرتبطة بالمستخدم، أو null عندما لا تكون مرتبطة.
مثال: null

attributesSets: Record<string, unknown>
مجموعات الخصائص المرتبطة بالمستخدم، مفاتيحها هي المعرف؛ كائن فارغ عندما لا توجد.
مثال:

{}


أمثلة الاستخدام​

خطوة بخطوة في الوثائق:

  • تسجيل المستخدم — جلب نموذج التسجيل، جمع بيانات المستخدم، وتسجيل الحساب عبر AuthProvider.signUp().

جربه مباشرة​

قم بتشغيل هذه الطريقة تفاعليًا في JS SDK sandbox — قم بتوصيل عنوان مشروعك ورمز التطبيق عند الزيارة الأولى، ثم افتح:

  • تسجيل المستخدم — جلب نموذج التسجيل، جمع بيانات المستخدم، وتسجيل الحساب عبر AuthProvider.signUp().