Satış Ortaklığı Ayarları

1.6k görüntülenme Markdown

Komisyon oranını, dönemini, bekleme süresini ve ödeme eşiğini tutan iki uç.

Genel Bakış

Program ayarları komisyonun ne kadar, ne zaman ve ne kadar süre vereceğinizi belirler. İki uç aynı yapıyı okur ve yazar.

Üç ayar birlikte çalışır: oran komisyonun büyüklüğünü tutar, dönem komisyonu bir kez mi her yenilemede mi vereceğinizi söyler, bekleme günü de kazancın ne zaman ödenebilir hâle geleceğini belirler.

Çerez süresi ayrı bir soruyu yanıtlar: ziyaretçi bağlantıya tıkladıktan kaç gün sonrasına kadar müşteri olursa sistem yönlendirmeyi o ortağa yazar.

Referans

Program Ayarlarını Okuma

get/api/v1/admin/affiliates/config
Affiliates/GetAffiliateConfig admin

Satış ortaklığı programının bütün ayarlarını döndürür.

Dönen alanlar data — 11
enabledboolProgram açık mı. Kapalıyken hizmet ataması geçmez.
view_without_membershipboolProgram sayfası üye olmayana da açık mı.
show_commission_ratesboolKomisyon oranları ürün sayfasında görünsün mü.
commission_periodstringKomisyon bir kez mi çıkar, her yenilemede mi: onetime ya da lifetime.
commission_delayintKazancın ödenebilir hâle gelmesi için geçmesi gereken gün.
ratefloatVarsayılan komisyon oranı. Ürün kendi oranını taşıyabilir.
min_paymentobjectÖdeme talebi için asgari tutar.
amountfloatAsgari tutar.
currency_idintAsgari tutarın para birimi numarası.
cookie_durationintSistemin bir yönlendirmeyi kaç gün hatırlayacağı.
redirectstringBağlantıya tıklayanın gideceği adres. Boşsa ana sayfa.
payment_gatewaysobject[]Ortağın seçebileceği ödeme yöntemleri. Her eleman dil başına ad taşıyan bir nesnedir.
contentobjectProgram sayfasının dil başına metni.
Hatalar 1
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl 'https://panel.ornek.com/api/v1/admin/affiliates/config' \
  -H "Authorization: Bearer $API_KEY"
const res  = await fetch('https://panel.ornek.com/api/v1/admin/affiliates/config', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const { data } = await res.json();

const rate = data.rate;
const floor = data.min_payment.amount;
$ch = curl_init('https://panel.ornek.com/api/v1/admin/affiliates/config');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer ' . $apiKey],
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// Kaydetmeden ONCE buradan okuyun: kaydetme eksik alani varsayilanla ezer.
$cfg = Api::Affiliates()->GetAffiliateConfig()['data'];
$cfg['rate'] = 15;

Program Ayarlarını Kaydetme

put/api/v1/admin/affiliates/config
Affiliates/SaveAffiliateConfig admin tam yazım

Program ayarlarının tamamını yazar ve güncel hâlini döndürür.

Gövde 11
enabledboolProgram açık mı. Kapalıyken hizmet ataması geçmez.
view_without_membershipboolProgram sayfası üye olmayana da açık mı.
show_commission_ratesboolKomisyon oranları ürün sayfasında görünsün mü.
commission_periodstringKomisyon bir kez mi çıkar, her yenilemede mi: onetime ya da lifetime.
commission_delayintKazancın ödenebilir hâle gelmesi için geçmesi gereken gün.
ratefloatVarsayılan komisyon oranı. Ürün kendi oranını taşıyabilir.
min_paymentobjectÖdeme talebi için asgari tutar.
amountfloatAsgari tutar.
currency_idintAsgari tutarın para birimi numarası.
cookie_durationintSistemin bir yönlendirmeyi kaç gün hatırlayacağı.
redirectstringBağlantıya tıklayanın gideceği adres. Boşsa ana sayfa.
payment_gatewaysobject[]Ortağın seçebileceği ödeme yöntemleri. Her eleman dil başına ad taşıyan bir nesnedir.
contentobjectProgram sayfasının dil başına metni.
Dönen alanlar data — 11
dataobjectGüncel ayarlar. Okuma ucuyla aynı şekildedir.
Hatalar 1
insufficient_scope403Anahtar gerekli kapsamı taşımıyor.
İstek
curl -X PUT 'https://panel.ornek.com/api/v1/admin/affiliates/config' \
  -H "Authorization: Bearer $API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"enabled":true,"commission_period":"lifetime","commission_delay":30,"rate":10,"cookie_duration":30,"min_payment":{"amount":50,"currency_id":840}}'
const read = await fetch('https://panel.ornek.com/api/v1/admin/affiliates/config', {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const { data: cfg } = await read.json();

const res = await fetch('https://panel.ornek.com/api/v1/admin/affiliates/config', {
  method: 'PUT',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ ...cfg, rate: 15 }),
});
$cfg = $current;                 // GET /affiliates/config yaniti
$cfg['rate'] = 15;

$ch = curl_init('https://panel.ornek.com/api/v1/admin/affiliates/config');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($cfg),
]);

$body = json_decode(curl_exec($ch), true);
curl_close($ch);
// TAM YAZIM: gondermediginiz her alan varsayilana doner (metinler ve odeme yontemleri BOSALIR).
$cfg = Api::Affiliates()->GetAffiliateConfig()['data'];
$cfg['rate'] = 15;

Api::Affiliates()->SaveAffiliateConfig($cfg);

Tuzaklar

Kaydetme bir yama değil, tam yazımdır

Kaydetme ucu gövdedeki her alanı yazar. Göndermediğiniz alanı korumaz, varsayılanına döndürür: sayılar sıfıra, metinler boşa, ödeme yöntemleri ile program metinleri boş listeye. Yalnız oranı değiştirmek için önce okuyup dönen nesnenin üzerine yazın.

Ödeme yöntemleri bir dil haritası değil, liste

Program metni dil başına anahtar taşıyan bir nesnedir. Ödeme yöntemleri ise listedir ve her elemanı kendi içinde dil başına ad taşır. İkisini aynı şekilde yazmak yöntem listesini boşaltır ve ortaklar ödeme talebi açarken seçenek göremez.

Komisyon dönemi doğrulanmaz

Dönem alanını yalnız temizler, bilinen değerlere karşı denetlemez. Yazım hatası taşıyan bir değeri sessizce kaydeder, hata döndürmez ve dönem beklediğiniz gibi çalışmaz. Kaydettikten sonra okuma ucuyla değeri doğrulayın.

Programı kapatmak var olan kazancı silmez

Program kapalıyken sistem yeni hizmet atamasını geri çevirir, ama var olan bakiyeler ve bekleyen ödeme talepleri yerinde durur. Kapatma bir dondurma değil, yeni komisyon üretimini durdurmadır.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.