Saltar al contenido principal

Obtener atributos por marcador

En este ejemplo, demostramos cómo recuperar el esquema de atributos para un conjunto de atributos específico por su marcador utilizando la API de OneEntry.

✅ Propósito del escenario:

  • Conectar a la API de OneEntry
  • Recuperar el esquema de atributos para un conjunto de atributos nombrado
  • Acceder a los metadatos de los atributos: marcador, tipo, etiqueta, validadores y listTitles

✅ Lo que necesitas:

  • Un PROJECT_URL y APP_TOKEN válidos para la autenticación con la API de OneEntry.
  • Un conjunto de atributos configurado en OneEntry con un marcador conocido (por ejemplo, "producto")

📌 Importante:

  • Estos ejemplos no incluyen manejo de errores.
  • Puedes gestionar errores utilizando un bloque try-catch o empleando una construcción como await Promise.catch((error) => error).
  • Devuelve el ESQUEMA de atributos — NO los valores reales de las entidades.
  • el valor es siempre en el esquema — para obtener valores reales usa Products.getProducts(), Pages.getPageByUrl(), etc.
  • Usa listTitles para construir opciones de filtro para atributos de tipo lista y radioButton.

📚 Ver en la documentación:

📦 Referencia del SDK:

Pruébalo en vivo

Ejecuta este método de forma interactiva en el sandbox del JS SDK — conecta tu Project URL y App Token en la primera visita, luego abre:

  • Obtener atributos por marcador — En este ejemplo, demostramos cómo recuperar el esquema de atributos para un conjunto de atributos específico por su marcador utilizando la API de OneEntry.

Escenario

1. Importar defineOneEntry desde el SDK y definir PROJECT_URL y APP_TOKEN

Ejemplo:

import { defineOneEntry } from 'oneentry';

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

2. Crear un cliente API con defineOneEntry()

Ejemplo:

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

3. Obtener el esquema de atributos por marcador con AttributesSets.getAttributesByMarker()

Ejemplo:

const attributes = await AttributesSets.getAttributesByMarker(
'product',
'en_US',
);
console.log('Attributes: ', attributes);
Resultado:
[
{
"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": {}
}
]

Ejemplo 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);