WebKit GuruWebKit Guru
Catalogue
S’inscrire
Pour les développeurs

API pour revendeurs et automatisation

Une seule adresse HTTP couvre tout le cycle : récupérer le catalogue, créer une commande, consulter son statut, demander un refill ou une annulation. Le protocole reprend le format utilisé par la plupart des panneaux SMM : une intégration existante n’a généralement qu’à changer d’adresse et de clé.

Adresse

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

POST uniquement. Le corps peut être envoyé en application/x-www-form-urlencoded ou en application/json : les deux sont acceptés, la réponse est toujours en JSON.

Authentification

La clé est transmise dans le corps de la requête via le champ key. Nous n’en conservons que l’empreinte SHA-256 : elle ne peut donc pas être retrouvée dans notre base. En cas de perte, générez-en une nouvelle. Une clé peut être désactivée à tout moment depuis votre compte et cesse aussitôt de fonctionner.

Limite de fréquence

60 requêtes par minute depuis une même adresse IP. Au-delà, le serveur renvoie un code 429 et un en-tête Retry-After indiquant le délai d’attente en secondes. Interrogez les statuts par lots via orders plutôt qu’une commande à la fois.

Méthodes

action=services

Liste des services

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “services”

Réponse

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

Créer une commande

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “add”
serviceintouiService ID from the services method
linkstringouiLink to the profile or post. The format is validated per platform and metric
quantityintouiQuantity within the service min and max
runsintnonDrip-feed: how many runs
intervalintnonDrip-feed: interval between runs, in minutes

Réponse

{ "order": 84213 }
action=status

Statut de la commande

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “status”
orderintnonNuméro de commande
ordersint[]nonComma-separated IDs, up to 100

Réponse

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

Réponse groupée

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

Demander un refill

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “refill”
orderintnonNuméro de commande
ordersint[]nonComma-separated IDs, up to 100

Réponse

{ "refill": 1932 }

Réponse groupée

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “refill_status”
refillintnonRefill ID
refillsint[]nonComma-separated IDs, up to 100

Réponse

{ "status": "Completed" }

Réponse groupée

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

Annuler la commande

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

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “cancel”
orderintnonNuméro de commande
ordersint[]nonComma-separated IDs, up to 100

Réponse

{ "cancel": 1 }

Réponse groupée

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

Solde

Current account balance, in rubles.

ParamètreTypeObligatoireDescription
keystringouiAPI key from your dashboard, “API” tab
actionstringouiThe string “balance”

Réponse

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

Exemples de code

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

Statuts de commande

Le champ status de la méthode status renvoie l’une de ces valeurs.

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

Erreurs

Les erreurs métier arrivent avec un code 200 et un champ error. Seules l’authentification et la limite de fréquence répondent par des codes HTTP.

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

Prêt à vous connecter ?

Inscrivez-vous, rechargez votre solde et générez une clé dans l’onglet « API ». Aucune validation préalable n’est nécessaire.

Créer un compte
WebKit GuruWebKit Guru

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

support@webkit.guru

Promotion

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

Service

  • Catalogue de services
  • Aide
  • API pour les développeurs
  • Activations SMS
  • Messagerie temporaire
  • Se connecter
  • S’inscrire

Documents

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

Les services proposés ne sont pas des services officiels des réseaux sociaux et ne sont liés à aucun de leurs ayants droit. Les noms et logos des plateformes appartiennent à leurs propriétaires et servent uniquement à indiquer la compatibilité. Le service ne garantit pas un résultat de promotion précis : il dépend des algorithmes des plateformes et peut évoluer. En passant commande, vous acceptez l’offre publique.

© 2026 webkit.guru

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