Dapatkan atribut berdasarkan penanda
Dalam contoh ini, kami menunjukkan cara mengambil skema atribut untuk satu set atribut tertentu berdasarkan penandanya menggunakan API OneEntry.
✅ Tujuan skenario:
- Terhubung ke API OneEntry
- Mengambil skema atribut untuk satu set atribut yang dinamai
- Mengakses metadata atribut: penanda, tipe, label, validator, dan listTitles
✅ Apa yang Anda butuhkan:
- PROJECT_URL dan APP_TOKEN yang valid untuk otentikasi dengan API OneEntry.
- Satu set atribut yang dikonfigurasi di OneEntry dengan penanda yang diketahui (misalnya, "produk")
📌 Penting:
- Contoh-contoh ini tidak mencakup penanganan kesalahan.
- Anda dapat mengelola kesalahan menggunakan blok try-catch atau dengan menggunakan konstruksi seperti await Promise.catch((error) => error).
- Mengembalikan SCHEMA atribut — BUKAN nilai aktual dari entitas.
- value selalu dalam skema — untuk mendapatkan nilai nyata gunakan Products.getProducts(), Pages.getPageByUrl(), dll.
- Gunakan listTitles untuk membangun opsi filter untuk atribut tipe list dan radioButton.
📚 Lihat di dokumentasi:
📦 Referensi SDK:
Coba secara langsung
Jalankan metode ini secara interaktif di JS SDK sandbox — sambungkan Project URL dan App Token Anda pada kunjungan pertama, lalu buka:
- Dapatkan atribut berdasarkan penanda — Dalam contoh ini, kami menunjukkan cara mengambil skema atribut untuk satu set atribut tertentu berdasarkan penandanya menggunakan API OneEntry.
Skenario
1. Impor defineOneEntry dari SDK dan definisikan PROJECT_URL dan APP_TOKEN
Contoh:
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. Membuat klien API dengan defineOneEntry()
Contoh:
const { AttributesSets } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Dapatkan skema atribut berdasarkan penanda dengan AttributesSets.getAttributesByMarker()
Contoh:
const attributes = await AttributesSets.getAttributesByMarker(
'product',
'en_US',
);
console.log('Attributes: ', attributes);
Hasil:
[
{
"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": {}
}
]
Contoh akhir
// 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);