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.

Forms.getFormByMarker(

marker*, langCode

);

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": 14,
"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
}
},
"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": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {}
}
],
"total": "1",
"moduleFormConfigs": [
{
"id": 2,
"moduleIdentifier": "content",
"isGlobal": 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.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>
Sous-champs 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/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/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/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/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/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/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/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 :