Aller au contenu principal

getFormsDataByMarker

Recherche de données de formulaire par identifiant textuel (marqueur).

Description

Cette méthode récupère un objet de données de formulaire spécifique par son marqueur depuis l'API. Elle accepte un paramètre marqueur en tant que marqueur des données de formulaire. Elle renvoie une promesse qui se résout en un tableau d'objets de type FormDataEntity.

FormData.getFormsDataByMarker(

marker*, formModuleConfigId*, body, isExtended, langCode, offset, limit

);

Schéma des paramètres

Schéma

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

formModuleConfigId(obligatoire): number
ID de configuration du module de formulaire
exemple : 4

body: IFormsDataFilter
Filtre pour les enregistrements à retourner. Chaque champ est optionnel ; un champ omis ou vide n'est pas appliqué
exemple :

{
"entityIdentifier": "blog",
"parentId": 10,
"userIdentifier": "",
"status": [
"moderation",
"approved"
],
"dateFrom": "2025-01-01",
"dateTo": ""
}

body.entityIdentifier: string
Identifiant textuel (marqueur) de l'entité à laquelle appartiennent les enregistrements ; une chaîne vide signifie "aucun filtre".
exemple : "blog"

body.parentId: number
Identifiant de l'enregistrement parent — la manière de récupérer les réponses à un commentaire.
exemple : 10

body.userIdentifier: string
Identifiant textuel de l'expéditeur ; une chaîne vide signifie "aucun filtre".
exemple : "admin"

body.status: FormDataStatus[]
Statuts de modération à conserver. Doit être un tableau — une chaîne simple est rejetée avec 400. Un tableau vide signifie "aucun filtre".
exemple : ["approved"]

body.dateFrom: string
Limite inférieure de la date de soumission, YYYY-MM-DD ; une chaîne vide signifie "aucune limite". Une valeur que l'API ne peut pas analyser échoue la requête avec un 500.
exemple : "2025-01-01"

body.dateTo: string
Limite supérieure de la date de soumission, YYYY-MM-DD ; une chaîne vide signifie "aucune limite".
exemple : "2025-12-31"

isExtended: number
Indicateur pour obtenir des champs supplémentaires
exemple : 1

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

offset: number
Paramètre pour la pagination. Par défaut : 0
exemple : 0

limit: number
Paramètre pour la pagination. Par défaut : 30
exemple : 30

Par défaut, vous pouvez récupérer 10 objets. Cela est dû à la limite d'enregistrements dans les paramètres de permissions du module.
Pour que la pagination fonctionne correctement, vous devez configurer Permissions du module selon vos besoins dans la section correspondante.

Exemples

Exemple minimal

const response = await FormData.getFormsDataByMarker('my-marker', 2);

Exemple avec un filtre

const response = await FormData.getFormsDataByMarker(
'my-marker',
2,
{ entityIdentifier: 'blog', status: ['approved'] },
0,
'en_US',
0,
30,
);
formData revient sans l'enveloppe de locale

L'API renvoie les champs de chaque enregistrement enveloppés par langue — "formData": { "en_US": [ … ] } — et le SDK les déplie pour le langCode demandé. Lisez record.formData comme un tableau ; record.formData[langCode] est undefined et ne renvoie rien. Cela s'applique aux deux valeurs de isExtended.

Exemple de réponse

{
"items": [
{
"id": 8409,
"formIdentifier": "test-form",
"time": "2026-08-23T17:47:58.472Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
{
"id": 8392,
"formIdentifier": "test-form",
"time": "2026-08-23T14:37:47.250Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
{
"id": 8375,
"formIdentifier": "test-form",
"time": "2026-08-23T14:31:26.065Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content"
},
"..."
],
"total": 853
}

Schéma de réponse

Schéma : IFormsDataEntity

items: IFormByMarkerDataEntity[]
Tableau d'objets de données de formulaire.
exemple :

[
{
"id": 42,
"parentId": null,
"formIdentifier": "test-form",
"depth": 0,
"ip": null,
"status": null,
"userIdentifier": null,
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"time": "2025-03-03T15:51:17.458Z",
"entityIdentifier": "blog",
"isUserAdmin": false,
"formModuleConfigId": 2
}
]

items.id: number
L'identifiant unique de la page de formulaire.
exemple : 12345

items.parentId: null | number
L'identifiant unique de la page de formulaire parent.
exemple : 123

items.formIdentifier: string
L'identifiant de la page.
exemple : "contact_form"

items.depth: number
**
exemple : 1

items.ip: string | null
Ip.
exemple : '127.0.0.1'

items.fingerprint: string | null
Empreinte digitale.
exemple : 'fingerprint'

items.status: string | null
Statut de modération de l'enregistrement : "envoyé", "modération", "approuvé", "banni" ou "supprimé" ; null lorsque le formulaire n'est pas modéré.
exemple : 'approuvé'

items.userIdentifier: string | null
Identifiant textuel (marqueur) de l'utilisateur.
exemple : "admin"

items.formData: FormDataType[]
Champs soumis, déjà dépliés de la locale : l'API renvoie { "en_US": [ … ] } et le SDK remet le tableau pour le langCode demandé. Lisez formData directement — formData[langCode] est undefined.
exemple :

[
{
"marker": "name",
"type": "string",
"value": "Test"
}
]

items.attributeSetIdentifier: string | null
Identifiant textuel (marqueur) de l'ensemble d'attributs utilisé.
exemple : "product_attributes"

items.time: Date | string
L'identifiant du formulaire.
exemple : "2023-10-01T12:00:00Z"

items.entityIdentifier: string
Identifiant textuel (marqueur) de l'entité.
exemple : "test"

items.isUserAdmin: boolean
L'utilisateur est-il administrateur ?
exemple : true

items.formModuleConfigId: number
ID de configuration du module de formulaire.
exemple : 2

items.moduleIdentifier: string
Identifiant du module.
exemple : "blog"

items.entityId: number
ID de configuration du module de formulaire.
exemple : 2

total: number
Nombre total d'enregistrements trouvés.
exemple : 100