WebKit GuruWebKit Guru
Catálogo
Registrarse
Para desarrolladores

API para revendedores y automatización

Una sola dirección HTTP cubre todo el ciclo: obtener el catálogo, crear un pedido, consultar su estado y solicitar un refill o una cancelación. El protocolo coincide con el formato que usa la mayoría de los paneles SMM, así que a una integración existente suele bastarle cambiar la dirección y la clave.

Dirección

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

Solo POST. El cuerpo puede enviarse como application/x-www-form-urlencoded o como application/json: se aceptan ambos formatos y la respuesta siempre es JSON.

Autenticación

La clave se envía en el cuerpo de la petición mediante el campo key. Solo guardamos su hash SHA-256, por lo que no puede recuperarse de nuestra base de datos: si la pierdes, genera una nueva. Puedes desactivar una clave en tu panel en cualquier momento y deja de funcionar de inmediato.

Límite de frecuencia

60 peticiones por minuto desde una misma IP. Al superarlo se devuelve el código 429 y la cabecera Retry-After con los segundos de espera. Conviene consultar los estados por lotes mediante orders en lugar de uno por llamada.

Métodos

action=services

Lista de servicios

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “services”

Respuesta

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

Crear un pedido

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “add”
serviceintsíService ID from the services method
linkstringsíLink to the profile or post. The format is validated per platform and metric
quantityintsíQuantity within the service min and max
runsintnoDrip-feed: how many runs
intervalintnoDrip-feed: interval between runs, in minutes

Respuesta

{ "order": 84213 }
action=status

Estado del pedido

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “status”
orderintnoNúmero de pedido
ordersint[]noComma-separated IDs, up to 100

Respuesta

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

Respuesta por lotes

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

Solicitar refill

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “refill”
orderintnoNúmero de pedido
ordersint[]noComma-separated IDs, up to 100

Respuesta

{ "refill": 1932 }

Respuesta por lotes

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “refill_status”
refillintnoRefill ID
refillsint[]noComma-separated IDs, up to 100

Respuesta

{ "status": "Completed" }

Respuesta por lotes

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

Cancelar el pedido

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

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “cancel”
orderintnoNúmero de pedido
ordersint[]noComma-separated IDs, up to 100

Respuesta

{ "cancel": 1 }

Respuesta por lotes

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

Saldo

Current account balance, in rubles.

ParámetroTipoObligatorioDescripción
keystringsíAPI key from your dashboard, “API” tab
actionstringsíThe string “balance”

Respuesta

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

Ejemplos de código

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

Estados del pedido

El campo status del método status devuelve uno de estos valores.

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

Errores

Los errores de lógica de negocio llegan con código 200 y un campo error. Solo la autenticación y el límite de frecuencia responden con códigos 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

¿Listo para integrarte?

Regístrate, recarga tu saldo y genera una clave en la pestaña «API». No hace falta ninguna aprobación aparte.

Crear una cuenta
WebKit GuruWebKit Guru

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

support@webkit.guru

Promoción

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

Servicio

  • Catálogo de servicios
  • Ayuda
  • API para desarrolladores
  • Activaciones por SMS
  • Correo temporal
  • Iniciar sesión
  • Registrarse

Documentos

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

Los servicios ofrecidos no son servicios oficiales de las redes sociales ni están vinculados a sus titulares de derechos. Los nombres y logotipos de las plataformas pertenecen a sus propietarios y se usan solo para indicar compatibilidad. El servicio no garantiza un resultado concreto de promoción: depende de los algoritmos de las plataformas y puede cambiar. Al realizar un pedido aceptas la oferta pública.

© 2026 webkit.guru

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