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",
"isLogin": false,
"isSignUp": false,
"position": 1,
"settings": {},
"isVisible": true,
"isPassword": false,
"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",
"marker": "additional_field"
}
},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
},
{
"type": "file",
"marker": "file",
"isLogin": false,
"isSignUp": false,
"position": 2,
"settings": {},
"isVisible": true,
"isPassword": false,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "File"
},
"additionalFields": {},
"isSignUpRequired": false,
"isNotificationEmail": false,
"isNotificationPhoneSMS": false,
"isNotificationPhonePush": false
}
],
"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 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.

listTitles.title: string
Le titre ou le nom associé à l'élément de la liste.
exemple : "Nom de l'élément"

listTitles.value: number | string
La valeur de l'élément de la liste, qui peut être soit un nombre soit une chaîne selon le contexte.
exemple : 42

listTitles.position: string | number | null
La position de l'élément de la liste, qui peut être représentée comme une chaîne, un nombre ou null si non applicable.
exemple : 1

listTitles.extended: object
Un objet contenant des propriétés ou des métadonnées supplémentaires liées à l'élément de la liste. Cela pourrait inclure des détails supplémentaires qui étendent les informations de base.

listTitles.extended.value: string | null
La valeur étendue, qui peut être une chaîne ou null.
exemple : "extra_value"

listTitles.extended.type: string | null
Le type de la valeur étendue, qui peut être une chaîne ou null.
exemple : "color"

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

validators.requiredValidator: object
Marque le champ comme obligatoire. Forme : { strict: boolean }.
exemple : { strict: true }

validators.stringInspectionValidator: object
Contraintes de longueur pour les champs de chaîne. Forme : { stringMin: number; stringMax: number; stringLength: number }.

validators.emailInspectionValidator: boolean
Basculer pour la validation du format d'email.

validators.defaultValueValidator: object
Configuration de la valeur par défaut avec un texte d'erreur personnalisé optionnel. Forme : { customErrorText?: string; fieldDefaultValue?: unknown; fieldDefaultValue2?: unknown }.

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.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 du 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 du formulaire.
exemple : "module_identifier"

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

moduleFormConfigs.isClosed: boolean
Indique si la configuration du 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 du formulaire permet de voir les données utilisateur (utilisé dans l'API des formulaires).
exemple : true

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

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

moduleFormConfigs.commentOnlyMyData: boolean
Indique si la configuration du 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 du 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"