Lewati ke konten utama

Dapatkan total jumlah produk

Metode ini mengembalikan total jumlah produk dalam proyek Anda. Anda dapat secara opsional mengirimkan body filter untuk menghitung hanya produk yang memenuhi kondisi tertentu.

✅ Tujuan skenario:

  • Mendapatkan total jumlah produk
  • Secara opsional memfilter berdasarkan kondisi atribut
  • Menggunakan jumlah untuk paginasi atau pemeriksaan ketersediaan

✅ Apa yang Anda butuhkan:

  • URL_PROYEK dan TOKEN_APLIKASI yang valid untuk otentikasi dengan API OneEntry.
  • Setidaknya satu produk dalam proyek

📌 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).
  • Kirimkan array kosong [] untuk menghitung semua produk tanpa memfilter.

📚 Lihat di dokumentasi:

📦 Referensi SDK:

Coba secara langsung

Jalankan metode ini secara interaktif di JS SDK sandbox — sambungkan URL Proyek dan Token Aplikasi Anda pada kunjungan pertama, lalu buka:

  • Dapatkan total jumlah produk — Metode ini mengembalikan total jumlah produk dalam proyek Anda. Anda dapat secara opsional mengirimkan body filter untuk menghitung hanya produk yang memenuhi kondisi tertentu.

Skenario

1. Impor defineOneEntry dari SDK dan definisikan URL_PROYEK dan TOKEN_APLIKASI

Contoh:

import { defineOneEntry } from 'oneentry';
import { IFilterParams } from 'oneentry/dist/products/productsInterfaces';

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

2. Membuat klien API dengan defineOneEntry()

Contoh:

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

3. Secara opsional definisikan body filter (array kosong = semua produk)

Contoh:

// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];

4. Panggil Products.getProductsCount() dengan getProductsCount()

Contoh:

const data = await Products.getProductsCount(body);

if ('statusCode' in data) {
throw new Error(data.message);
}

console.log('Count data: ', data);
Hasil:
{
"totalAll": 12,
"totalInCategory": 0,
"totalInCategoryWithNested": 0
}

Contoh akhir

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

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

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

// 3. Optionally define a filter body (empty array = all products)
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];

// 4. Call Products.getProductsCount() with [getProductsCount()](/docs/products/getProductsCount)
const data = await Products.getProductsCount(body);

if ('statusCode' in data) {
throw new Error(data.message);
}

console.log('Count data: ', data);