Kısa özet
Standart SMM panel API v2'nin istek yöntemini, 6 action'ı, yanıt örneklerini, hata mesajlarını ve istek sınırlarını bayiler için özetledik.
SMM panel API, başka bir panelden veya kendi yazdığınız yazılımdan siparişleri otomatik olarak verip durumlarını kontrol etmenizi sağlayan bağlantı yöntemidir. 1PANEL PLUS standart SMM panel API v2'yi kullanır; başka bir panele bağladığınız kodunuz varsa yalnızca adresi ve anahtarı değiştirerek hemen bağlanabilirsiniz. API ve web sitesi aynı hizmetleri, 1,000 başına aynı fiyatı ve aynı bakiyeyi kullanır.
SMM panel API'yi kimler kullanır?
- Bayiler: hizmetleri kendi panellerinde listeleyip müşteri siparişlerini otomatik olarak aktarır
- Ajanslar: birden çok kanalın siparişlerini belirlenen saatte tek seferde verir
- Geliştiriciler: yayın başlangıcına veya yeni video yüklemesine göre sipariş veren betikler yazar
- İşletmeciler: bakiye ve sipariş durumlarını kendi yönetim ekranlarında toplar
API anahtarı nasıl alınır?
İlk yüklemeniz yansıdıktan sonra paneldeki API anahtarı ekranından oluşturun. Anahtar yalnızca oluşturulduğu anda bir kez gösterilir; hemen kopyalayıp güvenli bir yerde saklayın. Yeni bir anahtar oluşturduğunuzda önceki anahtar hemen kullanılamaz hale gelir; anahtarın açığa çıktığını düşünüyorsanız yeni bir anahtar oluşturup değiştirmeniz yeterlidir.
API istekleri nasıl gönderilir?
Tüm istekler tek bir adrese, https://1panelplus.com/api/v2 adresine POST ile gönderilir. Form alanları (application/x-www-form-urlencoded veya multipart) ya da JSON gövdesi (Content-Type: application/json) arasından size uygun olanı kullanın ve her isteğe key ile action ekleyin. Tüm yanıtlar JSON biçimindedir.
İstek örneği (form alanları): key=YOUR_API_KEY&action=balance
İstek örneği (JSON): {"key": "YOUR_API_KEY", "action": "balance"}
| action | Birlikte gönderilen değerler | Dönen değerler |
|---|---|---|
| services | Yok | Hizmet listesi |
| add | service, link, quantity veya comments | order (sipariş numarası) |
| status | Tek bir order veya orders (virgülle 100 adede kadar) | charge, start_count, status, remains, currency |
| refill | order | refill (refill numarası) |
| refill_status | refill | status |
| balance | Yok | balance, currency |
- action
- services
- Birlikte gönderilen değerler
- Yok
- Dönen değerler
- Hizmet listesi
- action
- add
- Birlikte gönderilen değerler
- service, link, quantity veya comments
- Dönen değerler
- order (sipariş numarası)
- action
- status
- Birlikte gönderilen değerler
- Tek bir order veya orders (virgülle 100 adede kadar)
- Dönen değerler
- charge, start_count, status, remains, currency
- action
- refill
- Birlikte gönderilen değerler
- order
- Dönen değerler
- refill (refill numarası)
- action
- refill_status
- Birlikte gönderilen değerler
- refill
- Dönen değerler
- status
- action
- balance
- Birlikte gönderilen değerler
- Yok
- Dönen değerler
- balance, currency
services ile hizmet listesi nasıl alınır?
action=services gönderdiğinizde satıştaki tüm hizmetler bir dizi olarak gelir. Her hizmette service (hizmet numarası), name, type, category, rate, min, max, refill ve cancel bulunur. rate, 1,000 başına fiyattır (USD); type Package ise 1 paketin fiyatıdır. refill, refill süreli hizmetlerde true olur; cancel her zaman false'tur. category alanında platform adı ve kategori birlikte yazdığı için kendi panelinizin kategorilerini olduğu gibi oluşturabilirsiniz.
Yanıt örneği: [{"service": SERVICE_ID, "name": "Hizmet adı", "type": "Default", "category": "YouTube - Kategori adı", "rate": "1,000 başına fiyat", "min": "Minimum miktar", "max": "Maksimum miktar", "refill": true, "cancel": false}]
Fiyatlar ve hizmetler değişebileceği için bayiyseniz belirli aralıklarla services'i yeniden alıp kendi panelinizdeki fiyatları ve minimum ve maksimum miktarları güncel tutmanız iyi olur.
add ile sipariş nasıl verilir?
action=add ile birlikte service (hizmet numarası), link (herkese açık bağlantı) ve quantity (miktar) gönderdiğinizde sipariş alınır ve tutar hemen bakiyeden düşülür. Yanıttaki order sipariş numarasıdır; bu numarayı kaydedip status ve refill için kullanırsınız. Siparişler ilk yüklemesi yansımış hesaplardan verilebilir.
- Normal hizmetler: service, link ve quantity gönderin
- Custom Comments hizmetleri: quantity yerine comments gönderin. Her satıra bir yorum, satır başına en fazla 500 karakter; satır sayısı miktardır
- Package hizmetleri: miktar göndermeniz gerekmez. Tek paket olarak sipariş edilir
İstek örneği: key=YOUR_API_KEY&action=add&service=SERVICE_ID&link=https://www.youtube.com/watch?v=videoid&quantity=1000
Yanıt örneği: {"order": ORDER_ID}
status ile sipariş durumu nasıl kontrol edilir?
action=status ile order (tek bir sipariş numarası) gönderdiğinizde o siparişin durumu gelir; orders ile sipariş numaralarını virgülle birleştirip gönderirseniz tek seferde 100 adede kadar sorgulayabilirsiniz. Çok sayıda sipariş yönetiyorsanız orders ile toplu sorgulama yaparak istek sayısından büyük ölçüde tasarruf edersiniz.
Yanıt örneği (tek): {"charge": "Ödenen tutar", "start_count": "Başlangıç sayısı", "status": "In progress", "remains": "Kalan miktar", "currency": "USD"}
Yanıt örneği (çoklu): {"ORDER_ID_1": {"charge": "...", "start_count": "...", "status": "Completed", "remains": "0", "currency": "USD"}, "ORDER_ID_2": {"error": "Incorrect order ID"}}
| status değeri | Anlamı |
|---|---|
| Pending | Alındı, başlamayı bekliyor veya işleme geçiyor |
| In progress | Teslim ediliyor |
| Completed | Tamamı teslim edildi |
| Partial | Bir kısmı teslim edildi, kalan tutar bakiyeye döndü |
| Canceled | İşlenemedi, tutarın tamamı bakiyeye döndü |
- status değeri
- Pending
- Anlamı
- Alındı, başlamayı bekliyor veya işleme geçiyor
- status değeri
- In progress
- Anlamı
- Teslim ediliyor
- status değeri
- Completed
- Anlamı
- Tamamı teslim edildi
- status değeri
- Partial
- Anlamı
- Bir kısmı teslim edildi, kalan tutar bakiyeye döndü
- status değeri
- Canceled
- Anlamı
- İşlenemedi, tutarın tamamı bakiyeye döndü
charge, ödenen tutardan iade edilen tutar düşüldükten sonraki değer olduğundan kısmi tamamlanma veya iptal sonrasında gerçekte harcanan tutar hemen görünür. Sipariş durumu yaklaşık her dakika otomatik olarak güncellendiği için status'u da yaklaşık bir dakikalık aralıklarla sorgulamanız yeterlidir.
refill ve refill_status nasıl kullanılır?
action=refill ile order gönderdiğinizde refill talep edilir ve refill (refill numarası) döner. Refill süreli bir hizmetin tamamlanan veya kısmi tamamlanan siparişinde, siparişin bittiği günden itibaren refill süresi içinde, devam eden refill yokken ve son talepten bu yana 24 saat geçmişse kabul edilir. action=refill_status ile refill gönderdiğinizde durum Pending, In progress, Completed veya Rejected olarak bildirilir.
Yanıt örnekleri: {"refill": REFILL_ID} ve {"status": "Completed"}
Refill kuralları web sitesiyle aynıdır. Ayrıntılı koşulları Refill süresi rehberi yazısında topladık.
balance ile bakiye nasıl kontrol edilir?
action=balance gönderdiğinizde güncel bakiye ve para birimi (USD) gelir. Bayiyseniz siparişleri aktarmadan önce bakiyeyi kontrol edip bakiye belirli bir tutarın altına düştüğünde bildirim gönderecek şekilde ayarlarsanız siparişler kesintisiz devam eder.
Yanıt örneği: {"balance": "Güncel bakiye", "currency": "USD"}
API hata mesajları ne anlama gelir?
Hatalar, error alanında İngilizce bir cümle bulunan JSON olarak gelir. Her cümlenin nedeni belli olduğu için yazılımınızda olduğu gibi karşılaştırarak işleyebilirsiniz.
| error değeri | Anlamı |
|---|---|
| Invalid API key | Anahtar yok veya hatalı |
| Too many requests | Dakikalık istek sayısı aşıldı. Biraz sonra yeniden gönderin |
| Add funds first | İlk yükleme yansıdıktan sonra sipariş verebilirsiniz |
| Incorrect service ID | Satıştaki bir hizmet numarası değil |
| Incorrect link | Bağlantı biçimi uygun değil |
| Quantity out of range | Miktar hizmetin minimum ve maksimum aralığının dışında |
| Incorrect comments | Yorum satırları boş veya bir satır 500 karakteri aşıyor |
| Not enough funds on balance | Bakiye sipariş tutarından az |
| Incorrect order ID | Bu hesaba ait bir sipariş numarası değil |
| Incorrect refill ID | Bu hesaba ait bir refill numarası değil |
| Incorrect action | action değeri 6 seçenekten biri değil |
- error değeri
- Invalid API key
- Anlamı
- Anahtar yok veya hatalı
- error değeri
- Too many requests
- Anlamı
- Dakikalık istek sayısı aşıldı. Biraz sonra yeniden gönderin
- error değeri
- Add funds first
- Anlamı
- İlk yükleme yansıdıktan sonra sipariş verebilirsiniz
- error değeri
- Incorrect service ID
- Anlamı
- Satıştaki bir hizmet numarası değil
- error değeri
- Incorrect link
- Anlamı
- Bağlantı biçimi uygun değil
- error değeri
- Quantity out of range
- Anlamı
- Miktar hizmetin minimum ve maksimum aralığının dışında
- error değeri
- Incorrect comments
- Anlamı
- Yorum satırları boş veya bir satır 500 karakteri aşıyor
- error değeri
- Not enough funds on balance
- Anlamı
- Bakiye sipariş tutarından az
- error değeri
- Incorrect order ID
- Anlamı
- Bu hesaba ait bir sipariş numarası değil
- error değeri
- Incorrect refill ID
- Anlamı
- Bu hesaba ait bir refill numarası değil
- error değeri
- Incorrect action
- Anlamı
- action değeri 6 seçenekten biri değil
Refill taleplerinde Refill is not available for this service (refill süresi olmayan hizmet), Order is not finished yet (henüz bitmemiş sipariş), Refill period has ended (refill süresi dolmuş sipariş), Refill already requested, try again later (devam eden refill'i olan veya 24 saati dolmamış sipariş) mesajları gelebilir.
Kaç API isteği gönderilebilir?
Bir anahtarla dakikada 300 isteğe kadar gönderebilirsiniz. Durum sorgularını orders ile 100'erli gruplar halinde yapar, hizmet listesini yalnızca gerektiğinde yeniden alırsanız rahatça yeterli olur. Örneğin devam eden 1,000 siparişiniz varsa dakikada bir kez 10 istekle tamamını sorgulayabilirsiniz.
Bayiler satış fiyatını nasıl belirler?
API'den gelen rate, 1PANEL PLUS'ın 1,000 başına fiyatıdır; kendi panelinizdeki satış fiyatını bayi olarak siz belirlersiniz. Örneğin rate değeri $2.00 olan bir hizmete %25 ekleyerek satarsanız 1,000 başına fiyat $2.50 olur; müşteri 4,000 adet sipariş ettiğinde satış tutarı $10.00, 1PANEL PLUS'tan düşülen tutar ise $8.00 olur. Bu fiyatlar hesaplamayı göstermek için verilmiş örneklerdir.
API bağlantısı hangi sırayla yapılmalı?
- Bakiye yükleyin ve panelden API anahtarı oluşturun
- balance ile anahtarı ve bağlantıyı kontrol edin
- services ile hizmet listesini alıp kendi panelinize ekleyin
- En küçük miktarla bir kez add gönderip sipariş numarasını alın
- status ile durumun değiştiğini kontrol ettikten sonra otomatik siparişi açın
curl, PHP, Python ve Node.js örnekleri ile tüm alanların açıklaması API belgeleri sayfasındadır; diğer sorular için Sıkça Sorulan Sorular sayfasının API bölümüne bakabilirsiniz.