Satıştaki Ürünler
Satıştaki ürünleri, kategorilerini ve sipariş şemasını veren üç uç.
Genel Bakış
Bu üç uç, müşterinin satın alabileceği şeyleri gösterir. Vitrinde ne varsa burada da odur: kapalı, gizli ya da grubu kapatılmış ürün hiç görünmez.
Fiyatlar hesabın cüzdan para biriminde gelir. Böylece listelenen rakam bakiyeyle doğrudan karşılaştırılabilir ve sipariş anında sürpriz çıkmaz.
Detay ucu bir katalog kaydından fazlasını verir: sipariş gövdesinin şemasıdır. Döngüler, ek hizmetler, sorulacak alanlar ve alan adı ekseni oradan okunur.
Referans
Ürünleri Listeleme
Sipariş edilebilecek ürünleri vitrin sırasıyla döndürür.
curl 'https://panel.ornek.com/api/v1/client/products?type=hosting' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch('https://panel.ornek.com/api/v1/client/products?type=hosting', {
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data, meta } = await res.json();
renderPrices(data, meta.currency);$ch = curl_init('https://panel.ornek.com/api/v1/client/products?type=hosting');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Fiyatlar CUZDAN para biriminde gelir: bakiyeyle dogrudan karsilastirilabilir, cevirmeyin.
$r = Kernel::internal('client:Products/GetProducts', ['owner_id' => $uid, 'type' => 'hosting']);
$cur = $r['meta']['currency'];Kategorileri Listeleme
Vitrinde görünen ürün kategorilerini düz bir liste olarak döndürür.
curl 'https://panel.ornek.com/api/v1/client/products/categories' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch('https://panel.ornek.com/api/v1/client/products/categories', {
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data } = await res.json();
const roots = data.filter((c) => c.parent === null);$ch = curl_init('https://panel.ornek.com/api/v1/client/products/categories');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Liste DUZDUR: agaci ust kategori alanindan kendiniz kurun, uc hazir agac vermez.
$rows = Kernel::internal('client:Products/GetProductCategories', ['owner_id' => $uid])['data'];
$tree = [];
foreach ($rows as $c) $tree[$c['parent'] ?? 0][] = $c;Ürün Detayı ve Sipariş Şeması
Bir ürünü, sipariş gövdesini kurmak için gereken her şeyle döndürür.
curl 'https://panel.ornek.com/api/v1/client/products/36' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/client/products/${id}`, {
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data } = await res.json();
const must = data.requirements.filter((r) => r.required);
const cycles = data.pricing.map((p) => p.cycle);$ch = curl_init('https://panel.ornek.com/api/v1/client/products/' . $id);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// YENI alan adi buradan siparis edilemez: kayit ve transfer Domains uclarinda yapilir.
$pr = Kernel::internal('client:Products/GetProduct', ['owner_id' => $uid, 'id' => $id])['data'];
$viaDomains = ($pr['domain']['register_transfer'] ?? '') === 'via_domains_endpoints';Tuzaklar
Ürün detayındaki alan adı ekseni yalnız sahip olduğunuz bir alan adını kullanmayı ya da ücretsiz bir alt alan adı seçmeyi kapsar. Yeni bir alan adı kaydetmek ya da transfer etmek alan adı uçlarına aittir. Bunu karıştırmak sipariş gövdesinde karşılığı olmayan bir alan aramaya yol açar.
Bir döngüde kampanya varsa fiyat alanı kampanyalı tutarı taşır ve kampanya işareti doğru gelir. Yani listeyi görüp üzerine indirim uygulamak tutarı iki kez düşürür. Sipariş motorunun tahsil ettiği rakam da budur; listeyle sepet asla çelişmez.
Detay ucu bilinmeyen, kapalı, gizli ve grubu kapatılmış ürünü aynı yanıtla karşılar. Bu bilinçlidir: yanıt ürünün var olup olmadığını sızdırmaz. Bir ürün listede görünmüyorsa nedenini API'den öğrenemezsiniz, operatöre sorulur.
Adet kuralı üç kipten birindedir: sipariş başına tek birim, her birim için ayrı bir hizmet, ya da tek hizmet içinde ölçeklenen adet. İkinci kipte on adet sipariş etmek on hizmet doğurur; üçüncüde bir hizmet ve on katı fiyat. Arayüzü kipi okumadan kurmayın.
Kategoriler düz döner ve hiyerarşi üst kategori alanından kurulur. Sayfalama da yoktur: küme her zaman bütün gelir. Bir kategori seçimi ürün listesine süzgeç olarak verilir ve alt kategorileri kendiliğinden kapsamaz.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.