API

API isteklerini aşağıdaki uç noktaya POST edin. Anahtarınızı Hesap sayfasından alabilirsiniz.

HTTP yöntemiPOST
API URLhttps://demo.panels.followerhq.com/api/v2
API anahtarıHesap sayfasından oluşturulur
Yanıt biçimiJSON

Servis listesi

Parametreler

ParametreAçıklama
keyYour API key
actionservices

Örnek yanıt

[
    {
        "service": 1,
        "name": "Followers",
        "type": "Default",
        "category": "First Category",
        "rate": "0.90",
        "min": "50",
        "max": "10000",
        "refill": true,
        "cancel": true
    },
    {
        "service": 2,
        "name": "Comments",
        "type": "Custom Comments",
        "category": "Second Category",
        "rate": "8",
        "min": "10",
        "max": "1500",
        "refill": false,
        "cancel": true
    }
]

Sipariş ekle

Parametreler

ParametreAçıklama
keyYour API key
actionadd
serviceService ID
linkLink to page
quantityNeeded quantity
runs(opsiyonel)Runs to deliver (drip-feed)
interval(opsiyonel)Interval in minutes (drip-feed)

Örnek yanıt

{
    "order": 23501
}

Sipariş durumu

Parametreler

ParametreAçıklama
keyYour API key
actionstatus
orderOrder ID

Örnek yanıt

{
    "charge": "0.27819",
    "start_count": "3572",
    "status": "Partial",
    "remains": "157",
    "currency": "USD"
}

Çoklu sipariş durumu

Parametreler

ParametreAçıklama
keyYour API key
actionstatus
ordersOrder IDs (separated by a comma, up to 100 IDs)

Örnek yanıt

{
    "1": {
        "charge": "0.27819",
        "start_count": "3572",
        "status": "Partial",
        "remains": "157",
        "currency": "USD"
    },
    "10": {
        "error": "Incorrect order ID"
    },
    "100": {
        "charge": "1.44219",
        "start_count": "234",
        "status": "In progress",
        "remains": "10",
        "currency": "USD"
    }
}

Refill oluştur

Parametreler

ParametreAçıklama
keyYour API key
actionrefill
orderOrder ID

Örnek yanıt

{
    "refill": "1"
}

Çoklu refill

Parametreler

ParametreAçıklama
keyYour API key
actionrefill
ordersOrder IDs (separated by a comma, up to 100 IDs)

Örnek yanıt

[
    {
        "order": 1,
        "refill": 1
    },
    {
        "order": 2,
        "refill": 2
    },
    {
        "order": 3,
        "refill": {
            "error": "Incorrect order ID"
        }
    }
]

Refill durumu

Parametreler

ParametreAçıklama
keyYour API key
actionrefill_status
refillRefill ID

Örnek yanıt

{
    "status": "Completed"
}

Çoklu refill durumu

Parametreler

ParametreAçıklama
keyYour API key
actionrefill_status
refillsRefill IDs (separated by a comma, up to 100 IDs)

Örnek yanıt

[
    {
        "refill": 1,
        "status": "Completed"
    },
    {
        "refill": 2,
        "status": "Rejected"
    },
    {
        "refill": 3,
        "status": {
            "error": "Refill not found"
        }
    }
]

Sipariş iptali

Parametreler

ParametreAçıklama
keyYour API key
actioncancel
ordersOrder IDs (separated by a comma, up to 100 IDs)

Örnek yanıt

[
    {
        "order": 9,
        "cancel": {
            "error": "Incorrect order ID"
        }
    },
    {
        "order": 2,
        "cancel": 1
    }
]

Bakiye

Parametreler

ParametreAçıklama
keyYour API key
actionbalance

Örnek yanıt

{
    "balance": "100.84292",
    "currency": "USD"
}

Servis tipine göre `add` parametreleri

Typezorunluopsiyonel
Defaultservice, link, quantityruns, interval (minutes) → drip-feed
Packageservice, link
Custom Commentsservice, link, comments (separated by \n)
Comment Likesservice, link, quantity, username
Subscriptionsservice, username, min, max, delay (0, 5, 10, 15, 20, 30, 40, 50, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360, 420, 480, 540, 600)posts (new posts limit; unlimited when omitted), old_posts, expiry (d/m/Y)
Web Trafficservice, link, quantity, country ("US" or "United States"), device (1 Desktop, 2 Android, 3 iOS, 4 Mixed mobile, 5 Mixed all), type_of_traffic (1 Google Keyword, 2 Custom Referrer, 3 Blank Referrer)runs, interval, google_keyword (required for type 1), referring_url (required for type 2)

Sipariş durum metinleri

Pending, In progress, Processing, Completed, Partial, Canceled

Hata yanıtı

{
    "error": "Incorrect request"
}

PHP örnek kodu

example.txt dosyasını indir
<?php

class Api
{
    /** API URL */
    public $api_url = 'https://demo.panels.followerhq.com/api/v2';

    /** Your API key */
    public $api_key = '';

    /** Add order */
    public function order($data) {
        $post = array_merge(['key' => $this->api_key, 'action' => 'add'], $data);
        return json_decode($this->connect($post));
    }

    /** Get order status */
    public function status($order_id) {
        return json_decode($this->connect([
            'key' => $this->api_key,
            'action' => 'status',
            'order' => $order_id
        ]));
    }

    /** Get orders status */
    public function multiStatus($order_ids) {
        return json_decode($this->connect([
            'key' => $this->api_key,
            'action' => 'status',
            'orders' => implode(",", (array)$order_ids)
        ]));
    }

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

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

    /** Refill orders */
    public function multiRefill(array $orderIds) {
        return json_decode($this->connect([
            'key' => $this->api_key,
            'action' => 'refill',
            'orders' => implode(',', $orderIds),
        ]), true);
    }

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

    /** Get refill statuses */
    public function multiRefillStatus(array $refillIds) {
        return json_decode($this->connect([
            'key' => $this->api_key,
            'action' => 'refill_status',
            'refills' => implode(',', $refillIds),
        ]), true);
    }

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

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

    private function connect($post) {
        $_post = [];
        if (is_array($post)) {
            foreach ($post as $name => $value) {
                $_post[] = $name . '=' . urlencode($value);
            }
        }
        $ch = curl_init($this->api_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        if (is_array($post)) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, join('&', $_post));
        }
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        $result = curl_exec($ch);
        if (curl_errno($ch) != 0 && empty($result)) {
            $result = false;
        }
        curl_close($ch);
        return $result;
    }
}

// Examples

$api = new Api();

$services = $api->services(); # return all services
$balance = $api->balance(); # return user balance

$order = $api->order(['service' => 1, 'link' => 'http://example.com/test', 'quantity' => 100, 'runs' => 2, 'interval' => 5]); # Default
$order = $api->order(['service' => 1, 'link' => 'http://example.com/test']); # Package
$order = $api->order(['service' => 1, 'link' => 'http://example.com/test', 'comments' => "good pic\ngreat photo\n:)\n;)"]); # Custom Comments
$order = $api->order(['service' => 1, 'link' => 'http://example.com/test', 'quantity' => 100, 'username' => 'test']); # Comment Likes
$order = $api->order(['service' => 1, 'username' => 'username', 'min' => 100, 'max' => 110, 'posts' => 0, 'delay' => 30, 'expiry' => '11/11/2022']); # Subscriptions
$order = $api->order(['service' => 1, 'link' => 'http://example.com/test', 'quantity' => 100, 'country' => 'US', 'device' => 1, 'type_of_traffic' => 1, 'google_keyword' => 'test']); # Web Traffic

$status = $api->status($order->order); # return status, charge, remains, start count, currency
$statuses = $api->multiStatus([1, 2, 3]); # return status, charge, remains, start count, currency of selected orders

$refill = $api->refill(1); # return refill ID
$refills = $api->multiRefill([1, 2, 3]); # return refill IDs

$refillStatus = $api->refillStatus(1); # return refill status
$refillStatuses = $api->multiRefillStatus([1, 2, 3]); # return refill statuses

$cancel = $api->cancel([1, 2, 3]); # return cancel status