Документация API
Всё, что нужно для прямых HTTP запросов или работы через SDK.
Двухэтапный процесс заказа
API использует двухэтапный процесс заказа для обеспечения безопасных и надежных покупок:
- Создание заказа: Используйте POST /api/v1/orders/stars или POST /api/v1/orders/premium для создания заказа. Это резервирует покупку и рассчитывает общую стоимость с учетом комиссии.
- Оплата заказа: Используйте POST /api/v1/orders/:order_id/pay с вашим seed кошелька для завершения оплаты. Заказ будет поставлен в очередь на обработку.
- Проверка статуса: Опрашивайте GET /api/v1/queue/:request_id для мониторинга статуса обработки и получения финального результата.
Важно: Заказы истекают через 10 минут, если не оплачены.
Режимы KYC и без KYC
API поддерживает два режима покупки. KYC режим бесплатный навсегда; режим без KYC использует cookies владельца API и имеет комиссию.
KYC режим (бесплатно навсегда)
Предоставьте свои fragment_cookies с fragment.com и платите 0% комиссии API. Этот режим бесплатный навсегда.
Режим без KYC (Стандартная комиссия)
Не предоставляйте fragment_cookies. API использует cookies владельца сервера.
Совет: Если хотите перепроверить ставки перед использованием, вызовите GET /api/v1/commission/rates.
Эндпоинты API
Health
/healthHealth check
Stars
/api/v1/stars/buyКупить Telegram Stars (через очередь)
Orders
/api/v1/stars/createСоздать заказ на Stars (шаг 1)
/api/v1/stars/payОплатить заказ (шаг 2)
/api/v1/orders/{order_id}Получить статус заказа
Queue
/api/v1/queue/statusПолучить общий статус очереди
/api/v1/queue/{request_id}Получить статус запроса в очереди
/api/v1/queueПолучить длину очереди
Wallet
/api/v1/wallet/balanceПолучить баланс кошелька
Commission
/api/v1/commission/balanceПолучить баланс комиссии
/api/v1/commission/ratesПолучить ставки комиссий
Transactions
/api/v1/transactionsПолучить историю транзакций
Prices
/api/v1/pricesПолучить текущие цены
Коды ошибок
Все ответы с ошибками следуют единому формату с машиночитаемым кодом ошибки. Используйте эти коды для программной обработки ошибок.
| Error Code | HTTP Status | Message | Description |
|---|---|---|---|
VALIDATION_ERROR | 400 | Validation failed | Request parameters failed validation. Check the details field for specific validation errors. |
INVALID_USERNAME_FORMAT | 400 | Invalid username format | Username must start with @ and contain only alphanumeric characters and underscores (1-32 characters). |
UNAUTHORIZED | 401 | Unauthorized | Admin-only endpoint was called without a valid X-Admin-Key. |
INVALID_SEED | 400 | Invalid seed phrase | The provided seed phrase is not valid base64 or cannot be decoded. |
INVALID_COOKIES | 400 | Invalid cookies | The provided fragment_cookies are not valid base64 or cannot be decoded. |
INSUFFICIENT_BALANCE | 400 | Insufficient balance | Wallet does not have enough TON to complete the purchase. |
DEBT_LIMIT_EXCEEDED | 400 | Debt limit exceeded | User has exceeded the maximum allowed debt limit. |
USER_NOT_FOUND | 404 | User not found | The specified Telegram username does not exist. |
ORDER_NOT_FOUND | 404 | Order not found | The specified order ID does not exist. |
REQUEST_NOT_FOUND | 404 | Request not found | The specified request ID does not exist in the queue. |
QUEUE_TIMEOUT | 408 | Queue timeout | Request timed out while waiting in the queue. |
PREMIUM_ALREADY_ACTIVE | 400 | Premium already active | User already has an active Telegram Premium subscription. |
ORDER_EXPIRED | 400 | Order expired | The order has expired and can no longer be paid. |
RATE_LIMIT_EXCEEDED | 429 | Rate limit exceeded | Too many requests. Please wait before making another request. |
INTERNAL_ERROR | 500 | Internal server error | An unexpected error occurred on the server. |
FRAGMENT_ERROR | 502 | Fragment service error | Error communicating with fragment.com service. |
SERVICE_UNAVAILABLE | 503 | Service unavailable | The service is temporarily unavailable. Please try again later. |
OWNER_COOKIES_NOT_CONFIGURED | 500 | Owner cookies not configured | Server is not configured with owner cookies for no_kyc mode. |
OWNER_COOKIES_EXPIRED | 500 | Owner cookies expired | Server owner cookies have expired and need to be refreshed. |
Клиентские токены не нужны
Клиентские endpoints API работают без выданных токенов. Для обычной покупки Stars и Premium не нужно ничего запрашивать у владельца сервиса.
Базовый API endpoint
https://fragment-api.ydns.eu:8443Используйте этот URL как base URL для прямых HTTP запросов.
Аутентификация клиента
Заголовок авторизации не требуетсяОтправляйте только параметры endpoint. Клиентское API открыто; лимиты применяются по IP.
Как API понимает, чей заказ?
Для покупок API получает TON адрес из переданного seed и использует этот wallet address для очереди, истории транзакций и учёта комиссии/долга.
Какие данные всё ещё нужны?
Для покупки endpoint всё равно требует seed кошелька, чтобы подписать TON транзакцию. В KYC режиме также нужны Fragment cookies/localStorage, чтобы покупка шла через ваш Fragment аккаунт.
Admin API отдельно
Только /admin endpoints защищены и используют X-Admin-Key. Это ключ администрирования сервера, не токен для клиентов API.
Пример прямого запроса
Если вы не используете Python SDK, вызывайте endpoint напрямую. Дополнительный auth заголовок не нужен:
curl -X POST https://fragment-api.ydns.eu:8443/api/v1/stars/buy \
-H "Content-Type: application/json" \
-d '{
"username": "@username",
"amount": 50,
"seed": "BASE64_WALLET_SEED",
"fragment_cookies": "BASE64_FRAGMENT_COOKIES"
}'