Aller au contenu principal

Obtenir des attributs par marqueur

Dans cet exemple, nous démontrons comment récupérer le schéma d'attributs pour un ensemble d'attributs spécifique par son marqueur en utilisant l'API OneEntry.

✅ Objectif du scénario :

  • Se connecter à l'API OneEntry
  • Récupérer le schéma d'attributs pour un ensemble d'attributs nommé
  • Accéder aux métadonnées des attributs : marqueur, type, étiquette, validateurs et listTitles

✅ Ce dont vous avez besoin :

  • Un PROJECT_URL et un APP_TOKEN valides pour l'authentification avec l'API OneEntry.
  • Un ensemble d'attributs configuré dans OneEntry avec un marqueur connu (par exemple, "produit")

📌 Important :

  • Ces exemples n'incluent pas la gestion des erreurs.
  • Vous pouvez gérer les erreurs en utilisant un bloc try-catch ou en employant une construction comme await Promise.catch((error) => error).
  • Retourne le SCHÉMA des attributs — PAS les valeurs réelles des entités.
  • la valeur est toujours dans le schéma — pour obtenir des valeurs réelles, utilisez Products.getProducts(), Pages.getPageByUrl(), etc.
  • Utilisez listTitles pour construire des options de filtre pour les attributs de type liste et radioButton.

📚 Voir dans la documentation :

📦 Référence SDK :

Essayez-le en direct

Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — connectez votre Project URL et App Token lors de votre première visite, puis ouvrez :

  • Obtenir des attributs par marqueur — Dans cet exemple, nous démontrons comment récupérer le schéma d'attributs pour un ensemble d'attributs spécifique par son marqueur en utilisant l'API OneEntry.

Scénario

1. Importer defineOneEntry depuis le SDK et définir PROJECT_URL et APP_TOKEN

Exemple :

import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

2. Créer un client API avec defineOneEntry()

Exemple :

const { AttributesSets } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

3. Obtenir le schéma d'attributs par marqueur avec AttributesSets.getAttributesByMarker()

Exemple :

const attributes = await AttributesSets.getAttributesByMarker(
'product',
'en_US',
);
console.log('Attributes: ', attributes);
Résultat :
[
{
"type": "real",
"value": {},
"marker": "price",
"position": 1,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
}
},
"initialValue": null,
"localizeInfos": {
"title": "Price"
},
"additionalFields": {}
},
{
"type": "string",
"value": {},
"marker": "currency",
"position": 2,
"listTitles": [],
"validators": {
"defaultValueValidator": {
"fieldDefaultValue": "USD",
"fieldDefaultValue2": ""
}
},
"initialValue": null,
"localizeInfos": {
"title": "Currency"
},
"additionalFields": {}
},
{
"type": "image",
"value": {},
"marker": "image",
"position": 3,
"listTitles": [],
"validators": {},
"initialValue": null,
"localizeInfos": {
"title": "Image"
},
"additionalFields": {}
}
]

Exemple final

// 1. Import defineOneEntry from SDK and define PROJECT_URL and APP_TOKEN
import { defineOneEntry } from 'oneentry';

const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';

// 2. Creating an API client with [defineOneEntry()](/docs/index/#Installation)
const { AttributesSets } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});

// 3. Get attribute schema by marker with [AttributesSets.getAttributesByMarker()](/docs/attribute-sets/getAttributeSetByMarker)
const attributes = await AttributesSets.getAttributesByMarker(
'product',
'en_US',
);
console.log('Attributes: ', attributes);