API

Envía tus solicitudes API por POST al endpoint que aparece abajo. Obtén tu clave en la página Cuenta.

Método HTTPPOST
URL de la APIhttps://kugumedya.com/api/v2
Clave APIGenerada en la página Cuenta
Formato de respuestaJSON

Lista de servicios

Parámetros

ParámetroDescripción
keyYour API key
actionservices

Respuesta de ejemplo

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

Crear pedido

Parámetros

ParámetroDescripción
keyYour API key
actionadd
serviceService ID
linkLink to page
quantityNeeded quantity
runs(opcional)Runs to deliver (drip-feed)
interval(opcional)Interval in minutes (drip-feed)

Respuesta de ejemplo

{
    "order": 23501
}

Estado del pedido

Parámetros

ParámetroDescripción
keyYour API key
actionstatus
orderOrder ID

Respuesta de ejemplo

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

Estado de varios pedidos

Parámetros

ParámetroDescripción
keyYour API key
actionstatus
ordersOrder IDs (separated by a comma, up to 100 IDs)

Respuesta de ejemplo

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

Crear recarga

Parámetros

ParámetroDescripción
keyYour API key
actionrefill
orderOrder ID

Respuesta de ejemplo

{
    "refill": "1"
}

Crear varias recargas

Parámetros

ParámetroDescripción
keyYour API key
actionrefill
ordersOrder IDs (separated by a comma, up to 100 IDs)

Respuesta de ejemplo

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

Obtener estado de recarga

Parámetros

ParámetroDescripción
keyYour API key
actionrefill_status
refillRefill ID

Respuesta de ejemplo

{
    "status": "Completed"
}

Obtener estado de varias recargas

Parámetros

ParámetroDescripción
keyYour API key
actionrefill_status
refillsRefill IDs (separated by a comma, up to 100 IDs)

Respuesta de ejemplo

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

Cancelar pedidos

Parámetros

ParámetroDescripción
keyYour API key
actioncancel
ordersOrder IDs (separated by a comma, up to 100 IDs)

Respuesta de ejemplo

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

Saldo del usuario

Parámetros

ParámetroDescripción
keyYour API key
actionbalance

Respuesta de ejemplo

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

Parámetros de `add` por tipo de servicio

Typeobligatorioopcional
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)

Cadenas de estado del pedido

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

Respuesta de error

{
    "error": "Incorrect request"
}

Ejemplo de código PHP

Descargar 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