WebKit GuruWebKit Guru
Katalog
Rejestracja
Dla programistów

API dla resellerów i automatyzacji

Jeden adres HTTP obsługuje cały cykl: pobranie katalogu, utworzenie zamówienia, sprawdzenie statusu, zgłoszenie refillu lub anulowania. Protokół jest zgodny z formatem większości paneli SMM, więc gotowej integracji zwykle wystarczy zmienić adres i klucz.

Adres

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

Tylko POST. Treść można wysłać jako application/x-www-form-urlencoded lub application/json — oba formaty są akceptowane, odpowiedź zawsze w JSON.

Autoryzacja

Klucz przekazuje się w treści żądania w polu key. Przechowujemy wyłącznie jego skrót SHA-256, więc nie da się go odtworzyć z bazy — w razie utraty wygeneruj nowy. Klucz można wyłączyć w panelu w dowolnym momencie i przestaje działać natychmiast.

Limit zapytań

60 zapytań na minutę z jednego adresu IP. Po przekroczeniu zwracany jest kod 429 i nagłówek Retry-After z liczbą sekund do kolejnej próby. Statusy lepiej pobierać partiami przez orders niż po jednym zamówieniu.

Metody

action=services

Lista usług

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

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “services”

Odpowiedź

[
  {
    "service": 21251,
    "name": "Telegram — просмотры",
    "type": "Default",
    "category": "Telegram",
    "rate": 0.41,
    "min": 10,
    "max": 50000000,
    "refill": true,
    "cancel": true
  }
]
action=add

Utwórz zamówienie

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

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “add”
serviceinttakService ID from the services method
linkstringtakLink to the profile or post. The format is validated per platform and metric
quantityinttakQuantity within the service min and max
runsintnieDrip-feed: how many runs
intervalintnieDrip-feed: interval between runs, in minutes

Odpowiedź

{ "order": 84213 }
action=status

Status zamówienia

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

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “status”
orderintnieNumer zamówienia
ordersint[]nieComma-separated IDs, up to 100

Odpowiedź

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

Odpowiedź zbiorcza

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

Poproś o refill

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

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “refill”
orderintnieNumer zamówienia
ordersint[]nieComma-separated IDs, up to 100

Odpowiedź

{ "refill": 1932 }

Odpowiedź zbiorcza

[
  { "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.

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “refill_status”
refillintnieRefill ID
refillsint[]nieComma-separated IDs, up to 100

Odpowiedź

{ "status": "Completed" }

Odpowiedź zbiorcza

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

Anuluj zamówienie

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

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “cancel”
orderintnieNumer zamówienia
ordersint[]nieComma-separated IDs, up to 100

Odpowiedź

{ "cancel": 1 }

Odpowiedź zbiorcza

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

Saldo

Current account balance, in rubles.

ParametrTypWymaganyOpis
keystringtakAPI key from your dashboard, “API” tab
actionstringtakThe string “balance”

Odpowiedź

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

Przykłady kodu

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();

Statusy zamówienia

Pole status metody status zwraca jedną z tych wartości.

pending
Accepted by the panel, not yet sent to the provider
in_progress
W trakcie
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

Błędy

Błędy logiki biznesowej przychodzą z kodem 200 i polem error. Kodami HTTP odpowiadają wyłącznie autoryzacja i limit zapytań.

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

Gotowy do integracji?

Zarejestruj się, doładuj saldo i wygeneruj klucz w zakładce „API”. Osobna zgoda nie jest potrzebna.

Utwórz konto
WebKit GuruWebKit Guru

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

support@webkit.guru

Promocja

  • Накрутка Telegram
  • Накрутка Instagram
  • Накрутка TikTok
  • Накрутка YouTube
  • Накрутка ВКонтакте

Serwis

  • Katalog usług
  • Pomoc
  • API dla programistów
  • Aktywacje SMS
  • Poczta tymczasowa
  • Zaloguj się
  • Rejestracja

Dokumenty

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

Oferowane usługi nie są oficjalnymi usługami serwisów społecznościowych ani nie są powiązane z ich właścicielami praw. Nazwy i logotypy platform należą do ich właścicieli i służą wyłącznie do wskazania zgodności. Serwis nie gwarantuje konkretnego efektu promocji: zależy on od algorytmów platform i może się zmieniać. Składając zamówienie, akceptujesz ofertę publiczną.

© 2026 webkit.guru

Wsparcie ежедневно, 10:00–22:00 МСК