Aller au contenu principal

getFormByMarker

Obtenir un objet de formulaire par marqueur.

Description​

Cette méthode récupère un seul objet de formulaire basé sur son identifiant textuel (marqueur) depuis l'API. Elle renvoie une promesse qui se résout en un objet FormEntity.

.getFormByMarker(

,

);

Schéma des paramètres​

Schéma

marker(obligatoire): string
Marqueur du formulaire
exemple : "contact_form"

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

Exemples​

Exemple minimal​

const response = await Forms.getFormByMarker('my-form');

Exemple avec des attributs​

const response = await Forms.getFormByMarker('my-form', 'en_US');

Exemple de réponse​

{
"id": 6,
"attributeSetId": 15,
"type": "data",
"localizeInfos": {
"title": "Test form",
"titleForSite": "",
"successMessage": "",
"unsuccessMessage": "",
"urlAddress": "",
"database": "0",
"script": "0"
},
"version": 15,
"position": 1,
"identifier": "test-form",
"processingType": "script",
"templateId": null,
"attributes": [
{
"type": "string",
"marker": "name",
"position": 1,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
},
"stringInspectionValidator": {
"stringMax": 0,
"stringMin": 0,
"stringLength": 0
}
},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "Name"
},
"additionalFields": {
"additional_field": {
"type": "string",
"value": "Additional field data"
}
}
},
{
"type": "file",
"marker": "file",
"position": 2,
"settings": {},
"isVisible": true,
"listTitles": [],
"validators": {},
"multiselect": false,
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"formId": 6,
"moduleId": 4,
"moduleIdentifier": "content",
"isGlobal": false,
"isModerate": false,
"isClosed": false,
"viewOnlyUserData": false,
"commentOnlyUserData": false,
"entityIdentifiers": [
{
"id": "blog",
"isNested": false
}
],
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null
}
]
}

Schéma de réponse​

Schéma : IFormsEntity

id: number
L'identifiant de l'objet.
exemple : 12345

attributeSetId: number | null
L'identifiant de l'ensemble d'attributs utilisé, ou null si non applicable.
exemple : 1234

type: string | null
Type de formulaire.
exemple : "contact"

localizeInfos: IFormLocalizeInfo
Le nom du formulaire et les champs de localisation côté formulaire (messages de succès/erreur, configuration de traitement, etc.).
exemple :

{
"key": "value"
}

localizeInfos.title: string
Nom localisé du formulaire. Optionnel — la charge utile est un objet vide lorsque le formulaire n'a pas de localisation pour la langue demandée (par exemple, dans les réponses de liste).
exemple : "Formulaire de contact"

localizeInfos.titleForSite: string
Titre visible par le public affiché sur le site web.
exemple : "Titre du formulaire (pour l'application)"

localizeInfos.successMessage: string
Message affiché à l'utilisateur après une soumission réussie.

localizeInfos.unsuccessMessage: string
Message affiché à l'utilisateur après une soumission échouée.

localizeInfos.urlAddress: string
URL où les données du formulaire sont envoyées pour traitement (utilisé par processingType: "url").

localizeInfos.database: string
Identifiant/flag de base de données utilisé par le processeur de formulaires (typé en chaîne dans l'API : "0" / "1" / id).

localizeInfos.script: string
Identifiant/flag de script utilisé par le processeur de formulaires (typé en chaîne dans l'API : "0" / "1" / id).

version: number
Le numéro de version de l'objet.
exemple : 1

position: number
La position de l'objet.
exemple : 1

identifier: string
L'identifiant textuel pour le champ d'enregistrement.
exemple : "form_contact_us"

processingType: string
Type de traitement du formulaire.
exemple : "async"

templateId: number | null
L'identifiant du modèle utilisé par le formulaire, ou null si aucun modèle n'est utilisé.
exemple : 6789

attributes: IFormAttribute[]
Champs de formulaire avec leur localisation, validateurs et flags spécifiques au formulaire, triés par position. L'API renvoie un objet vide pour les formulaires sans attributs — le SDK le normalise en un tableau vide.

attributes.marker: string
Marqueur de champ (nom machine).
exemple : "email"

attributes.type: AttributeType
Type de données de l'attribut (par exemple, "string", "file").

attributes.position: number
Position de tri du champ.
exemple : 1

attributes.isVisible: boolean
Indique si le champ est exposé à l'utilisateur.
exemple : true

attributes.localizeInfos: IAttributeLocalizeInfo
Étiquettes localisées pour le champ. Pour les attributs timeInterval, contient également la charge utile du calendrier intervals.

attributes.initialValue: unknown
Valeur par défaut appliquée lorsque le champ n'est pas rempli.

attributes.listTitles: IListTitle[]
Options prédéfinies pour les champs list/radioButton ; tableau vide pour d'autres types.

attributes.multiselect: boolean
Pour les champs list — indique si plusieurs options de listTitles peuvent être sélectionnées. Optionnel.
exemple : false

attributes.validators: IAttributeValidators
Règles de validation ; objet vide lorsque aucun validateur n'est configuré.

attributes.settings: Record<string, unknown>
Configuration spécifique au champ ; objet vide par défaut.

attributes.additionalFields: Record<string, IFormAttributeAdditionalField>
Champs supplémentaires imbriqués indexés par marqueur ; objet vide lorsqu'il n'y en a pas.

attributes.isLogin: boolean
Indique si ce champ contient la valeur de connexion utilisée pour l'authentification. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isSignUp: boolean
Indique si ce champ est requis lors de l'inscription. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isPassword: boolean
Indique si ce champ contient la valeur de mot de passe utilisée pour l'authentification. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isSignUpRequired: boolean
Indique si ce champ est requis lors de l'inscription. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isNotificationEmail: boolean
Indique si ce champ stocke l'email utilisé pour les notifications. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isNotificationPhonePush: boolean
Indique si ce champ stocke le numéro de téléphone utilisé pour les notifications push. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

attributes.isNotificationPhoneSMS: boolean
Indique si ce champ stocke le numéro de téléphone utilisé pour les notifications SMS. Optionnel — présent uniquement sur les attributs des formulaires de connexion/d'inscription.
exemple : false

total: number | string
Nombre total d'entrées associées.
exemple : "1"

moduleFormConfigs: IFormConfig[]
Tableau de configurations de formulaires de module associées au formulaire.

moduleFormConfigs.id: number
L'identifiant de la configuration de formulaire.
exemple : 123

moduleFormConfigs.formIdentifier: string
L'identifiant du formulaire (uniquement dans l'API produits/pages).
exemple : "review"

moduleFormConfigs.moduleIdentifier: string
L'identifiant du module associé à la configuration de formulaire.
exemple : "module_identifier"

moduleFormConfigs.isGlobal: boolean
Indique si la configuration de formulaire est globale.
exemple : true

moduleFormConfigs.isClosed: boolean
Indique si la configuration de formulaire est fermée.
exemple : true

moduleFormConfigs.isModerate: boolean
Indique si le formulaire nécessite une modération (uniquement dans l'API produits/pages).
exemple : false

moduleFormConfigs.viewOnlyUserData: boolean
Indique si la configuration de formulaire permet de voir les données utilisateur (utilisé dans l'API des formulaires).
exemple : true

moduleFormConfigs.commentOnlyUserData: boolean
Indique si la configuration de formulaire permet de commenter les données utilisateur (utilisé dans l'API des formulaires).
exemple : true

moduleFormConfigs.viewOnlyMyData: boolean
Indique si la configuration de formulaire permet de voir mes données (utilisé dans l'API produits/pages).
exemple : false

moduleFormConfigs.commentOnlyMyData: boolean
Indique si la configuration de formulaire permet de commenter mes données (utilisé dans l'API produits/pages).
exemple : false

moduleFormConfigs.entityIdentifiers: object[]
Un tableau d'identifiants d'entités associés à la configuration de formulaire.

moduleFormConfigs.nestedEntityIdentifiers: string[]
Un tableau de chaînes d'identifiants d'entités imbriquées (uniquement dans l'API produits/pages).
exemple : ["catalog"]

moduleFormConfigs.exceptionIds: string[]
Un tableau d'identifiants d'exception.

moduleFormConfigs.formDataCount: number
Nombre total d'entrées de données de formulaire (uniquement dans l'API produits/pages).
exemple : 306

moduleFormConfigs.entityFormDataCount: Record<string, number>
Nombre de données de formulaire par identifiant d'entité (uniquement dans l'API produits/pages).
exemple :

{"catalog": 306}

moduleFormConfigs.isRating: boolean | null
Indique si cette configuration de formulaire est pour des évaluations.
exemple : null

moduleFormConfigs.isAnonymous: boolean | null
Indique si les soumissions anonymes sont autorisées.
exemple : null

moduleFormConfigs.allowHalfRatings: boolean | null
Indique si les demi-évaluations sont autorisées.
exemple : null

moduleFormConfigs.allowRerating: boolean | null
Indique si la réévaluation est autorisée.
exemple : null

moduleFormConfigs.maxRatingScale: number | null
Valeur maximale de l'échelle d'évaluation.
exemple : 5

moduleFormConfigs.ratingCalculation: string
Méthode de calcul de l'évaluation.
exemple : "average"


Exemples d'utilisation​

Étapes détaillées dans la documentation :

Essayez-le en direct​

Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — lors de votre première visite, connectez votre URL de projet et votre jeton d'application, puis ouvrez n'importe quel scénario ci-dessous pour voir Forms.getFormByMarker() en action :