Aller au contenu principal

signUp

Inscription de l'utilisateur (❗️Pour les fournisseurs avec activation de l'utilisateur, un code d'activation est envoyé par le biais de la méthode de notification correspondante)

Description​

La méthode accepte le corps comme paramètre. Elle renvoie une promesse qui se résout en un objet ISignUpEntity.

AuthProvider.signUp(

marker*, body*, langCode

);

Schéma des paramètres​

Schéma

marker(obligatoire): string
L'identifiant textuel du fournisseur d'autorisation
exemple : "email"

body(obligatoire): ISignUpData
Corps de la requête
exemple :

{
"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(obligatoire): string
L'identifiant du formulaire d'inscription.
exemple : "reg"

body.langCode: string
Code de langue. Par défaut : "en_US".

body.authData(obligatoire): Array
Un tableau d'objets de données d'authentification, chacun contenant un marqueur et sa valeur correspondante.

body.formData(obligatoire): IAuthFormData | IAuthFormData[]
Les données du formulaire pour l'inscription.

formData.marker(obligatoire): string
Un identifiant unique pour le champ du formulaire.
exemple : "email"

formData.type(obligatoire): string
Le type du champ du formulaire, tel que 'string', 'email', etc.
exemple : "string"

formData.value(obligatoire): string
La valeur saisie dans le champ du formulaire.
exemple : "example@oneentry.cloud"

body.notificationData(obligatoire): INotificationData
Un objet contenant des données de notification, y compris email, phonePush et phoneSMS.

notificationData.email(obligatoire): string
Email de l'utilisateur utilisé pour les notifications.
exemple : "example@oneentry.cloud"

notificationData.phonePush(obligatoire): string[]
Numéros de téléphone utilisés pour les notifications push.
exemple : ["+19999999999"]

notificationData.phoneSMS: string
Numéro de téléphone utilisé pour les notifications SMS.
exemple : "+19999999999"

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

Exemples​

Exemple minimal​


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

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

Exemple avec des attributs de types 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);

Exemple avec des attributs de types "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);

Exemple avec un attribut de type "text"​

Pour une valeur de champ texte, vous pouvez utiliser l'un des trois types de valeur :

  • htmlValue - chaîne HTML
  • plainValue - chaîne
  • mdValue - chaîne 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);

Exemple avec un attribut de type "textWithHeader"​

Pour une valeur de champ textWithHeader, vous pouvez utiliser l'un des trois types de valeur :

  • htmlValue - chaîne HTML
  • plainValue - chaîne
  • mdValue - chaîne 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);

Exemple avec des attributs de type "image" et "groupOfImages"​

Si un objet fileQuery est fourni dans l'objet formData, le fichier sera automatiquement téléchargé sur le cloud OneEntry via le SDK ou utilisez le handle File.uploadFile() Voir exemple

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

Exemple avec un attribut de type "file"​

Si un objet fileQuery est fourni dans l'objet formData, le fichier sera automatiquement téléchargé sur le cloud OneEntry via le SDK ou utilisez le handle File.uploadFile() Voir exemple

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

Exemple avec des attributs de type "radioButton" et "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);

Exemple avec un attribut de type "entity" (liste imbriquée)​

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

Exemple de réponse​

{
"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 arrive de l'API sous forme de carte indexée par code de langue ({ "en_US": [ … ] }); le SDK le déplie dans les champs du langCode demandé, donc ce que vous obtenez est un IAuthFormData[] plat.

Schéma de réponse​

Schéma : ISignUpEntity

id: number
L'identifiant unique de l'entité d'inscription.
exemple : 12345

updatedDate: string
La date à laquelle l'entité d'inscription a été mise à jour pour la dernière fois.
exemple : "2023-10-01T12:00:00Z"

version: number
Le numéro de version de l'entité d'inscription.
exemple : 1

identifier: string
Une chaîne unique qui identifie l'entité d'inscription.
exemple : "signup_12345"

isActive: boolean
Indique si l'entité d'inscription est active.
exemple : true

formData: IAuthFormData[]
Tableau de données de formulaire.
exemple :

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

formData.marker: string
Un identifiant unique pour le champ du formulaire.
exemple : "email"

formData.type: string
Le type du champ du formulaire, tel que 'string', 'email', etc.
exemple : "string"

formData.value: string
La valeur saisie dans le champ du formulaire.
exemple : "example@oneentry.cloud"

notificationData: INotificationData
Un objet contenant des données de notification, y compris email, phonePush et phoneSMS.
exemple :

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

notificationData.email: string
Email de l'utilisateur utilisé pour les notifications.
exemple : "example@oneentry.cloud"

notificationData.phonePush: string[]
Numéros de téléphone utilisés pour les notifications push.
exemple : ["+19999999999"]

notificationData.phoneSMS: string
Numéro de téléphone utilisé pour les notifications SMS.
exemple : "+19999999999"

locale: string
Le code de langue ou la locale associée à l'entité d'inscription.
exemple : "en_US"

createdDate: string
La date à laquelle l'entité d'inscription a été créée.
exemple : "2023-10-01T12:00:00Z"

importId: unknown
Identifiant d'importation.
exemple : null

deletedAt: string | null
Date de suppression ou null.
exemple : null

isDeleted: boolean
Indique si l'entité est supprimée.
exemple : false

state: Record<string, unknown>
Informations d'état supplémentaires.
exemple :

{}

rating: IRating
Données d'évaluation.

attributeSetId: number | null
Identifiant de l'ensemble d'attributs attaché à l'utilisateur, ou null lorsqu'aucun n'est attaché.
exemple : null

attributesSets: Record<string, unknown>
Ensembles d'attributs attachés à l'utilisateur, indexés par marqueur ; objet vide lorsqu'aucun.
exemple :

{}


Exemples d'utilisation​

Guide étape par étape dans la documentation :

  • Inscrire un utilisateur — récupérer un formulaire d'inscription, collecter les données de l'utilisateur et enregistrer le compte via AuthProvider.signUp().

Essayez-le en direct​

Exécutez cette méthode de manière interactive dans le JS SDK sandbox — connectez votre URL de projet et votre jeton d'application lors de votre première visite, puis ouvrez :

  • Inscrire un utilisateur — récupérer un formulaire d'inscription, collecter les données de l'utilisateur et enregistrer le compte via AuthProvider.signUp().