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

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 indicateurs spécifiques au formulaire.

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 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.
exemple : false

attributes.isSignUp: boolean
Indique si ce champ est requis lors de l'inscription.
exemple : false

attributes.isPassword: boolean
Indique si ce champ contient la valeur de mot de passe utilisée pour l'authentification.
exemple : false

attributes.isSignUpRequired: boolean
Indique si ce champ est requis lors de l'inscription.
exemple : false

attributes.isNotificationEmail: boolean
Indique si ce champ stocke l'email utilisé pour les notifications.
exemple : false

attributes.isNotificationPhonePush: boolean
Indique si ce champ stocke le numéro de téléphone utilisé pour les notifications push.
exemple : false

attributes.isNotificationPhoneSMS: boolean
Indique si ce champ stocke le numéro de téléphone utilisé pour les notifications SMS.
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 des évaluations.
exemple : "average"


Exemples d'utilisation

Guides étape par étape 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 :