WebKit GuruWebKit Guru
Katalog
Registracija
Programerima

API za preprodavce i automatizaciju

Jedan HTTP endpoint pokriva cijeli proces: čitanje kataloga, slanje narudžbi, provjera statusa, traženje Refilla i otkazivanja. Protokol se podudara sa formatom koji većina SMM panela koristi, pa postojeća integracija obično zahtijeva samo novi URL i ključ.

Adresa

POST https://webkit.guru/api/v2

Samo POST. Tijelo se šalje kao application/x-www-form-urlencoded ili kao application/json — oba formata su prihvaćena, a odgovor je uvijek JSON.

Autentifikacija

Ključ se šalje u tijelu zahtjeva kao polje key. Kod nas se čuva samo njegov SHA-256 hash, pa se ključ ne može obnoviti iz baze — ako ga izgubite, izdajte novi. Ključ se može opozvati iz kontrolne table u bilo kom trenutku i odmah prestaje raditi.

Ograničenje broja zahtjeva

60 zahtjeva u minuti sa jedne IP adrese. Iznad toga endpoint odgovara 429 i uključuje Retry-After zaglavlje koje govori koliko sekundi treba čekati. Statuse provjeravajte u grupama preko orders, a ne jedan poziv po narudžbi.

Metode

action=services

Lista usluga

The full catalogue with prices, limits and refill flags. Prices already include your markup — these are the amounts charged to your balance.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “services”

Odgovor

[
  {
    "service": 21251,
    "name": "Telegram Views",
    "type": "Default",
    "category": "Telegram",
    "rate": 0.41,
    "min": 10,
    "max": 50000000,
    "refill": true,
    "cancel": true
  }
]
action=add

Kreiraj narudžbu

Charges your balance and queues the order. If the provider rejects it, the amount is refunded automatically.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “add”
serviceintdaService ID from the services method
linkstringdaLink to the profile or post. The format is validated per platform and metric
quantityintdaQuantity within the service min and max
runsintneDrip-feed: how many runs
intervalintneDrip-feed: interval between runs, in minutes

Odgovor

{ "order": 84213 }
action=status

Status narudžbe

A single order via order, or up to a hundred at once via orders.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “status”
orderintneID narudžbe
ordersint[]neComma-separated IDs, up to 100

Odgovor

{
  "charge": "410.00",
  "start_count": "15420",
  "status": "in_progress",
  "remains": "3180",
  "currency": "RUB"
}

Odgovor za grupu

{
  "84213": { "charge": "410.00", "status": "completed",   "remains": "0",    "start_count": "15420", "currency": "RUB" },
  "84214": { "charge": "120.00", "status": "in_progress", "remains": "890",  "start_count": "2310",  "currency": "RUB" },
  "84215": { "error": "Incorrect order ID" }
}
action=refill

Zatraži Refill

Available for services flagged refill. Returns a refill ID to check the status with.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “refill”
orderintneID narudžbe
ordersint[]neComma-separated IDs, up to 100

Odgovor

{ "refill": 1932 }

Odgovor za grupu

[
  { "order": 84213, "refill": 1932 },
  { "order": 84214, "error": "Order is not sent to provider yet" }
]
action=refill_status

Refill status

The ID is ours, not the provider's — you never need to know which supplier fulfils the order.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “refill_status”
refillintneRefill ID
refillsint[]neComma-separated IDs, up to 100

Odgovor

{ "status": "Completed" }

Odgovor za grupu

[
  { "refill": 1932, "status": "Completed" },
  { "refill": 1933, "status": "Pending" }
]
action=cancel

Otkaži narudžbu

The provider may refuse a cancellation, so the order moves to cancel_requested. The actual cancellation and refund are confirmed by status sync.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “cancel”
orderintneID narudžbe
ordersint[]neComma-separated IDs, up to 100

Odgovor

{ "cancel": 1 }

Odgovor za grupu

[
  { "order": 84213, "cancel": 1 },
  { "order": 84214, "error": "Incorrect order ID" }
]
action=balance

Saldo

Current account balance, in rubles.

ParametarTipObavezanOpis
keystringdaAPI key from your dashboard, “API” tab
actionstringdaThe string “balance”

Odgovor

{ "balance": "12480.50", "currency": "RUB" }

Primjeri koda

cURL

curl -X POST https://webkit.guru/api/v2 \
  -d key=YOUR_KEY \
  -d action=add \
  -d service=21251 \
  -d link=https://t.me/example/42 \
  -d quantity=1000

PHP

<?php
$response = file_get_contents('https://webkit.guru/api/v2', false, stream_context_create([
    'http' => [
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => http_build_query([
            'key'      => 'YOUR_KEY',
            'action'   => 'add',
            'service'  => 21251,
            'link'     => 'https://t.me/example/42',
            'quantity' => 1000,
        ]),
    ],
]));

$order = json_decode($response, true);

Python

import requests

response = requests.post("https://webkit.guru/api/v2", data={
    "key": "YOUR_KEY",
    "action": "add",
    "service": 21251,
    "link": "https://t.me/example/42",
    "quantity": 1000,
})

order = response.json()

JavaScript

const response = await fetch("https://webkit.guru/api/v2", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    key: "YOUR_KEY",
    action: "add",
    service: 21251,
    link: "https://t.me/example/42",
    quantity: 1000,
  }),
});

const order = await response.json();

Statusi narudžbi

Polje status metode status vraća jednu od ovih vrijednosti.

pending
Accepted by the panel, not yet sent to the provider
in_progress
U toku
processing
Provider accepted it, delivery is about to start
completed
Fully delivered
partial
Partially delivered, the difference is refunded
cancel_requested
Cancellation requested, waiting for the provider
canceled
Cancelled, funds returned
failed
Could not be fulfilled, funds returned

Greške

Poslovne greške se vraćaju sa HTTP 200 i poljem error. Samo autentifikacija i ograničenje broja zahtjeva koriste HTTP statusne kodove.

401 · Invalid API key
The key is unknown or has been disabled in the dashboard
429 · Rate limit exceeded
More than 60 requests per minute from one address. The response carries a Retry-After header
Incorrect order ID
No order with this ID belongs to your account
Unknown action
The action value is not one of those listed above

Spremni za povezivanje?

Napravite nalog, dopunite saldo i izdajte ključ na kartici „API”. Nema zasebnog koraka odobrenja.

Kreiraj nalog
WebKit GuruWebKit Guru

Накрутка, SMS-активации и временная почта в одном сервисе. Более 3500 услуг, гарантия восполнения, моментальный старт.

Сервис

  • Каталог услуг
  • О сервисе
  • Справка
  • Вопросы и ответы
  • Документация
  • API для разработчиков
  • SMS-активации
  • Временная почта
  • Отзывы

Документы

  • Публичная оферта
  • Условия использования
  • Политика конфиденциальности
  • Контакты

Мы в соцсетях

Поддержка круглосуточно, 24/7

Предлагаемые услуги не являются официальными услугами социальных сетей и не связаны с их правообладателями. Названия и логотипы платформ принадлежат их владельцам и используются для указания совместимости. Сервис не гарантирует конкретный результат продвижения: он зависит от алгоритмов площадок и может меняться. Оформляя заказ, вы соглашаетесь с публичной офертой.

© 2026 webkit.guru