Pular para o conteúdo principal

signUp

Registro de usuário (❗️Para provedores com ativação de usuário, um código de ativação é enviado através do método de notificação correspondente)

Descrição

O método aceita o corpo como um parâmetro. Ele retorna uma Promise que resolve para um objeto 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

);

Esquema de parâmetros

Esquema

marker(obrigatório): string
O identificador de texto do provedor de autorização
exemplo: "email"

body(obrigatório): ISignUpData
Corpo da solicitação
exemplo:

{
"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(obrigatório): string
O identificador para o formulário de registro.
exemplo: "reg"

body.langCode: string
Código de idioma. Padrão: "en_US".

body.authData(obrigatório): Array
Um array de objetos de dados de autenticação, cada um contendo um marcador e seu valor correspondente.

body.formData(obrigatório): IAuthFormData | IAuthFormData[]
Os dados do formulário para o registro.

formData.marker(obrigatório): string
Um identificador único para o campo do formulário.
exemplo: "email"

formData.type(obrigatório): string
O tipo do campo do formulário, como 'string', 'email', etc.
exemplo: "string"

formData.value(obrigatório): string
O valor inserido no campo do formulário.
exemplo: "example@oneentry.cloud"

body.notificationData(obrigatório): INotificationData
Um objeto contendo dados de notificação, incluindo email, phonePush e phoneSMS.

notificationData.email(obrigatório): string
Email do usuário usado para notificações.
exemplo: "example@oneentry.cloud"

notificationData.phonePush(obrigatório): string[]
Números de telefone usados para notificações push.
exemplo: ["+19999999999"]

notificationData.phoneSMS: string
Número de telefone usado para notificações SMS.
exemplo: "+19999999999"

langCode: string
Código de idioma. Padrão: "en_US"
exemplo: "en_US"

Exemplos

Exemplo mínimo


const body = {
"formIdentifier": "reg",
"authData": [
{
"marker": "login",
"value": "example@oneentry.cloud"
},
{
"marker": "password",
"value":"12345"
}
],
"formData": [
{
"marker": "last_name",
"type": "string",
"value": "Nome"
}
],
"notificationData": {
"email": "example@oneentry.cloud",
"phonePush": [
"+99999999999"
],
"phoneSMS": "+99999999999"
}
};

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

Exemplo com atributos de tipos simples 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);

Exemplo com atributos de tipos "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);

Exemplo com atributo de tipo "text"

Para um valor de campo de texto, você pode usar um dos três tipos de valor:

  • htmlValue - string HTML
  • plainValue - string
  • mdValue - string 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);

Exemplo com atributo tipo "textWithHeader"

Para um valor de campo textWithHeader, você pode usar um dos três tipos de valor:

  • htmlValue - string HTML
  • plainValue - string
  • mdValue - string 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);

Exemplo com atributos tipo "image" e "groupOfImages"

Se um objeto fileQuery for fornecido no objeto formData, o arquivo será automaticamente enviado para a nuvem OneEntry via SDK ou use o File.uploadFile() handle Veja exemplo

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

Exemplo com atributo tipo "file"

Se um objeto fileQuery for fornecido no objeto formData, o arquivo será automaticamente enviado para a nuvem OneEntry via SDK ou use o File.uploadFile() handle Veja exemplo

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

Exemplo com atributos tipo "radioButton" e "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);

Exemplo com atributo tipo "entity" (lista aninhada)

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

Exemplo de resposta

{
"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"
}
}

Esquema de resposta

Esquema: ISignUpEntity

id: number
O identificador único da entidade de registro.
exemplo: 12345

updatedDate: string
A data em que a entidade de registro foi atualizada pela última vez.
exemplo: "2023-10-01T12:00:00Z"

version: number
O número da versão da entidade de registro.
exemplo: 1

identifier: string
Uma string única que identifica a entidade de registro.
exemplo: "signup_12345"

isActive: boolean
Indica se a entidade de registro está ativa.
exemplo: true

formData: IAuthFormData[]
Array de dados do formulário.
exemplo:

[
{
"marker": "first_name",
"value": "John"
}
]

formData.marker: string
Um identificador único para o campo do formulário.
exemplo: "email"

formData.type: string
O tipo do campo do formulário, como 'string', 'email', etc.
exemplo: "string"

formData.value: string
O valor inserido no campo do formulário.
exemplo: "example@oneentry.cloud"

notificationData: INotificationData
Um objeto contendo dados de notificação, incluindo email, phonePush e phoneSMS.
exemplo:

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

notificationData.email: string
Email do usuário usado para notificações.
exemplo: "example@oneentry.cloud"

notificationData.phonePush: string[]
Números de telefone usados para notificações push.
exemplo: ["+19999999999"]

notificationData.phoneSMS: string
Número de telefone usado para notificações SMS.
exemplo: "+19999999999"

locale: string
O local ou código de idioma associado à entidade de registro.
exemplo: "en_US"

createdDate: string
A data em que a entidade de registro foi criada.
exemplo: "2023-10-01T12:00:00Z"

importId: unknown
Identificador de importação.
exemplo: null

deletedAt: string | null
Data de exclusão ou nula.
exemplo: null

isDeleted: boolean
Se a entidade está excluída.
exemplo: false

state: Record<string, unknown>
Informações adicionais de estado.
exemplo:

rating: IRating
Dados de avaliação.