Müşteri Yapılandırması
Müşteri gruplarını, rozet eşiklerini ve güven puanı kademelerini okuyan ve kaydeden altı uç.
Genel Bakış
Bu altı uç kurulum genelindeki müşteri yapılandırmasını okur ve yazar: gruplar, rozet eşikleri ve güven puanı kademeleri. Hiçbiri tek bir müşteriye bakmaz.
Güven puanı dört eksenden hesaplanır: hizmet sayısı, gelir, hesap yaşı ve destek talebi. Her eksen bir kademe listesidir; müşteri hangi kademeye düşerse o kademenin puanını alır.
Referans
Grupları Listeleme
Kurulumdaki tüm müşteri gruplarını döndürür.
0 gönderin.#095174.curl 'https://panel.ornek.com/api/v1/admin/clients/groups' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/groups', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/groups');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->GetClientGroups();Grupları Kaydetme
Grup listesini olduğu gibi kaydeder. Gönderdiğiniz liste yeni gerçektir: içinde olmayan grup silinir.
0 gönderin.#095174.groups bir dizi değil.curl -X PUT 'https://panel.ornek.com/api/v1/admin/clients/groups' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"groups":[{"id":5,"name":"VIP","discount_rate":10,"discount_products":"1,2","priority":1}]}'// Once listeyi okuyun, uzerinde degisiklik yapin, tamamini geri gonderin.
const current = await (await fetch('https://panel.ornek.com/api/v1/admin/clients/groups', {
headers: { Authorization: `Bearer ${apiKey}` },
})).json();
const groups = current.data.map((g) =>
g.id === 5 ? { ...g, discount_rate: 15 } : g);
const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/groups', {
method: 'PUT',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ groups }),
});$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/groups');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'groups' => [
[
'id' => 5,
'name' => 'VIP',
'discount_rate' => 10,
'priority' => 1,
],
],
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Tek grubu degistirmek icin bile listenin TAMAMI gonderilir.
$groups = Api::Clients()->GetClientGroups()['data'];
foreach ($groups as &$group)
if ((int) $group['id'] === 5) $group['discount_rate'] = 15;
unset($group);
$response = Api::Clients()->SaveClientGroups(['groups' => $groups]);Rozet Eşiklerini Getirme
Müşteri rozetlerinin kazanılma eşiklerini döndürür. Hiç kaydedilmemişse varsayılanlar gelir.
curl 'https://panel.ornek.com/api/v1/admin/clients/badge-settings' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/badge-settings', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/badge-settings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->GetBadgeSettings();Rozet Eşiklerini Kaydetme
Beş eşiği birlikte kaydeder. Göndermediğiniz eşik varsayılanına döner; hepsini birlikte gönderin. Değerler güvenli aralığa çekilir, geçersiz olan reddedilmez.
rev_silver + 1 yapılır.curl -X PUT 'https://panel.ornek.com/api/v1/admin/clients/badge-settings' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"loyal_years":5,"rev_silver":500,"rev_gold":1000,"multi_service_min":5,"experienced_max":15}'const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/badge-settings', {
method: 'PUT',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
loyal_years: 5,
rev_silver: 500,
rev_gold: 1000,
multi_service_min: 5,
experienced_max: 15,
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/badge-settings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'loyal_years' => 5,
'rev_silver' => 500,
'rev_gold' => 1000,
'multi_service_min' => 5,
'experienced_max' => 15,
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->SaveBadgeSettings([
'rev_silver' => 500,
'rev_gold' => 400,
]);
// Yanit kaydedilen degeri tasir: rev_gold burada 501 olarak doner.
$saved = $response['data']['rev_gold'];Güven Puanı Kademelerini Getirme
Güven puanının dört eksenindeki kademeleri döndürür. Kaydedilmemişse varsayılanlar gelir.
null üst sınırsız son kademedir.null üst sınırsız son kademedir.null üst sınırsız son kademedir.null üst sınırsız son kademedir.curl 'https://panel.ornek.com/api/v1/admin/clients/trust-score-settings' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/trust-score-settings', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/trust-score-settings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);$response = Api::Clients()->GetTrustScoreSettings();{
"data": {
"services": [
{ "max": 5, "points": 20 },
{ "max": null, "points": 30 }
],
"revenue": [{ "max": 1000, "points": 25 }],
"age": [{ "max": 12, "points": 10 }],
"tickets": [{ "max": null, "points": 5 }]
}
}Güven Puanı Kademelerini Kaydetme
Dört ekseni birlikte kaydeder. Göndermediğiniz eksen boş kalır ve o eksenin kademeleri silinir; korumak istediğiniz her ekseni gönderin. Puanlar 0-100 aralığına, negatif eşik 0'a çekilir; geçersiz değer reddedilmez.
null üst sınırsız son kademedir.null üst sınırsız son kademedir.null üst sınırsız son kademedir.null üst sınırsız son kademedir.curl -X PUT 'https://panel.ornek.com/api/v1/admin/clients/trust-score-settings' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"services":[{"max":5,"points":20},{"max":null,"points":30}]}'const res = await fetch('https://panel.ornek.com/api/v1/admin/clients/trust-score-settings', {
method: 'PUT',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
services: [
{ max: 5, points: 20 },
{ max: null, points: 30 },
],
}),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/clients/trust-score-settings');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'services' => [
['max' => 5, 'points' => 20],
['max' => null, 'points' => 30],
],
]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Son kademe 'max' => null olmali, yoksa esigin ustundeki musteri puan almaz.
$response = Api::Clients()->SaveTrustScoreSettings([
'services' => [
['max' => 5, 'points' => 20],
['max' => null, 'points' => 30],
],
]);Tuzaklar
Kaydetme ucu birleştirme yapmaz. Gönderdiğiniz listede olmayan bir grup silinir, o gruba bağlı müşteriler grupsuz kalır. Tek bir grubu değiştirmek için önce listeyi okuyun, üzerinde değişikliği yapın, tamamını geri gönderin.
Altın gelir eşiğini gümüşe eşit ya da altında gönderirseniz hata almazsınız; değer sessizce rev_silver + 1 yapılır. Ne kaydedildiğini yanıttan okuyun.
Bir eksenin son kademesinde max alanını null bırakın. Aksi hâlde en yüksek sınırın üstündeki müşteri hiçbir kademeye düşmez ve o eksenden puan almaz.
İ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.