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

التسجيل

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

الوصف

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

AuthProvider.signUp(

marker*, body*, formIdentifier*, langCode, formData

);

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

المخطط

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.formData(required): IAuthFormData | IAuthFormData[]
بيانات النموذج للتسجيل، والتي يمكن أن تكون كائنًا واحدًا أو مصفوفة من الكائنات.
مثال:

{
"marker": "last_name",
"type": "string",
"value": "Name"
}

formData.marker(required): string
معرف فريد لحقل النموذج.
مثال: "email"

formData.type(required): string
نوع حقل النموذج، مثل 'string'، 'email'، إلخ.
مثال: "string"

formData.value(required): string
القيمة المدخلة في حقل النموذج.
مثال: "example@oneentry.cloud"

body.notificationData(required): Object
كائن يحتوي على بيانات الإشعار، بما في ذلك البريد الإلكتروني، phonePush، و phoneSMS.
مثال:

{
"email": "example@oneentry.cloud", // حقل إشعارات البريد الإلكتروني. مطلوب.
"phonePush": [
"+99999999999"
], // حقل إشعارات الدفع. اختياري.
"phoneSMS": "+99999999999" // حقل إشعارات الرسائل القصيرة. اختياري.
}

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);

مثال على الاستجابة

{
"createdDate": "2025-12-26T12:17:46.115Z",
"deletedAt": null,
"formData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "f-name",
"value": "Second name"
}
],
"id": 286,
"identifier": "user_email@gmail.com",
"isActive": false,
"isDeleted": false,
"locale": "en_US",
"notificationData": {
"email": "user_email@gmail.com"
},
"email": "user_email@gmail.com",
"state": {},
"updatedDate": "2025-12-26T12:17:46.115Z",
"version": 0
}

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

المخطط: ISignUpEntity

id: number
المعرف الفريد لكيان التسجيل.
مثال: 12345

updatedDate: string
التاريخ الذي تم فيه تحديث كيان التسجيل آخر مرة.
مثال: "2023-10-01T12:00:00Z"

version: number
رقم إصدار كيان التسجيل.
مثال: 1

identifier: string
سلسلة فريدة تحدد كيان التسجيل.
مثال: "signup_12345"

isActive: boolean
تشير إلى ما إذا كان كيان التسجيل نشطًا.
مثال: true

notificationData: object
كائن يحتوي على بيانات الإشعار، بما في ذلك البريد الإلكتروني، phonePush، و phoneSMS.
مثال:

{
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}

locale: string
اللغة أو رمز اللغة المرتبط بكيان التسجيل.
مثال: "en_US"