SMMFor

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).

AdresPOST https://paneliniz.com/api/v2 (dil öneki yok)
Gövdeapplication/x-www-form-urlencoded, multipart/form-data veya application/json
AnahtarGövdede key alanı ya da X-Api-Key başlığı
Anahtar biçimitb_ + 48 onaltılık karakter
Para birimiTutarlar 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

ParametreAçıklama
serviceHizmet ID
linkHedef bağlantı
quantityAdet (paket türlerinde gerekmez)
runs, intervalDamla besleme: tekrar sayısı (2–100) ve aralık (1–1440 dakika). Toplam adet = quantity × runs. İkisi birlikte gönderilmelidir.
Türe özelAş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ürAdetEk parametreler
Defaultquantity— (damla besleme destekli)
Packageher zaman 1—
SEOquantitykeywords
Custom Commentscomments satır sayısıcomments
Custom Comments Package1comments
Mentionsquantityusernames
Mentions with Hashtagsquantityusernames, hashtags
Mentions Custom Listusernames satır sayısıusernames
Mentions Hashtagquantityhashtag
Mentions User Followersquantityusername
Mentions Media Likersquantitymedia
Comment Likesquantityusername
Comment Repliescomments satır sayısıusername, comments
Pollquantityanswer_number
Invites from Groupsquantitygroups
Web Trafficquantityisteğe bağlı country, device, type_of_traffic, google_keyword, referring_url
Subscriptionsposts × maxusername, 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

İstekYanı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.