LanaChat

API: баланс, лицензии, выводы и счета

Чтение 7 минОбновлено Markdown

LanaChat оплачивается с одного предоплаченного баланса в долларах США: с него списываются лицензии (по одной на аккаунт Telegram, 30 дней) и комиссия с чистых продаж. Вы пополняете баланс криптовалютными депозитами. Партнёрские доходы можно выводить. Для каждого биллингового эндпоинта нужен owner токен: в примерах он хранится в $LANACHAT_TOKEN.

Endpoints #

MethodPathDescriptionPermissionStatus
GET/billing/balanceБаланс, чистые продажи за месяц и уровень комиссииownerPlanned
GET/billing/ledgerВсе движения: депозиты, лицензии, комиссия, возвратыownerPlanned
GET/billing/ledger.csvТот же журнал в CSV (from=, to=)ownerPlanned
GET/billing/deposit-addressesОдин адрес для депозита на каждую цепочку (с memo для Solana)ownerPlanned
GET/billing/depositsДепозиты и их подтвержденияownerPlanned
GET/billing/licencesЛицензии на складе и назначенные, с оставшимися днямиownerPlanned
POST/billing/licences/buyКупить лицензии: одну или пакетом 10, 25 или 50ownerPlanned
POST/billing/licences/assignНазначить лицензию из склада аккаунтуownerPlanned
POST/billing/licences/unassignВернуть лицензию на склад с оставшимися днямиownerPlanned
PATCH/billing/licences/auto-renewВключить или выключить автообновление для аккаунтаownerPlanned
GET/billing/withdrawalsВыводы партнёрских средств и их статусownerPlanned
POST/billing/withdrawalsЗапросить вывод партнёрских средств (от $500)ownerPlanned
GET/billing/invoicesЕжемесячные отчёты (year=)ownerPlanned
GET/billing/invoices/{id}.pdfОдин отчёт в PDFownerPlanned
PUT/billing/detailsНазвание компании, адрес и VAT в отчётахownerPlanned

Цены в одной таблице #

ЧтоЦена
Одна лицензия (один аккаунт Telegram, 30 дней)$19
Пакет из 10 лицензий$170
Пакет из 25 лицензий$375
Пакет из 50 лицензий$650
Комиссия до $30k чистых продаж в месяц12% с AI-продаж, 4% с ручных
Комиссия от $30k до $100k10% и 3%
Комиссия свыше $100k8% и 2%

Счётчик, это чистые продажи всего рабочего пространства за календарный месяц; сбрасывается 1-го числа. Telegram Stars считаются по $0.013 за штуку в чистых продажах.

Объект баланса #

{
  "balance_cents": 48210,
  "month": "2026-10",
  "net_sales_cents": 1870400,
  "tier": { "up_to_cents": 3000000, "ai_rate_bp": 1200, "manual_rate_bp": 300 },
  "licences": { "in_stock": 4, "assigned": 11, "expiring_7d": 2 },
  "low_balance": false
}
ПолеТипОписание
balance_centsintegerПредоплаченный баланс в центах США
monthstringУчтённый календарный месяц, YYYY-MM
net_sales_centsintegerЧистые продажи рабочего пространства за месяц
tierobjectТекущий уровень: потолок up_to_cents, ставка AI и ручная ставка в базисных пунктах
licencesobjectЛицензии на складе in_stock, назначенные assigned и заканчивающиеся в течение 7 дней (expiring_7d)
low_balancebooleantrue, если баланса не хватает на следующие 7 дней лицензий

Ставки в базисных пунктах: 1200, это 12%.

Объект записи журнала #

Каждая строка из Billing › Activity в Console.

{
  "id": "led_90211",
  "at": "2026-10-06T14:40:00Z",
  "kind": "licences",
  "label": "Licences · pack of 10",
  "amount_cents": -17000,
  "balance_after_cents": 31210
}
ПолеТипОписание
idstringЗапись
atstringISO 8601, UTC
kindstringdeposit, licences, commission, refund, affiliate или other
labelstringТекст записи, как в Console
amount_centsintegerПоложительное, приход денег, отрицательное, расход
balance_after_centsintegerБаланс после этой записи

Запись commission относится к одной продаже: Console показывает фаната, уровень, кто отправил оффер (AI или вручную), как считался нетто ("12,500 ★ × $0.013") и ставку.

Объект депозита #

{
  "id": "dep_4",
  "at": "2026-10-06T13:52:00Z",
  "chain": "usdt-tron",
  "sent_cents": 100000,
  "fee_cents": 1000,
  "credited_cents": 99000,
  "status": "pending",
  "confirmations": "12/19"
}
ПолеТипОписание
idstringДепозит
atstringВремя фиксации, ISO 8601
chainstringusdc-eth, usdc-sol, usdt-sol, usdt-tron или usdt-eth
sent_cents, fee_cents, credited_centsintegerОтправлено, комиссия, зачислено на баланс
statusstringpending, затем confirmed
confirmationsstringПодтверждения сети, пока в статусе pending

USDC на Ethereum зачисляется 1:1 без комиссии. На остальных цепочках комиссия 1%: депозит конвертируется в USDC (ERC20) при поступлении. Минимум для пополнения, $25.

Объект лицензии #

{
  "account_id": "acc_1001",
  "creator_id": "cr_lea",
  "days_left": 18,
  "expires_at": "2026-10-24T09:00:00Z",
  "auto_renew": true
}
ПолеТипОписание
account_idstringАккаунт Telegram, на котором действует лицензия
creator_idstringЕё автор
days_leftintegerОстаток дней из 30
expires_atstringДата окончания
auto_renewbooleanАвтообновление из склада (или покупка одиночной) при окончании

Лицензии на складе считаются, но не перечисляются поштучно: каждая хранит свой остаток дней (30 для новой).

Объект вывода #

{ "id": "wd_118", "status": "pending_review", "amount_cents": 50000, "requested_at": "2026-10-06T15:00:00Z", "tx_hash": null }
ПолеТипОписание
idstringВывод
statusstringpending_review, sent (с tx_hash) или rejected с причиной
amount_centsintegerЗапрошенная сумма, минимум 50000 ($500)
requested_atstringISO 8601, UTC
tx_hashstring или nullТранзакция после отправки

Объект счёта #

{
  "id": "LC-2026-09",
  "month": "2026-09",
  "licences_cents": 22800,
  "commission_cents": 930000,
  "total_cents": 952800,
  "status": "paid",
  "pdf_url": "https://api.lanachat.ai/v1/billing/invoices/LC-2026-09.pdf"
}
ПолеТипОписание
idstringНомер отчёта, LC-YYYY-MM
monthstringМесяц отчёта
licences_cents, commission_cents, total_centsintegerЛицензии, комиссия и итог за месяц
statusstringОплачен, в процессе (текущий месяц) или неудача
pdf_urlstringPDF отчёта

Баланс и журнал #

Получить баланс #

GET /billing/balance · owner

curl https://api.lanachat.ai/v1/billing/balance \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Ответ, объект баланса.

Список журнала #

GET /billing/ledger · owner

ПараметрТипОбязательныйОписание
from, tostringНетДаты YYYY-MM-DD, UTC, включительно
limit, cursornumber, stringНетПагинация
curl "https://api.lanachat.ai/v1/billing/ledger?from=2026-10-01&to=2026-10-06" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
{
  "data": [
    { "id": "led_90211", "at": "2026-10-06T14:40:00Z", "kind": "licences", "label": "Licences · pack of 10", "amount_cents": -17000, "balance_after_cents": 31210 },
    { "id": "led_90207", "at": "2026-10-06T13:20:00Z", "kind": "commission", "label": "Lea · Marco", "amount_cents": -468, "balance_after_cents": 48210 },
    { "id": "led_90150", "at": "2026-10-05T09:02:00Z", "kind": "deposit", "label": "Deposit · USDC on Ethereum", "amount_cents": 300000, "balance_after_cents": 48678 }
  ],
  "next_cursor": "eyJpZCI6ImxlZF85MDE0OSJ9"
}

Экспорт журнала в CSV #

GET /billing/ledger.csv · owner

ПараметрТипОбязательныйОписание
from, tostringНетДаты YYYY-MM-DD, UTC
curl "https://api.lanachat.ai/v1/billing/ledger.csv?from=2026-09-01&to=2026-09-30" \
  -H "Authorization: Bearer $LANACHAT_TOKEN" -o ledger-2026-09.csv

Те же строки, что и Export CSV в Billing › Activity, готовы для вашего бухгалтера.

Депозиты #

Получить адреса для депозитов #

GET /billing/deposit-addresses · owner

curl https://api.lanachat.ai/v1/billing/deposit-addresses \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Ответ содержит по одному адресу на каждую цепочку (Ethereum, Solana, Tron) и, для Solana, memo.

Внимание На Solana депозит без memo не может быть сопоставлен с вашим рабочим пространством. Всегда отправляйте и адрес, и memo.

Вы можете отправлять USDC на Ethereum (ERC20), USDC на Solana, USDT на Solana, USDT на Tron (TRC20) или USDT на Ethereum (ERC20). Комиссия сети оплачивается с вашего кошелька.

Список депозитов #

GET /billing/deposits · owner

curl https://api.lanachat.ai/v1/billing/deposits \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
{
  "data": [
    { "id": "dep_4", "at": "2026-10-06T13:52:00Z", "chain": "usdt-tron", "sent_cents": 100000, "fee_cents": 1000, "credited_cents": 99000, "status": "pending", "confirmations": "12/19" },
    { "id": "dep_3", "at": "2026-10-05T09:02:00Z", "chain": "usdc-eth", "sent_cents": 300000, "fee_cents": 0, "credited_cents": 300000, "status": "confirmed", "confirmations": null }
  ],
  "next_cursor": null
}

Баланс пополняется автоматически при статусе confirmed; это также строка deposit в журнале.

Лицензии #

Список лицензий #

GET /billing/licences · owner

curl https://api.lanachat.ai/v1/billing/licences \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Ответ содержит лицензии на складе и по одной лицензии на каждый назначенный аккаунт с оставшимися днями.

Купить лицензии #

POST /billing/licences/buy · owner

ПараметрТипОбязательныйОписание
packintegerДа1 (одиночная, $19), 10 ($170), 25 ($375) или 50 ($650)
qtyintegerДаКоличество таких пакетов
curl -X POST https://api.lanachat.ai/v1/billing/licences/buy \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"pack": 10, "qty": 1}'
{ "licences_added": 10, "amount_cents": 17000, "balance_cents": 31210, "ledger_id": "led_90211" }

Лицензии сразу идут на ваш склад. При недостаточном балансе возвращается 402 (insufficient_balance). Лицензии на складе не истекают, купленные лицензии не подлежат возврату.

Назначить лицензию #

POST /billing/licences/assign · owner

ПараметрТипОбязательныйОписание
account_idstringДаАккаунт Telegram, которому назначается лицензия
curl -X POST https://api.lanachat.ai/v1/billing/licences/assign \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"account_id": "acc_1001"}'

Ответ, объект лицензии аккаунта. Сначала используется лицензия со склада с наименьшим остатком дней: её оставшиеся дни или 30, если новая. Автообновление включено по умолчанию.

Вернуть лицензию #

POST /billing/licences/unassign · owner

ПараметрТипОбязательныйОписание
account_idstringДаАккаунт, который возвращает лицензию
curl -X POST https://api.lanachat.ai/v1/billing/licences/unassign \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"account_id": "acc_1001"}'

Лицензия возвращается на склад с оставшимися днями. AI сразу перестаёт отвечать на этом аккаунте. Чтобы перенести лицензию на другой аккаунт, сначала верните её, затем назначьте заново: она сохранит дни бесплатно.

Включить или выключить автообновление #

PATCH /billing/licences/auto-renew · owner

ПараметрТипОбязательныйОписание
account_idstringДаАккаунт
auto_renewbooleanДаtrue для обновления при окончании дней
curl -X PATCH https://api.lanachat.ai/v1/billing/licences/auto-renew \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"account_id": "acc_1001", "auto_renew": false}'

При окончании дней автообновление сначала берёт лицензию со склада или покупает одиночную ($19), если склад пуст. Покупка невозможна без баланса: следите за low_balance или webhook billing.low_balance webhook.

Партнёрские выводы #

Список выводов #

GET /billing/withdrawals · owner

curl https://api.lanachat.ai/v1/billing/withdrawals \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Список объектов вывода, сначала новые.

Запросить вывод #

POST /billing/withdrawals · owner

ПараметрТипОбязательныйОписание
amount_centsintegerДаНе менее 50000 ($500), не больше доступного к выводу
curl -X POST https://api.lanachat.ai/v1/billing/withdrawals \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"amount_cents": 50000}'
{ "id": "wd_118", "status": "pending_review", "amount_cents": 50000, "requested_at": "2026-10-06T15:00:00Z", "tx_hash": null }

Доходы отправляются в USDC на указанный кошелёк через 7 дней после окончания месяца. Выводить можно только партнёрские доходы, а не предоплаченный баланс. Запросы менее $500 отклоняются.

Отчёты #

Список отчётов #

GET /billing/invoices · owner

ПараметрТипОбязательныйОписание
yearintegerНетНапример, 2026
curl "https://api.lanachat.ai/v1/billing/invoices?year=2026" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Один объект счёта на месяц.

Скачать отчёт #

GET /billing/invoices/{id}.pdf · owner

curl https://api.lanachat.ai/v1/billing/invoices/LC-2026-09.pdf \
  -H "Authorization: Bearer $LANACHAT_TOKEN" -o LC-2026-09.pdf

Внимание Проверяйте свои отчёты. Ошибки в биллинге нужно сообщать в течение 60 дней с даты отчёта; после этого отчёт считается окончательным.

Установить данные для биллинга #

PUT /billing/details · owner

ПараметрТипОбязательныйОписание
companystringНетНазвание компании
emailstringНетE-mail для биллинга
address, city, postal, countrystringНетПочтовый адрес
vatstringНетVAT номер
curl -X PUT https://api.lanachat.ai/v1/billing/details \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"company": "Mia Agency Ltd", "email": "[email protected]", "address": "12 Market Street", "city": "Dublin", "postal": "D02 X285", "country": "IE", "vat": "IE1234567T"}'

Те же поля, что и в Billing › Billing details. Отчёты содержат эти данные. PUT заменяет все поля: пропущенные очищаются.

Последние новости о Lana в Telegram

Новые релизы и приглашения в бету, первыми в канале.