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, и баланс зачисляется без каких-либо вызовов с вашей стороны.

  1. Сначала нужен аккаунт Cabi.Chat и вход через Telegram: API-пайплайн: вход в Cabi.Chat через Telegram
  2. В Telegram откройте https://t.me/CabiChatBot и отправьте /deposit.
  3. Выберите пакет; в счёте видно, сколько он добавит к балансу. Оплатите его в Stars.
  4. Бот подтверждает зачисленную сумму и новый баланс. Через 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"}

Баланс и транзакции (любой способ)

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.

Что происходит за кадром

Правила

Поверхность 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-пайплайны — индекс

Упомянуто