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

signUp

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

Описание

Метод принимает тело в качестве параметра. Он возвращает Promise, который разрешается в объект ISignUpEntity.

AuthProvider.signUp(

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

);

Схема параметров

Схема

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

body(required): ISignUpData
Тело запроса
пример:

{
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "example@oneentry.ru"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Name"
}
],
"notificationData": {
"email": "example@oneentry.ru",
"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.ru"

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

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

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

Примеры

Минимальный пример

const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
},
{
"marker": "password",
"value":"12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Name"
}
],
"notificationData": {
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
};

const response = await AuthProvider.signUp('email', body)

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

{
"formIdentifier": "reg",
"langCode": "en_US",
"authData": [
{
"marker": "login",
"value": "test"
},
{
"marker": "password",
"value": "12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Fyodor Ivanov"
}
],
"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": [
{
"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": [
{
"marker": "about",
"type": "text",
"value": {
"htmlValue": "<p>This is me</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": [
{
"marker": "about",
"type": "textWithHeader",
"value": {
"header": "Header",
"htmlValue": "<p>This is me</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": [
{
"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": [
{
"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": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "red",
"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": [
{
"marker": "entity-selector",
"type": "entity",
"value": [
{
"id": "1",
"title": "red",
"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": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "red",
"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": [
{
"marker": "selector",
"type": "list",
"value": [
{
"title": "red",
"value": "1",
"extended": {
"value": "red",
"type": "string"
}
}
]
}
],
"notificationData": {
"email": "test@test.zone",
"phonePush": [
"7DD987F846400079F4B03C058365A4869047B4A0",
"7DD987F846400079F4B03C058365A4869047B4A0",
"7DD987F846400079F4B03C058365A4869047B4A0."
],
"phoneSMS": "+19991234567"
}
}

Схема

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

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

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

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

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

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

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

{
"en_US": [
{
"marker": "marker_1",
"value": "Name"
}
]
}

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

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

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

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

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

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

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

authProviderId: number
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": "Second name"
}
],
"notificationData": {
"email": "test@test.com",
"phonePush": ["+999999999"],
"phoneSMS": "+9999999999"
},
"systemCode": {
"value": "90BDCX",
"expiredDate": "2024-05-07T21:02:00.000Z"
}
}

Схема ответа

Схема: ISignUpEntity

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

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

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

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

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

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

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

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