Bayi API'si (API v2)
Müşterilerinizin kendi panellerini bağladığı standart SMM API v2; tüm işlemler, parametreler, yanıtlar ve hata mesajları.
Genel bakış
Her panel, piyasadaki SMM panellerinin kullandığı standart API v2 ile gelir. Müşterileriniz kendi panellerine sizi "sağlayıcı" olarak ekleyip hizmetlerinizi yeniden satabilir. Müşteriler anahtarlarını Müşteri paneli → API & Bayi sayfasından oluşturur (müşteri başına en fazla 5 etkin anahtar).
| Adres | POST https://paneliniz.com/api/v2 (dil öneki yok) |
| Gövde | application/x-www-form-urlencoded, multipart/form-data veya application/json |
| Anahtar | Gövdede key alanı ya da X-Api-Key başlığı |
| Anahtar biçimi | tb_ + 48 onaltılık karakter |
| Para birimi | Tutarlar her zaman USD |
GET istekleri 405 döner.
Hız sınırları
60 saniyelik pencerede IP başına 120, anahtar başına 180 istek. Aşılırsa HTTP 429, {"error":"Too many requests"} ve Retry-After başlığı döner. Diğer bütün hatalar HTTP 200 ve {"error":"..."} biçimindedir.
services
curl -X POST https://paneliniz.com/api/v2 -d key=tb_xxx -d action=services
[
{"service":1,"name":"Instagram Takipçi","type":"Default","category":"Instagram / Takipçi",
"rate":"0.5","min":"10","max":"10000","refill":true,"cancel":false,"dripfeed":false}
]
rate: müşterinin kendi fiyatı (indirimleri dahil), 1000 adet başına. Paket türlerinde paket fiyatıdır.- Sağlayıcı markaları ad ve kategorilerden temizlenir. Liste 60 saniye önbelleklenir.
balance
{"balance":"12.5","currency":"USD"}
add
| Parametre | Açıklama |
|---|---|
service | Hizmet ID |
link | Hedef bağlantı |
quantity | Adet (paket türlerinde gerekmez) |
runs, interval | Damla besleme: tekrar sayısı (2–100) ve aralık (1–1440 dakika). Toplam adet = quantity × runs. İkisi birlikte gönderilmelidir. |
| Türe özel | Aşağıdaki tabloya bakın |
Başarılı yanıt: {"order":12345}
Hata mesajları: Incorrect service ID, Incorrect quantity, Incorrect runs (2-100), Incorrect interval (1-1440 minutes), Service is temporarily unavailable, Quantity must be between {min} and {max}, Drip-feed is not available for this service, Incorrect link, Not enough funds on balance, Missing {parametre}.
Hizmet türleri
| Tür | Adet | Ek parametreler |
|---|---|---|
| Default | quantity | — (damla besleme destekli) |
| Package | her zaman 1 | — |
| SEO | quantity | keywords |
| Custom Comments | comments satır sayısı | comments |
| Custom Comments Package | 1 | comments |
| Mentions | quantity | usernames |
| Mentions with Hashtags | quantity | usernames, hashtags |
| Mentions Custom List | usernames satır sayısı | usernames |
| Mentions Hashtag | quantity | hashtag |
| Mentions User Followers | quantity | username |
| Mentions Media Likers | quantity | media |
| Comment Likes | quantity | username |
| Comment Replies | comments satır sayısı | username, comments |
| Poll | quantity | answer_number |
| Invites from Groups | quantity | groups |
| Web Traffic | quantity | isteğe bağlı country, device, type_of_traffic, google_keyword, referring_url |
| Subscriptions | posts × max | username, min, max, posts; isteğe bağlı old_posts, delay, expiry |
Liste parametreleri (yorumlar, kullanıcı adları…) satır satır (\n ile) gönderilir.
status
Tek sipariş (order=ID):
{"charge":"0.27819","start_count":"3572","status":"Partial","remains":"157","currency":"USD"}
Toplu (orders=1,2,3, en fazla 100):
{"1":{"charge":"0.5","start_count":"0","status":"Completed","remains":"0","currency":"USD"},
"2":{"error":"Incorrect order ID"}}
Durum değerleri: Pending, In progress, Completed, Partial, Canceled. charge iadeler düşülmüş tutardır. Durum sorgusu, sağlayıcıyla arka planda eşitlemeyi kullanıcı başına dakikada en fazla bir kez tetikler.
refill ve refill_status
| İstek | Yanıt |
|---|---|
action=refill&order=ID | {"refill":"77"} |
action=refill&orders=1,2 | [{"order":1,"refill":77},{"order":2,"refill":{"error":"..."}}] |
action=refill_status&refill=77 | {"status":"Completed"} |
action=refill_status&refills=77,78 | [{"refill":77,"status":"Pending"},{"refill":78,"status":{"error":"Refill not found"}}] |
Telafi durumları: Pending, In progress, Completed, Rejected, Error. Olası hatalar: Refill is not available for this service, Refill is available only for completed orders, A refill is already in progress, Refill can be requested once every 24 hours, Refill period ({n} days) has ended.
cancel
action=cancel&orders=1,2 (en fazla 100):
[{"order":1,"cancel":1},{"order":2,"cancel":{"error":"Cancel is not available for this service"}}]
Örnek istemciler
<?php
function api(array $data) {
$ch = curl_init('https://paneliniz.com/api/v2');
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query($data + ['key' => 'tb_xxx']), CURLOPT_RETURNTRANSFER => true]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
return $res;
}
$order = api(['action' => 'add', 'service' => 1, 'link' => 'https://instagram.com/hesap', 'quantity' => 1000]);
$status = api(['action' => 'status', 'order' => $order['order']]);
const api = (body) =>
fetch("https://paneliniz.com/api/v2", {
method: "POST",
headers: { "Content-Type": "application/json", "X-Api-Key": process.env.PANEL_KEY },
body: JSON.stringify(body),
}).then((r) => r.json());
const { order } = await api({ action: "add", service: 1, link: "https://t.me/kanal", quantity: 500 });
Sipariş durumunu sürekli sormak yerine webhook kullanabilirsiniz.