واجهة API

أرسل طلبات API عبر POST إلى العنوان أدناه. احصل على مفتاحك من صفحة الحساب.

طريقة HTTPPOST
عنوان APIhttps://kugumedya.com/api/v2
مفتاح APIيُنشأ من صفحة الحساب
صيغة الاستجابةJSON

قائمة الخدمات

المعاملات

المعاملالوصف
keyYour API key
actionservices

مثال على الاستجابة

[
    {
        "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
    }
]

إنشاء طلب

المعاملات

المعاملالوصف
keyYour API key
actionadd
serviceService ID
linkLink to page
quantityNeeded quantity
runs(اختياري)Runs to deliver (drip-feed)
interval(اختياري)Interval in minutes (drip-feed)

مثال على الاستجابة

{
    "order": 23501
}

حالة الطلب

المعاملات

المعاملالوصف
keyYour API key
actionstatus
orderOrder ID

مثال على الاستجابة

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

حالة عدة طلبات

المعاملات

المعاملالوصف
keyYour API key
actionstatus
ordersOrder IDs (separated by a comma, up to 100 IDs)

مثال على الاستجابة

{
    "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"
    }
}

إنشاء إعادة تعبئة

المعاملات

المعاملالوصف
keyYour API key
actionrefill
orderOrder ID

مثال على الاستجابة

{
    "refill": "1"
}

إنشاء عدة عمليات إعادة تعبئة

المعاملات

المعاملالوصف
keyYour API key
actionrefill
ordersOrder IDs (separated by a comma, up to 100 IDs)

مثال على الاستجابة

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

حالة إعادة التعبئة

المعاملات

المعاملالوصف
keyYour API key
actionrefill_status
refillRefill ID

مثال على الاستجابة

{
    "status": "Completed"
}

حالة عدة عمليات إعادة تعبئة

المعاملات

المعاملالوصف
keyYour API key
actionrefill_status
refillsRefill IDs (separated by a comma, up to 100 IDs)

مثال على الاستجابة

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

إلغاء الطلبات

المعاملات

المعاملالوصف
keyYour API key
actioncancel
ordersOrder IDs (separated by a comma, up to 100 IDs)

مثال على الاستجابة

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

رصيد المستخدم

المعاملات

المعاملالوصف
keyYour API key
actionbalance

مثال على الاستجابة

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

معاملات `add` حسب نوع الخدمة

Typeمطلوباختياري
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)

نصوص حالات الطلب

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

استجابة الخطأ

{
    "error": "Incorrect request"
}

مثال على كود PHP

تنزيل example.txt
<?php

class Api
{
    /** API URL */
    public $api_url = 'https://kugumedya.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