Variables et fonctions utilitaires

Les variables vous permettent d’accéder aux données contenues dans les Formulaires et les Flux pour créer une logique commerciale et des automatismes personnalisés.

Voici quelques considérations de base sur l’utilisation des variables :

  • Les variables sont entourées d’accolades {{ variable }}.

  • Si une variable n’existe pas ou ne peut pas être résolue, elle a le même effet qu’une variable dont la valeur est undefined (indéfini).

  • Vous pouvez utiliser des opérateurs nuls pour gérer les variables dont la valeur est null ou undefined, par exemple :{{fields.foo ?? fields.bar}}.

Variables disponibles

Vous pouvez utiliser différents types de variables pour référencer et transformer les données que vous recueillez auprès des clients avec les Formulaires et les Flux.

Variable _Syntax Where Description
Contexte {{contexte.*}} Formes / Flux Données contextuelles de référence de la transaction en cours
Champs de formulaire {{fields. *}} Formulaires / Flux Données de référence des champs de votre formulaire et des champs cachés
Variables partagées {{vars.*}} Formulaires / Flux Données de référence stockées en tant que variables partagées
Sortie des actions de flux {{actions. *}} Flux Données de référence de la réponse de sortie des actions de flux précédentes
Fonctions d’aide {{fonctions.*}} Formulaires / Flux Fonctions d’aide pour transformer les données

Variables de contexte

Les Formulaires et les Flux héritent automatiquement des variables de contexte de la transaction en cours. Vous pouvez accéder aux variables de contexte suivantes :

  • L’objet user, avec accès aux propriétés suivantes :

    • user.user_id

    • user.username

    • user.name

    • user.given_name

    • user.family_name

    • user.nickname

    • user.email

    • user.email_verified

    • user.phone_number

    • user.phone_verified

    • user.picture

    • user.user_metadata

    • user.app_metadata

    • user.created_at

    • user.updated_at

    • user.last_password_reset

    • user.identities

  • L’objet organization, avec accès aux propriétés suivantes :

    • organization.id

    • organization.name

    • organization.display_name

    • organization.metadata

  • L’objet client, avec accès aux propriétés suivantes :

    • client.client_id

    • client.name

  • L’objet tenant (locataire), avec accès à la propriété suivante :

    • tenant.name

  • L’objet transaction, avec accès à la propriété suivante :

    • transaction.state

/

{
  "user": {
    "user_id": "auth0|658409...",
    "name": "ana@travel0.com",
    "nickname": "ana",
    "email": "ana@travel0.com",
    "email_verified": true,
    "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
    "user_metadata": {},
    "app_metadata": {},
    "created_at": "2023-12-21T09:46:40.487Z",
    "updated_at": "2024-05-07T10:44:26.271Z",
    "last_password_reset": "2023-12-21T09:49:08.932Z",
    "identities": [
      {
        "user_id": "6584...",
        "isSocial": false,
        "provider": "auth0",
        "connection": "Username-Password-Authentication"
      }
    ]
  },
  "client": {
    "client_id": "xpeg5...",
    "name": "My App"
  },
  "tenant": {
    "name": "tenant-testing"
  },
  "transaction": {
    "state": "hKFo2SBId2M0..."
  }
}

Was this helpful?

/

Par exemple :  {{context.user.user_id}} référence user_id de l’objet user.

Dashboard > Forms > Flows

Variables des champs du formulaire

Les variables de champ contiennent les données recueillies auprès de l’utilisateur dans les champs de saisie du formulaire et les données des champs cachés. Les données de chaque champ varient en fonction du type de champ. Par exemple : {{fields.first_name}} référence la valeur saisie dans le champ ayant l’ID first_name.

Dashboard > Actions > Forms > Form

Variables des actions de sortie de flux

Lorsqu’une action de flux est exécutée, elle génère un objet qui peut être référencé dans les actions suivantes. Par exemple : {{actions.generate_otp.code}} référence le code résultant de l’action avec l’IDgenerate_otp.

Dashboard > Actions > Forms > Flows

Variables partagées

Vous pouvez stocker des variables à partager avec des flux ultérieurs ou même avec des composants de formulaire dans la même transaction. Les variables partagées sont éphémères et sont associées à un parcours de formulaire spécifique. Leurs valeurs ne sont pas accessibles en dehors de ce parcours. Par exemple : {{vars.external_id}} référence la valeur d’une variable partagée avec l’ID external_id.

Dashboard > Actions > Forms > Flows

Fonctions utilitaires

Les fonctions utilitaires permettent de transformer les données et d’effectuer des opérations simples. Par exemple : {{functions.toString(fields.privacy_policies)}} transforme la valeur du champ ayant l’ID privacy_policies utilisant la fonction toString().

Dashboard > Actions > Forms > Flows

Les fonctions utilitaires disponibles sont les suivantes :

Fonction Description Exemple
toArray(value) Convertit la valeur en un tableau {{ functions.toArray('abc') }} // ['abc']
toBoolean(value) Convertit la valeur en valeur booléenne {{ functions.toBoolean(1) }} // true

{{ functions.toBoolean(0) }} // false
length(value) Renvoie la longueur de la valeur du paramètre {{ functions.length('auth0') }} // 5
mask(value) Masque une valeur pour éviter l’exposition dans les exécutions {{ functions.mask('my_awesome_secret') }} // ███
toNumber(value) Convertit la valeur en nombre {{ functions.toNumber('123') }} // 123
random(min, max, [boolean]) Renvoie un nombre aléatoire compris entre les valeurs minimales et maximales incluses. {{ functions.random(0, 6) }} // 4

{{ functions.random(0, 6, true) }} // 3.8523497...
slice(value, start, end) Renvoie une section d’un tableau de valeurs ou d’une chaîne de caractères entre les indices de début et de fin. {{ functions.slice( 'example', 3, 5) }} // 'mp'
toString(value) Convertit la valeur en chaîne {{ functions.toString(123) }} // '123'
substring(value, start, end) Renvoie une section d’une valeur entre les indices de début et de fin. En savoir plus sur les différences entre les fonctions slice et substring {{ functions.substring( 'example’', 3, 5) }} // 'mp'
toTimestamp() Renvoie l’horodatage UNIX actuel {{ functions.toTimestamp() }} // 1628761483
toTimestamp(date) Renvoie la date fournie en heure UNIX {{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970
toTimestamp(date) Renvoie la date fournie en heure UNIX {{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970
replaceAll(value, string, replacement) Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut. {{ functions.replaceall('2021-04-30', '-', '/') }} // 2021/04/30
replace(value, string, replacement) Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut. Si le motif est une chaîne, seule la première occurrence sera remplacée. {{ functions.replace('2021-04-30', '-', '/') }} // 2021/04-30
split(value, separator, limit?) Renvoie une liste ordonnée de sous-chaînes divisées par le séparateur. {{ functions.split('2021-04-30', '-') }} // ['2021', '04', '30']
now() Renvoie la date actuelle au format ISO 8601. {{ functions.now() }} // 2021-04-30T10:31:28.576Z
includes(collection, item, fromIndex?) Renvoie le fait qu’un tableau contienne une certaine valeur parmi ses entrées. {{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }} // true
indexOf(collection, item, fromIndex?) Renvoie le premier indice auquel un élément donné peut être trouvé dans le tableau, ou -1 s’il n’est pas présent. {{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }} // 1
merge(base, value) Renvoie un tableau fusionné, un objet ou concatène une chaîne de caractères en fonction du type de données de base. {{ functions.merge(['auth0', 'identity'], ['authentication']) }} // ['auth0', 'identity', 'authentication']
md5(value) Renvoie une valeur hachée MD5. {{ functions.md5('auth0') }} // 7bbb597...
sha1(value) Renvoie une valeur hachée SHA1. {{ functions.sha1('auth0') }} // b4ec5339...
sha256(value) Renvoie une valeur hachée SHA256. {{ functions.sha256('auth0') }} // d9082bdc...
sha512(value) Renvoie une valeur hachée SHA512. {{ functions.sha512('auth0') }} // c0d588069d...
uuid() Renvoie un UUID v4 aléatoire {{ functions.uuid() }} // 36b8f84d-df4e-4d49-b662-bcde71a8764

Meilleures pratiques pour les variables

Utiliser des ID significatifs

Lorsque vous ajoutez un champ de Formulaire ou une action de Flux, l’ID est automatiquement généré.

Mettez à jour l’ID avec une valeur plus descriptive afin de pouvoir identifier les informations qu’il contient. Par exemple, si vous créez un champ de Formulaire qui stocke le prénom de l’utilisateur, modifiez l’ID en first_name.

Soyez vigilant lorsque vous mettez à jour des ID existants

Si une variable est déjà utilisée et que vous devez modifier son ID, identifiez l’endroit où vous l’avez référencée et mettez l’ID à jour en conséquence pour éviter les valeurs indéfinies ou vides.

Vérifier l’exécution des Flux

Si vous constatez une valeur de variable inattendue, utilisez l’aperçu Executions (Exécutions) pour dépanner la variable.

Utiliser le menu de remplissage automatique

Le menu de remplissage automatique vous aide à localiser et à référencer correctement les variables existantes.

Dashboard > Actions > Forms > FlowsDashboard > Actions > Forms > Form