Teknik
SMM panel API v2 standardı
Son güncelleme: · Hazırlayan: PanelCompare editör ekibi · 5 dk okuma
SMM panel API v2 nedir?
Geleneksel olarak /api/v2 adresinde duran, application/x-www-form-urlencoded gövde alan ve JSON döndüren tek bir POST uç noktasıdır. Kimlik doğrulama bir başlıkla değil, gövdedeki key parametresiyle yapılır. Sürüm pazarlığı, istek imzalama ya da nonce yoktur (spesifikasyon justanotherpanel.com/api ile karşılaştırılarak doğrulandı, 2026-09-06).
Spesifikasyon piyasaya hâkim panel scriptlerinden doğdu ve o kadar yaygın kopyalandı ki bugün sektörün fiilî standardıdır. Bu piyasaya dair neredeyse her şeyin arkasındaki olgu budur: bir script bir sağlayıcının API’sine yönlendirilerek bir panel bir öğleden sonrada kurulabilir; binlerce panel olmasının ve aralarındaki farkın bu kadar ince olmasının nedeni budur.
Anahtar, uzun ömürlü bir taşıyıcı sırdır
API anahtarı istek gövdesinde imzasız, nonce’suz ve zaman damgasız gittiği için spesifikasyonda tekrar saldırılarına karşı koruma da, bir son kullanma süresi de yoktur. Anahtarı elinde tutan herkes bakiyenizi harcayabilir ve sipariş verdiğiniz bütün linkleri okuyabilir. Herhangi bir üçüncü taraf aracı bağladıktan sonra anahtarı yenileyin.
API hangi eylemleri sunar?
| Eylem | Parametreler | Döndürdüğü |
|---|---|---|
| services | key, action | Katalog servislerinden oluşan dizi: service, name, type, category, rate, min, max, refill, cancel |
| add | key, action, service, link ve sipariş tipine özgü parametreler | Yeni siparişin id’si |
| status | key, action, order | charge, start_count, status, remains, currency |
| status (çoklu) | key, action, orders (virgülle ayrılmış, en fazla 100) | Sipariş id’lerine göre anahtarlanmış bir nesne |
| refill | key, action, order (ya da virgülle ayrılmış orders) | Bir telafi id’si ya da sipariş/telafi çiftlerinden oluşan bir dizi |
| refill_status | key, action, refill (ya da virgülle ayrılmış refills) | Telafinin durumu |
| cancel | key, action, orders (virgülle ayrılmış) | Sipariş başına iptal sonucu |
| balance | key, action | balance ve currency |
Kaynak: SMM Panel API v2 spesifikasyonu, justanotherpanel.com/api ile karşılaştırılarak doğrulandı, 2026-09-06.
Standart spesifikasyonda ayrı bir multi_status eylemi olmadığına dikkat edin. Çoklu sipariş durumu, aynı status eyleminin çoğul orders parametresiyle çağrılmasıdır ve istek başına 100 id ile sınırlıdır; ilk entegrasyonların çoğu bu ayrıntıda takılır.
Bir istek ve yanıt gerçekte neye benzer?
POST /api/v2
Content-Type: application/x-www-form-urlencoded
key=YOUR_KEY&action=services
// 200 OK
[
{
"service": 1,
"name": "Followers",
"type": "Default",
"category": "First Category",
"rate": "0.90",
"min": "50",
"max": "10000",
"refill": true,
"cancel": true
}
]POST /api/v2
key=YOUR_KEY&action=add&service=1&link=https://example.com/p&quantity=1000
// 200 OK
{ "order": 23501 }
POST /api/v2
key=YOUR_KEY&action=status&order=23501
// 200 OK
{
"charge": "0.27819",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD"
}rate alanı, hesabın para birimindeki 1.000 adet fiyatıdır ve metin (string) olarak döner. Gerçek kataloglar 3.000-8.000 servistir; bu yüzden services çağrısı sayfalanmış değil, tek parça büyük bir yanıttır.
İlk entegrasyonları bozan tuzaklar nelerdir?
- Hatalar genellikle HTTP 200 döner. Panellerin çoğunda başarısız bir istek, gövdesinde bir hata nesnesi bulunan 200 yanıtı olarak gelir; bazıları hatalı bir anahtara aynı JSON yapısıyla 401 döndürür. Yani durum koduna güvenilemez ve her istemci hatayı yakalamak için gövdeyi ayrıştırmak zorundadır.
- Sayılar metin olarak gelir. rate, min, max, charge, start_count ve remains alanlarının hepsi tırnak içindeki metinlerdir; bunları dönüştürmeden sayısal olarak karşılaştırmak sessizce yanlış sonuç verir.
- Çoklu durum sorgusu ayrı bir eylem değil, çoğul parametredir ve 100 id ile sınırlıdır.
- Drip-feed miktarı tekrar başınadır. runs=10 içeren bir add çağrısı, miktar × 10 kadar teslim eder ve ücretini alır.
- Servis id’leri panele özgüdür ve değişebilir. Bir panel bir id’yi farklı bir ana sağlayıcıya yönlendirebilir; bu yüzden sakladığınız id’ler sessizce başka bir şey ifade etmeye başlayabilir.
- refill ve cancel yalnızca katalogdaki servis bunları sunduğunu belirtiyorsa çalışır; cancel da genellikle yalnızca teslimat başlamadan önce.
Her sipariş tipi hangi parametreleri ister?
Her add çağrısı bir service ve bir link ister. Başka neye ihtiyaç duyduğunu katalogdaki servisin type alanı belirler ve bu gereklilikler tahmin edilemez. Tamamı bu tablodadır.
| Sipariş tipi | Ek parametreler |
|---|---|
| Default / Drip-feed | quantity, runs (isteğe bağlı), interval (isteğe bağlı, dakika) |
| Custom Comments | comments (her satırda bir yorum olan liste) |
| Custom Comments Package | comments |
| Mentions (kullanıcı listesi / hashtag / özel liste) | quantity, usernames, hashtags |
| Mentions Hashtag | quantity, hashtag (etiketlenecek hesaplar hashtag’den toplanır) |
| Mentions User Followers | quantity, username (etiketlenecek hesaplar o kullanıcının takipçilerinden toplanır) |
| Mentions Media Likers | quantity, media (URL) |
| Comment Likes | quantity, username |
| Comment Replies | username, comments |
| Poll | quantity, answer_number |
| Subscriptions | username, min, max, posts (isteğe bağlı), delay, expiry (isteğe bağlı), old_posts (isteğe bağlı) |
| Invites from Groups | quantity, groups (her satırda bir grup) |
| Package | yalnızca link; miktar sabittir |
| Web Traffic | quantity, country, device, type_of_traffic, google_keyword ya da referring_url |
Kaynak: SMM Panel API v2 spesifikasyonu, justanotherpanel.com/api ile karşılaştırılarak doğrulandı, 2026-09-06.
Bu API ile nasıl geliştirme yapmalısınız?
- 1.Her yanıtı tipsiz kabul edin. Önce gövdeyi ayrıştırın, bir error anahtarı olup olmadığına bakın, sonra sayısal metinleri açıkça dönüştürün.
- 2.Panelin servis id’sini kendi standart servisinizle birlikte saklayın ve kataloğu düzenli aralıklarla yeniden eşitleyin; böylece başka yere yönlendirilmiş bir id varsayılmaz, tespit edilir.
- 3.Durum sorgulamayı sipariş başına bir istekle değil, çoğul orders parametresiyle 100’lük gruplar hâlinde yapın.
- 4.Kısmen tamamlandı durumunu bir hata olarak değil, birinci sınıf bir sonuç olarak ele alın. Bir kalan (remains) rakamı ve otomatik bir bakiye iadesiyle gelir.
- 5.İstek gövdesini asla loglamayın. API anahtarı içindedir.
- 6.Anahtarları düzenli aralıklarla ve her üçüncü taraf entegrasyon değişikliğinden sonra yenileyin.
API size bir panel hakkında ne söyler?
Reklam metninden fazlasını. /api/v2 adresini anahtarsız açtığınızda, API v2 uyumlu bir uç nokta varsa geçerli bir hata yanıtı döner; 404 dönmesi ise panelin API’si olduğu iddiasını çürütür. Bu, herkesin yapabileceği hızlı ve nesnel bir kontroldür.
Karşılaştırılabilir fiyat toplamanın ölçeklenebilir tek yolu da budur. Panellerin çoğu kataloğunu kaydın arkasına kapatır ve herkese açık olarak yalnızca reklam metni yayımlar; bu yüzden açık sayfaları taramak piyasanın ancak küçük bir kısmını kapsar. Bir hesap açıp services eylemini çağırmak ise kataloğun tamamını tek istekte yapılandırılmış JSON olarak döndürür; PanelCompare fiyat endeksini bu yolla kurar.
Hızlı cevaplar
SMM panel API v2 nedir?
Geleneksel olarak /api/v2 adresinde duran, form kodlamalı parametreler alıp JSON döndüren tek bir POST uç noktasıdır; services, add, status, refill, refill_status, cancel ve balance eylemlerini içerir. Neredeyse her panel bunu uygular; bu yüzden tek bir istemci yüzlerce panelde çalışır.
Bir SMM panel API’sinde kimlik doğrulama nasıl yapılır?
İstek gövdesindeki key parametresiyle. Başlıkla kimlik doğrulama, istek imzalama ya da nonce yoktur; bu yüzden anahtar uzun ömürlü bir taşıyıcı sırdır ve her üçüncü taraf entegrasyon değişikliğinden sonra yenilenmelidir.
API hatalarda neden 200 döndürüyor?
Çünkü spesifikasyon HTTP durum kodlarını anlamlı biçimde kullanmaz. Hatalar genellikle gövdesinde bir hata nesnesi bulunan HTTP 200 olarak gelir, bazı paneller de hatalı bir anahtar için aynı gövdeyle 401 kullanır; bu yüzden her istemci hatayı yakalamak için yanıt gövdesini ayrıştırmak zorundadır.
Birçok siparişin durumunu aynı anda nasıl sorgularım?
Aynı status eylemini, virgülle ayrılmış en fazla 100 sipariş id’si taşıyan çoğul orders parametresiyle kullanın. Standart spesifikasyonda ayrı bir multi_status eylemi yoktur.
Buradaki her rakamın kaynağı ve tarihi belli
Bu piyasada fiyatlar her hafta değişir; bu yüzden ölçüm tarihi olmayan bir rakam süsten ibarettir. Bu rehber bir rakam alıntıladığında kaynağını ve ne zaman kontrol edildiğini belirtir. Bunlardan biri yanlışsa, hakkımızda sayfasındaki düzeltme sürecinde hedeflenen yanıt süresi iki iş günüdür ve düzeltmeler sessizce yamanmaz, tarihli bir notla yayımlanır.