Перейти к основному содержимому

signUp

Регистрация пользователя (❗️Для провайдера с активацией пользователя, код активации отправляется через соответствующий метод уведомления пользователя)

AuthProvider.signUp(marker, body, langCode)

Схема

marker(обязательный): строка
Текстовый идентификатор провайдера авторизации
пример: "email"

body(обязательный): ISignUpData
Тело запроса
пример:

{
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "example@oneentry.cloud"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Имя"
}
],
"notificationData": {
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
}

formIdentifier(обязательный): строка
Идентификатор для формы регистрации.
пример: "reg"

langCode: строка
Код языка. По умолчанию "en_US".

formData(обязательный): IAuthFormData
Данные формы для регистрации, которые могут быть одним объектом или массивом объектов.
пример:

{
"marker": "last_name",
"type": "string",
"value": "Имя"
}

marker(обязательный): строка
Уникальный идентификатор для поля формы.
пример: "email"

type(обязательный): строка
Тип поля формы, например 'string', 'email' и т.д.
пример: "string"

value(обязательный): строка
Значение, введенное в поле формы.
пример: "example@oneentry.cloud"

notificationData(обязательный): Объект
Объект, содержащий данные уведомления, включая email, phonePush и phoneSMS.
пример:

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

langCode: строка
Код языка. По умолчанию: "en_US"
пример: "en_US"

Метод принимает тело в качестве параметра.

Примеры для параметра body с данными различных типов:

Пример с атрибутами простых типов formData "string", "integer", "float".

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "last_name",
"type": "string",
"value": "Фёдор Иванов"
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутами типов "date", "dateTime", "time"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"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": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутом типа "text"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "about",
"type": "text",
"value": {
"htmlValue": "<p>Это я</p>",
"plainValue": "",
"params": {
"isEditorDisabled": false,
"isImageCompressed": true
}
}
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутом типа "textWithHeader"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "about",
"type": "textWithHeader",
"value": {
"header": "Заголовок",
"htmlValue": "<p>Это я</p>",
"plainValue": "",
"params": {
"isEditorDisabled": false,
"isImageCompressed": true
}
}
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутами типов "image" и "groupOfImages"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "avatar",
"type": "image",
"value": [
{
"filename": "files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png",
"downloadLink": "http://my-site.zone/cloud-static/files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png",
"size": 392585,
"previewLink": "",
"params": {
"isImageCompressed": true
}
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутом типа "file"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "picture",
"type": "file",
"value": [
{
"filename": "files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png",
"downloadLink": "http://my-site.zone/cloud-static/files/project/page/10/image/Screenshot-from-2024-05-02-15-23-14.png",
"size": 392585
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутами типов "radioButton" и "list"

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "красный",
"value": "1",
"extended": {
"value": "red",
"type": "string"
}
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с атрибутом типа "entity" (вложенный список)

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "entity-selector",
"type": "entity",
"value": [
{
"id": "1",
"title": "красный",
"value": "1",
"parentId": "null"
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [],
"phoneSMS": "+19991234567"
}
}

Пример с одним идентификатором push

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "красный",
"value": "1",
"extended": {
"value": "red",
"type": "string"
}
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [
"7DD987F846400079F4B03C058365A4869047B4A0."
],
"phoneSMS": "+19991234567"
}
}

Пример с несколькими идентификаторами push

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": {
"en_US": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "красный",
"value": "1",
"extended": {
"value": "red",
"type": "string"
}
}
]
}
]
},
"notificationData": {
"email": "test@test.zone",
"phonePush": [
"7DD987F846400079F4B03C058365A4869047B4A0",
"7DD987F846400079F4B03C058365A4869047B4A0",
"7DD987F846400079F4B03C058365A4869047B4A0."
],
"phoneSMS": "+19991234567"
}
}
const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Имя пользователя"
}
],
"notificationData": {
"email": "test@test.com",
"phonePush": [],
"phoneSMS": "+99999999999"
}
}

const value = await AuthProvider.signUp('email', body)
Схема

formIdentifier: строка
текстовый идентификатор формы провайдера авторизации пример: reg_form

formData:
данные формы, прикрепленные к провайдеру авторизации

authData:
данные авторизации, полученные из формы, прикрепленной к провайдеру авторизации
пример:

[ 
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
]

notificationData:
данные уведомления пользователя

attributeSetId: число
идентификатор используемого набора атрибутов
пример: 7

formData: FormDataLangType
Данные, отправленные формой
пример:

{
"en_US": [
{
"marker": "marker_1",
"value": "Имя"
}
]
}

notificationData: UserNotificationDataType
данные для уведомления пользователя
пример:

{ 
"email": "test@test.zone",
"phonePush": "", "phoneSMS": "+19991234567"
}

systemCode: строка
код системы для выполнения официальных действий (сброс пароля, активация)
пример:

{ 
"value": "90BDCX",
"expiredDate": "2024-05-07T21:02:00.000Z"
}

formIdentifier: строка
текстовый идентификатор формы провайдера авторизации
пример: reg_form

authData: FormAuthDataType
данные авторизации, полученные из формы, связанной с провайдером авторизации
пример:

[ 
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
]

authProviderId: число
ID провайдера авторизации
пример: 1


Этот метод зарегистрирует нового пользователя. Возвращает объект зарегистрированного пользователя.

Пример возврата:

{
"id": 1764,
"updatedDate": "2024-05-23T12:43:00.169Z",
"version": 10,
"identifier": "catalog",
"isActive": false,
"authProviderId": 1,
"formData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "f-name",
"value": "Второе имя"
}
],
"notificationData": {
"email": "test@test.com",
"phonePush": ["+999999999"],
"phoneSMS": "+9999999999"
},
"systemCode": {
"value": "90BDCX",
"expiredDate": "2024-05-07T21:02:00.000Z"
}
}
Схема

id: число
Уникальный идентификатор сущности регистрации.
пример: 12345

updatedDate: строка
Дата, когда сущность регистрации была последний раз обновлена.
пример: "2023-10-01T12:00:00Z"

version: число
Номер версии сущности регистрации.
пример: 1

identifier: строка
Уникальная строка, идентифицирующая сущность регистрации.
пример: "signup_12345"

isActive: логическое
Указывает, активна ли сущность регистрации.
пример: true

notificationData: Объект
Объект, содержащий данные уведомления, включая email, phonePush и phoneSMS.
пример:

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

locale: строка
Код локали или языка, связанный с сущностью регистрации.
пример: "en_US"