WebKit GuruWebKit Guru
Каталог
Регистрация
Разработчикам

API для реселлеров и автоматизации

Один HTTP-адрес закрывает весь цикл: получить каталог, создать заказ, узнать статус, запросить добор или отмену. Протокол совпадает с форматом, который использует большинство SMM-панелей, поэтому готовой интеграции обычно достаточно поменять адрес и ключ.

Адрес

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

Только POST. Тело можно отправлять как application/x-www-form-urlencoded или как application/json — принимаются оба формата, ответ всегда JSON.

Авторизация

Ключ передаётся в теле запроса полем key. У нас хранится только его SHA-256-хеш, поэтому восстановить ключ из базы нельзя — если он потерян, выпустите новый. Отключить ключ можно в кабинете в любой момент, он перестаёт работать сразу.

Ограничение частоты

60 запросов в минуту с одного IP-адреса. При превышении приходит код 429 и заголовок Retry-After с числом секунд до следующей попытки. Статусы лучше запрашивать пачками через orders, а не по одному заказу за вызов.

Методы

action=services

Список услуг

Полный каталог с ценами, лимитами и признаками гарантии. Цены уже с вашей наценкой — это те суммы, которые спишутся с баланса.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «services»

Ответ

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

Создать заказ

Списывает сумму с баланса и ставит заказ в очередь. Если провайдер отклонит заказ, деньги вернутся автоматически.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «add»
serviceintдаИдентификатор услуги из метода services
linkstringдаСсылка на профиль или публикацию. Формат проверяется под конкретную площадку и метрику
quantityintдаКоличество в пределах min и max услуги
runsintнетДробная подача: сколько раз повторить
intervalintнетДробная подача: интервал между повторами в минутах

Ответ

{ "order": 84213 }
action=status

Статус заказа

Один заказ через order, до ста заказов за раз через orders.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «status»
orderintнетНомер заказа
ordersint[]нетНомера через запятую, максимум 100

Ответ

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

Ответ для пакета

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

Запросить добор

Доступен для услуг с признаком refill. Возвращает номер заявки — по нему проверяется статус.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «refill»
orderintнетНомер заказа
ordersint[]нетНомера через запятую, максимум 100

Ответ

{ "refill": 1932 }

Ответ для пакета

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

Статус добора

Идентификатор здесь наш, а не провайдерский: через какого поставщика идёт заказ, знать не нужно.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «refill_status»
refillintнетНомер заявки на добор
refillsint[]нетНомера через запятую, максимум 100

Ответ

{ "status": "Completed" }

Ответ для пакета

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

Отменить заказ

Провайдер вправе отклонить отмену, поэтому заказ переходит в статус cancel_requested. Реальную отмену и возврат средств подтверждает синхронизация статусов.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «cancel»
orderintнетНомер заказа
ordersint[]нетНомера через запятую, максимум 100

Ответ

{ "cancel": 1 }

Ответ для пакета

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

Баланс

Текущий баланс аккаунта в рублях.

ПараметрТипОбязателенОписание
keystringдаКлюч API из кабинета, вкладка «API»
actionstringдаСтрока «balance»

Ответ

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

Примеры кода

cURL

curl -X POST https://webkit.guru/api/v2 \
  -d 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'      => 'ВАШ_КЛЮЧ',
            '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": "ВАШ_КЛЮЧ",
    "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: "ВАШ_КЛЮЧ",
    action: "add",
    service: 21251,
    link: "https://t.me/example/42",
    quantity: 1000,
  }),
});

const order = await response.json();

Статусы заказа

Поле status метода status возвращает одно из этих значений.

pending
Принят панелью, ещё не передан провайдеру
in_progress
Выполняется
processing
Провайдер принял, подача вот-вот начнётся
completed
Выполнен полностью
partial
Выполнен частично, разница возвращена на баланс
cancel_requested
Отмена запрошена, ждём подтверждения провайдера
canceled
Отменён, средства возвращены
failed
Не удалось выполнить, средства возвращены

Ошибки

Ошибки бизнес-логики приходят с кодом 200 и полем error. HTTP-кодами отвечают только авторизация и ограничение частоты.

401 · Invalid API key
Ключ не найден или отключён в кабинете
429 · Rate limit exceeded
Больше 60 запросов в минуту с одного адреса. В ответе есть заголовок Retry-After
Incorrect order ID
Заказа с таким номером нет у вашего аккаунта
Unknown action
Значение action не входит в список выше

Готовы подключиться?

Зарегистрируйтесь, пополните баланс и выпустите ключ на вкладке «API». Отдельного согласования не нужно.

Создать аккаунт
WebKit GuruWebKit Guru

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

support@webkit.guru

Накрутка

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

Сервис

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

Документы

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

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

© 2026 webkit.guru

Поддержка ежедневно, 10:00–22:00 МСК