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"