API-пайплайн: пополнение баланса через Telegram Stars, TON, USDT в сети TON или BTC
Цель: пополнить баланс Cabi.Chat через Telegram Stars (в боте Cabi.Chat) или в криптовалюте (TON, USDT в сети TON или BTC) и посмотреть свои транзакции. Баланс ведётся в USDT; с него оплачиваются Pro и планы, а расход на ИИ показан в разделе о расходах на ИИ: API-пайплайн: ваши расходы на ИИ
Telegram Stars: в боте, не через API
Самый простой способ для тех, кто пользуется Telegram. Вызова API для пополнения через Stars нет: оплата проходит в Telegram, и баланс зачисляется без каких-либо вызовов с вашей стороны.
- Сначала нужен аккаунт Cabi.Chat и вход через Telegram: API-пайплайн: вход в Cabi.Chat через Telegram
- В Telegram откройте https://t.me/CabiChatBot и отправьте /deposit.
- Выберите пакет; в счёте видно, сколько он добавит к балансу. Оплатите его в Stars.
- Бот подтверждает зачисленную сумму и новый баланс. Через API это видно в балансе (шаг 5) и как пополнение в транзакциях (шаг 6).
Криптовалюта: TON, USDT в сети TON или BTC
1. Ваши адреса для пополнения.
GET /v0/my/funds/wallets
→ {"ton": {"chain": "ton", "address": "UQExampleTonAddress…", "link": "<payment link>", "qr": "data:image/png;base64,…"},
"btc": {"chain": "btc", "address": "bc1qexampleaddress…", "link": "<payment link>", "qr": "data:image/png;base64,…"}}
Ваш TON-адрес принимает и TON, и USDT в сети TON. В первый раз: откройте https://t.me/CabiChatBot и отправьте /start; после этого появятся ваши адреса.
2. Курсы (по желанию). GET /v0/my/funds/crypto-prices → {"ton": 3.1, "btc": 61000.0, "usdt": 1.0} (USD).
3. Отправьте TON или USDT на свой TON-адрес либо BTC на свой BTC-адрес из любого кошелька. USDT отправляйте только через сеть TON.
4. Зачислите. TON и USDT в сети TON проверяются одним вызовом ton:
POST /v0/my/funds/sync-deposit/ton
→ {"deposit_detected": true, "credited_count": 2, "credited_amount": "10", "credited_usd": "56.00",
"usdt_amount": "25", "usdt_ok": true, "network": "TON"}
credited_amount: зачислено TON;usdt_amount: зачислено USDT;credited_usd: всё вместе, в USDT.deposit_detected: false= пока ничего нового; повторите позже.usdt_ok: false= USDT в этот раз проверить не удалось (TON проверен); повторите позже.- BTC:
POST /v0/my/funds/sync-deposit/btc.
Баланс и транзакции (любой способ)
5. Баланс. GET /v0/my/funds/check-balance → {"balance": "56.00", "currency": "USDT"}.
6. Транзакции. GET /v0/my/funds/transactions?limit=20&offset=0 → {"transactions": [{"nonce", "created_at", "transaction_type", "amount", "currency", "status", "description"}], "total"}; type= фильтрует по transaction_type.
Что происходит за кадром
- Синхронизация ищет новые поступления на ваш адрес и зачисляет каждое один раз; повторные вызовы никогда не зачисляют дважды.
- TON и BTC пересчитываются в USDT по текущему курсу; USDT зачисляется 1:1.
- Зачисляется только USDT, выпущенный Tether; другие токены, отправленные на ваш TON-адрес, не зачисляются.
- Поступление BTC зачисляется после достаточного числа подтверждений сети: синхронизируйте позже ещё раз.
- Оплата в Stars зачисляется один раз, в USDT, сразу после подтверждения от Telegram.
Правила
network:tonилиbtc; иначе → 400network must be ton | btc. USDT в сети TON — черезton.- Проверка той же сети ещё идёт или только что прошла → 429: подождите немного и повторите.
- Проверка сети временно недоступна → 400: повторите позже.
- Telegram Stars: эндпоинта нет; пополнение через /deposit в https://t.me/CabiChatBot.
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
GET /v0/my/funds/wallets |
Адреса для пополнения + QR | да | да |
GET /v0/my/funds/crypto-prices |
Курсы | нет | да |
POST /v0/my/funds/sync-deposit/{network} |
Зачислить новые поступления | да | да |
GET /v0/my/funds/check-balance |
Баланс | да | да |
GET /v0/my/funds/transactions |
История операций | да | да |
Индекс: API-пайплайны — индекс