Satış Ortaklığı
Bir ortağın programını, kazancını ve ödeme taleplerini yöneten beş uç.
Genel Bakış
Satış ortaklığı, müşterinin kendi bağlantısıyla getirdiği alışverişlerden pay almasıdır. Bu beş uç bir ortağın kendi programını yönetir.
Kazanç iki aşamada ilerler: komisyon önce olgunlaşır, sonra kullanılabilir bakiyeye geçer. Ödemeyi yalnız kullanılabilir tutardan istersiniz.
Ödemeleri operatör elle sonuçlandırır. Talebi siz açarsınız, operatör onaylar ve aynı anda yalnız bir talep açık kalabilir.
Referans
Program Durumunu Okuma
Programı, kazancı ve ödeme durumunu tek çağrıda döndürür.
curl 'https://panel.ornek.com/api/v1/client/affiliate' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch('https://panel.ornek.com/api/v1/client/affiliate', {
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data } = await res.json();
if (! data.enrolled) showJoinButton(data.program);$ch = curl_init('https://panel.ornek.com/api/v1/client/affiliate');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Bu okuma YAZAR: olgunlasan komisyonlari kullanilabilir bakiyeye tasir, salt okuma degildir.
$aff = Kernel::internal('client:Affiliate/GetAffiliate', ['owner_id' => $uid])['data'];
$canAsk = $aff['payout']['ready'] ?? false;Programa Katılma
Hesabı satış ortaklığı programına kaydeder.
curl -X POST 'https://panel.ornek.com/api/v1/client/affiliate/enroll' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch('https://panel.ornek.com/api/v1/client/affiliate/enroll', {
method: 'POST',
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data } = await res.json();
shareLink(data.referral.link);$ch = curl_init('https://panel.ornek.com/api/v1/client/affiliate/enroll');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Ortaklik HESABIN para biriminde acilir ve sonradan degistirilemez; once profili dogrulayin.
$me = Kernel::internal('client:Account/GetMe', ['owner_id' => $uid])['data'];
if ($me['currency'] === $wanted)
Kernel::internal('client:Affiliate/EnrollAffiliate', ['owner_id' => $uid]);Komisyonları Listeleme
Kazanılan komisyonları en yeniden başlayarak döndürür.
curl 'https://panel.ornek.com/api/v1/client/affiliate/commissions' \
-H "Authorization: Bearer $CLIENT_KEY"const res = await fetch('https://panel.ornek.com/api/v1/client/affiliate/commissions', {
headers: { Authorization: `Bearer ${clientKey}` },
});
const { data } = await res.json();
const soon = data.filter((c) => c.state === 'clearing');$ch = curl_init('https://panel.ornek.com/api/v1/client/affiliate/commissions');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $clientKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Olgunlasan komisyon HENUZ odenemez: kullanilabilir bakiyeye ancak olgunlasma gunu gecer.
$rows = Kernel::internal('client:Affiliate/GetAffiliateCommissions', ['owner_id' => $uid])['data'];
$soon = array_filter($rows, fn ($c) => $c['state'] === 'clearing');Ödeme Talebi Açma
Kullanılabilir kazancın ödenmesini ister.
curl -X POST 'https://panel.ornek.com/api/v1/client/affiliate/withdraw' \
-H "Authorization: Bearer $CLIENT_KEY" \
-H 'Content-Type: application/json' \
-d '{"amount":40,"gateway":"PayPal","gateway_info":"[email protected]"}'const res = await fetch('https://panel.ornek.com/api/v1/client/affiliate/withdraw', {
method: 'POST',
headers: {
Authorization: `Bearer ${clientKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ amount, gateway, save_default: true }),
});
const { data } = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/client/affiliate/withdraw');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $clientKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['amount' => 40, 'gateway' => 'PayPal']),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Tutari PANODAN alin: kullanilabilir bakiye okuma sirasinda olgunlasanlarla degisebilir.
$aff = Kernel::internal('client:Affiliate/GetAffiliate', ['owner_id' => $uid])['data'];
$max = $aff['balance']['available']['amount'];
Kernel::internal('client:Affiliate/WithdrawAffiliate',
['owner_id' => $uid, 'amount' => $max, 'gateway' => $gw]);Ödeme Hedefini Kaydetme
Bir ödeme yolunun hedef bilgisini kaydeder ya da siler.
curl -X PUT 'https://panel.ornek.com/api/v1/client/affiliate/payment-method' \
-H "Authorization: Bearer $CLIENT_KEY" \
-H 'Content-Type: application/json' \
-d '{"gateway":"PayPal","info":"[email protected]"}'const res = await fetch('https://panel.ornek.com/api/v1/client/affiliate/payment-method', {
method: 'PUT',
headers: {
Authorization: `Bearer ${clientKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ gateway, info }),
});
const { data } = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/client/affiliate/payment-method');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $clientKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['gateway' => $gw, 'info' => $info]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Hedef YOL BASINA saklanir: bir yolu silmek digerlerini etkilemez, harita tek tek yonetilir.
Kernel::internal('client:Affiliate/SaveAffiliatePayoutMethod',
['owner_id' => $uid, 'gateway' => $gw, 'info' => '']);Tuzaklar
Program durumunu okumak, olgunlaşma günü gelmiş komisyonları kullanılabilir bakiyeye taşır. Yani bu uç salt okuma değildir ve iki ardışık çağrı farklı bakiye gösterebilir. Ödeme talebinden hemen önce bir kez çağırmak, isteyebileceğiniz en yüksek tutarı verir.
Komisyonu kazandığınız anda alamazsınız: operatörün belirlediği olgunlaşma süresi dolana kadar bekler. Panodaki olgunlaşan tutar toplam kazancın parçasıdır ama ödeme talebinde kullanılamaz. İki rakamı toplayıp ödeme istemek reddedilir.
Bekleyen bir talep varken ikincisini açamazsınız. Operatör talebi elle sonuçlandırana kadar yeni isteği geri çevirir. Panodaki bekleyen talep alanını okuyup arayüzde ödeme isteme yolunu kapatın, yoksa müşteri anlamadığı bir hatayla karşılaşır.
Programa katılırken ortaklık kaydınız hesabın o anki para birimini alır ve komisyonlar hep o birimde birikir. Profildeki para birimini sonradan değiştirmek kazancın birimini taşımaz. Katılmadan önce doğru birimde olduğunuzdan emin olun.
Her ödeme yolunun kendi kayıtlı hedefi vardır: bir yolun bilgisini silmek diğerlerini etkilemez. Talep açarken hedef göndermezseniz sistem o yolun kaydına düşer; kayıt da yoksa isteği geri çevirir.
İ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.