SILENTSHOP API

v1.1.0 Production

Status В личный кабинет

SilentShop Public API v1.1

Программный интерфейс SilentShop позволяет интегрировать покупку Telegram аккаунтов прямо в ваши скрипты, боты и системы автоматизации. Заказы обрабатываются в реальном времени с персистентным хранением состояния — статус заказа сохраняется даже после перезапуска сервера.

9

эндпоинтов

60s

кэш каталога

2/s

rate limit

Base URL: https://lk.silentshop.shop

Авторизация

Все запросы (кроме /status) требуют заголовок X-API-Key. Сгенерировать ключ можно в Mini App → Профиль → Настройки → API ключ.

// Пример заголовка

X-API-Key: sl_9a8f273d4b6c81e9f2a3...

Не передавайте API-ключ на клиентской стороне. Используйте только в серверных скриптах.

Формат product_id

Каждый товар имеет уникальный product_id. Его можно получить из ответа GET /api/public/v1/products. Существует два типа:

Тип 1: Динамические товары (с внешних маркетов)

dyn_{id}

Например: dyn_1, dyn_42

Число — внутренний ID группы товаров (неизменный).

Тип 2: Локальные товары (из базы аккаунтов)

local_{CC}_{age}_{premium}_{price}

Например: local_US_3months_0_1.5

ПолеПримерОписание
CCUSКод страны ISO 3166-1
age3monthsВозраст аккаунта
premium0 / 10 — обычный, 1 — Premium
price1.5Цена в USDT

Используйте GET /api/public/v1/products?country=US для быстрого поиска нужного товара с фильтрацией по стране.

Rate Limiting

  • Максимум 2 запроса в секунду на один API-ключ.
  • При превышении — 429 Too Many Requests.
  • Кэш каталога товаров обновляется раз в 60 секунд — не нужно опрашивать чаще.

Коды ошибок

Все ошибки возвращаются в едином формате:

{ "status": "error", "message": "Описание ошибки", "code": 400 }
КодЗначение
200Успех
400Неверные параметры запроса
401Отсутствует или неверный X-API-Key
402Недостаточно средств на балансе
403Нет доступа к ресурсу (чужой заказ)
404Ресурс не найден
429Превышен rate limit (2 req/s)
500Внутренняя ошибка сервера
GET

Статус API

Не требует авторизации
/api/public/v1/status

Health-check: версия API, статус базы данных, аптайм. Используйте для мониторинга доступности сервиса.

cURL

curl https://lk.silentshop.shop/api/public/v1/status

Ответ 200 OK

{
  "status": "ok",
  "version": "1.1.0",
  "database": "ok",
  "uptime_seconds": 3600,
  "cache_ttl_seconds": 60
}
GET

Профиль пользователя

/api/public/v1/profile

Возвращает Telegram ID и текущий баланс счёта в USDT.

curl -H "X-API-Key: YOUR_KEY" \
  https://lk.silentshop.shop/api/public/v1/profile
import requests
r = requests.get(
  "https://lk.silentshop.shop/api/public/v1/profile",
  headers={"X-API-Key": "YOUR_KEY"}
)
print(r.json())
const r = await fetch(
  "https://lk.silentshop.shop/api/public/v1/profile",
  { headers: { "X-API-Key": "YOUR_KEY" } }
);
console.log(await r.json());

Ответ 200 OK

{
  "status": "success",
  "telegram_id": 161451219,
  "balance": 150.45,
  "currency": "USDT"
}
GET

Баланс и история транзакций

NEW
/api/public/v1/balance

Возвращает текущий баланс и последние 20 транзакций (пополнения и списания).

cURL

curl -H "X-API-Key: YOUR_KEY" \
  https://lk.silentshop.shop/api/public/v1/balance

Ответ 200 OK

{
  "status": "success",
  "balance": 150.45,
  "currency": "USDT",
  "history": [
    {
      "amount": -1.50,
      "operation": "purchase",
      "description": "API Purchase: US 3months",
      "timestamp": "2026-07-30T10:22:00"
    }
  ]
}
GET

Каталог товаров

/api/public/v1/products

Полный каталог доступных товаров. Результат кэшируется на 60 секунд.

Query параметры (опциональные):

ПараметрТипПримерОписание
countrystringUSФильтр по коду страны ISO
premiumbooleanfalseФильтр по типу аккаунта
# Все товары
curl -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/products"

# Только США
curl -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/products?country=US"
import requests
H = {"X-API-Key": "YOUR_KEY"}

# Все товары
products = requests.get(
  "https://lk.silentshop.shop/api/public/v1/products",
  headers=H
).json()["products"]

# Только обычные аккаунты США
us = requests.get(
  "https://lk.silentshop.shop/api/public/v1/products",
  headers=H,
  params={"country": "US", "premium": False}
).json()["products"]

Ответ 200 OK

{
  "status": "success",
  "count": 2,
  "products": [
    {
      "product_id": "dyn_1",
      "name": "США Новорег",
      "country": "US",
      "price": 1.0,
      "currency": "USDT",
      "premium": false,
      "description": "Качественные аккаунты",
      "stock": 3026
    },
    {
      "product_id": "local_PL_3months_0_1.5",
      "name": "3months",
      "country": "PL",
      "price": 1.5,
      "currency": "USDT",
      "premium": false,
      "description": "",
      "stock": 12
    }
  ]
}
GET

Товар по ID

NEW
/api/public/v1/product/{product_id}

Возвращает детали одного товара. Использует тот же кэш 60 секунд, что и каталог.

cURL

curl -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/product/dyn_1"

Ответ 200 OK

{
  "status": "success",
  "product": {
    "product_id": "dyn_1",
    "name": "США Новорег",
    "country": "US",
    "price": 1.0,
    "currency": "USDT",
    "premium": false,
    "description": "...",
    "stock": 3026
  }
}
POST

Покупка аккаунтов

/api/public/v1/buy

Инициирует покупку. Баланс резервируется мгновенно, покупка происходит асинхронно. Максимум 50 штук за раз. Сразу возвращается order_id для опроса статуса.

Тело запроса (JSON):

ПолеТипОбязательноОписание
product_idstringДаID товара из каталога
quantityintegerНет (1)Кол-во (1–50)
curl -X POST \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"dyn_1","quantity":1}' \
  https://lk.silentshop.shop/api/public/v1/buy
import requests, time

H = {"X-API-Key": "YOUR_KEY"}
r = requests.post(
  "https://lk.silentshop.shop/api/public/v1/buy",
  headers=H,
  json={"product_id": "dyn_1", "quantity": 1}
).json()

order_id = r["order_id"]

# Polling статуса
while True:
    s = requests.get(
      f"https://lk.silentshop.shop/api/public/v1/order/{order_id}",
      headers=H
    ).json()
    if s["status"] != "processing":
        break
    time.sleep(3)

print(s)

Ответ 200 (processing)

{
  "status": "processing",
  "order_id": "550e8400-e29b-41d4-...",
  "total_cost": 1.0,
  "currency": "USDT"
}
GET

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

/api/public/v1/order/{order_id}

Опрашивайте с интервалом 3–5 секунд. Статус заказа хранится в базе данных и не теряется при перезапуске сервера.

cURL

curl -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/order/550e8400-..."

Статус: processing

{ "status": "processing", "message": "🔍 Ищу аккаунт 1 из 1..." }

Статус: success

{
  "status": "success",
  "accounts": [
    {
      "id": 1284,
      "phone": "+1234567890",
      "has_2fa": true,
      "password_2fa": "mypass123",
      "tdata_download_url": "https://lk.silentshop.shop/api/download/tdata/1284",
      "session_download_url": "https://lk.silentshop.shop/api/download/session/1284",
      "session_string": "1BJWap1wBu..."
    }
  ]
}

Статус: error

{ "status": "error", "message": "❌ Нет подходящих аккаунтов." }
GET

История заказов

NEW
/api/public/v1/orders?limit=20

Список последних API-заказов пользователя. Максимум 50 записей. Параметр limit (по умолчанию 20).

cURL

curl -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/orders?limit=5"

Ответ 200 OK

{
  "status": "success",
  "count": 1,
  "orders": [
    {
      "order_id": "550e8400-e29b-...",
      "status": "success",
      "message": "Успешно!",
      "purchased_ids": [1284],
      "created_at": "2026-07-30T10:22:00"
    }
  ]
}
POST

Подписка на уведомление

NEW
/api/public/v1/notify/{product_id}

Подписывает пользователя на уведомление в боте когда товар появится в наличии. Полезно для товаров со статусом stock: 0.

cURL

curl -X POST \
  -H "X-API-Key: YOUR_KEY" \
  "https://lk.silentshop.shop/api/public/v1/notify/dyn_1"

Ответ 200 OK

{
  "status": "success",
  "message": "Вы будете уведомлены когда товар 'dyn_1' появится в наличии."
}

Changelog

v1.1.0 30 июля 2026
  • 🆕 Новый эндпоинт GET /balance — баланс + история транзакций
  • 🆕 Новый эндпоинт GET /product/{id} — детали товара по ID
  • 🆕 Новый эндпоинт GET /orders — история заказов
  • 🆕 Новый эндпоинт POST /notify/{id} — подписка на уведомление
  • 🆕 Новый эндпоинт GET /status — health-check
  • 🔧 GET /products — добавлены параметры ?country и ?premium
  • 🔧 Кэш каталога 60 секунд — снижение нагрузки на внешние API
  • 🔧 Заказы теперь хранятся в БД — статус не теряется при рестарте
  • 🔧 Поле currency: "USDT" добавлено во все ответы с ценами
  • 🔧 Унифицированный формат ошибок во всех эндпоинтах
  • 🔧 Лимит на покупку — не более 50 штук за один запрос
v1.0.0 29 июля 2026

Первый релиз: profile, products, buy, order status.