Nasıl Çalışır Özellikler Servisler Blog SSS
API v2 · Ücretsiz

SMM Panel API — Bayi Dokümantasyonu

Kendi SMM panelini ProSosyal'a bağla. Piyasada yaygın kullanılan API v2 sözleşmesiyle tam uyumludur — panel scriptine adres ve anahtarını girmen yeterli, ek geliştirme gerekmez.

Başlarken

Tüm işlemler tek bir adrese POST isteğiyle yapılır. Kimlik doğrulama key parametresiyle, işlem seçimi action parametresiyle yapılır.

API Adresi

https://mail.prososyal.com/api/v2

Biçim

POST · application/x-www-form-urlencoded
Yanıt: JSON
API anahtarın: Panel → HesabımBayi API bölümünden oluştur. Anahtarını kimseyle paylaşma — bakiyenden sipariş verilebilir.

Servis Listesi

action = services

İstek

key=ANAHTAR
action=services

Yanıt

[
  {
    "service": 101,
    "name": "Instagram Takipçi | Türk",
    "type": "Default",
    "category": "Instagram Takipçi",
    "rate": "12.5000",
    "min": "100",
    "max": "10000",
    "refill": true,
    "cancel": true,
    "dripfeed": false
  }
]

rate, 1000 adet için TL fiyatıdır (paket tipi servislerde 1 paketin fiyatı). Kademe indirimin sipariş anında uygulanır.

Bakiye

action = balance

İstek

key=ANAHTAR
action=balance

Yanıt

{ "balance": "1250.40", "currency": "TRY" }

Sipariş Oluşturma

action = add

ParametreZorunluAçıklama
serviceEvetServis ID (servis listesinden)
linkEvetSipariş bağlantısı
quantityEvetAdet (servisin min–max aralığında)
runsHayırDrip-feed tur sayısı (en az 2)
intervalHayırTurlar arası dakika (en az 1)
commentsTipe göreÖzel yorum servislerinde: satır başına bir yorum
usernamesTipe göreBahsetme servislerinde: satır başına bir kullanıcı adı
username, min, max, posts, old_posts, delay, expiryTipe göreAbonelik (Subscriptions) servislerinde

Standart sipariş

key=ANAHTAR
action=add
service=101
link=https://instagram.com/kullanici
quantity=1000

Drip-feed (kademeli)

key=ANAHTAR
action=add
service=101
link=https://instagram.com/kullanici
quantity=1000
runs=5
interval=30

Drip-feed'te quantity her tur içindir; ücret toplam (quantity × runs) üzerinden hesaplanır.

Yanıt

{ "order": 23501 }

Sipariş Durumu

action = status

Tek sipariş

key=ANAHTAR
action=status
order=23501
{
  "charge": "12.50",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "TRY"
}

Toplu sorgulama (önerilen)

key=ANAHTAR
action=status
orders=23501,23502,23503
{
  "23501": { "charge": "12.50", ... },
  "23502": { "error": "Incorrect order ID" }
}

Durum değerleri

Pending · Beklemede Processing · İşleniyor In progress · Gönderiliyor Completed · Tamamlandı Partial · Kısmen tamamlandı Canceled · İptal / iade

Tek istekte en fazla 100 sipariş sorgulanabilir.

Telafi (Refill)

action = refill · refill_status

Telafi talebi

key=ANAHTAR
action=refill
order=23501
{ "refill": "42" }

Toplu için orders=1,2,3 kullan.

Telafi durumu

key=ANAHTAR
action=refill_status
refill=42
{ "status": "Completed" }

Toplu için refills=1,2,3 kullan.

Telafi yalnızca refill: true olan servislerde ve garanti süresi içinde talep edilebilir. Toplu istekte tek seferde en fazla 20 sipariş işlenir.

Sipariş İptali

action = cancel

İstek

key=ANAHTAR
action=cancel
orders=23501,23502

Yanıt

[
  { "order": 23501, "cancel": 1 },
  { "order": 23502, "cancel": { "error": "..." } }
]

Yalnızca cancel: true olan servislerde çalışır. Teslim edilmiş siparişler iptal edilemez; kısmen teslim edilenlerde yalnızca teslim edilmeyen kısmın tutarı iade edilir. Tek istekte en fazla 20 sipariş işlenir.

Hatalar

Hatalar HTTP 200 ile, gövdede error alanı içinde döner.

{ "error": "Invalid API key" }
MesajAnlamı
Invalid API keyAnahtar geçersiz veya hesap pasif
Incorrect requestBilinmeyen veya eksik action
Incorrect service IDServis yok, pasif veya sipariş alınamıyor
Incorrect order IDSipariş yok veya sana ait değil
Refill not foundTelafi kaydı yok veya sana ait değil
Dripfeed is not available…Servis drip-feed desteklemiyor
Cancel is not available…Servis iptale kapalı

Yetersiz bakiye, adet aralığı gibi sipariş doğrulama hataları da aynı error alanında, açıklayıcı metinle döner.

PHP Örneği

Hazır sınıfı projene ekleyip $api_key alanını doldurman yeterli.

<?php
class ProSosyalApi
{
    public $api_url = 'https://mail.prososyal.com/api/v2';
    public $api_key = 'API_ANAHTARINIZ';

    /** Sipariş oluştur */
    public function order($data) {
        return $this->connect(array_merge(['key' => $this->api_key, 'action' => 'add'], $data));
    }

    /** Sipariş durumu */
    public function status($orderId) {
        return $this->connect(['key' => $this->api_key, 'action' => 'status', 'order' => $orderId]);
    }

    /** Toplu sipariş durumu */
    public function multiStatus($orderIds) {
        return $this->connect(['key' => $this->api_key, 'action' => 'status', 'orders' => implode(',', (array) $orderIds)]);
    }

    /** Servis listesi */
    public function services() {
        return $this->connect(['key' => $this->api_key, 'action' => 'services']);
    }

    /** Bakiye */
    public function balance() {
        return $this->connect(['key' => $this->api_key, 'action' => 'balance']);
    }

    /** Telafi talebi */
    public function refill($orderId) {
        return $this->connect(['key' => $this->api_key, 'action' => 'refill', 'order' => $orderId]);
    }

    /** Telafi durumu */
    public function refillStatus($refillId) {
        return $this->connect(['key' => $this->api_key, 'action' => 'refill_status', 'refill' => $refillId]);
    }

    /** Sipariş iptali */
    public function cancel(array $orderIds) {
        return $this->connect(['key' => $this->api_key, 'action' => 'cancel', 'orders' => implode(',', $orderIds)]);
    }

    private function connect($post)
    {
        $ch = curl_init($this->api_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        $result = curl_exec($ch);
        curl_close($ch);

        return json_decode($result, true);
    }
}

// Kullanım
$api = new ProSosyalApi();

$servisler = $api->services();
$bakiye    = $api->balance();

$siparis = $api->order([
    'service'  => 101,
    'link'     => 'https://instagram.com/kullanici',
    'quantity' => 1000,
]);

if (isset($siparis['error'])) {
    // hata yönetimi
} else {
    $durum = $api->status($siparis['order']);
}

Sık Sorulan Sorular

Hayır. API kullanımı ücretsizdir; yalnızca verdiğin siparişlerin tutarı bakiyenden düşer.

Üye olduktan sonra Panel → Hesabım sayfasındaki "Bayi API" bölümünden tek tıkla oluşturabilirsin.

Evet. API üzerinden verilen siparişlere de kademe indirimin uygulanır; ayrı bir fiyat listesi yoktur.

Piyasada yaygın kullanılan API v2 sözleşmesiyle uyumludur. Panel scriptine API adresini ve anahtarını girmen yeterlidir; ek geliştirme gerekmez.

Anahtar başına dakikada 120, IP başına dakikada 300 istek işlenir. Sipariş durumlarını tek tek değil, "orders" parametresiyle toplu sorgulaman önerilir.

İptale açık servislerde evet. Teslim edilmiş siparişler iptal edilemez; kısmen teslim edilenlerde yalnızca teslim edilmeyen kısmın tutarı bakiyene iade edilir.

Bayi olarak başla

Üye ol, API anahtarını oluştur ve kendi panelinden sipariş göndermeye hemen başla. Kurulum ücreti yok, aylık ücret yok.