API-пайплайн: купить план Pro до 10 проектов
Цель: купить план Pro (помесячный, годовой или пожизненный), который делает Pro до 10 ваших проектов, подключать и освобождать проекты, отключать автопродление.
Шаги
1. Предложение и состояние.
GET /v0/my/plan
→ {"active": false, "auto_renew": false, "projects": [], "slots": 10, "seats_total": 18, "seats_left": …,
"project_usd": "18.00",
"prices": [{"kind": "monthly", "usd": "81.00"}, {"kind": "yearly", "usd": "818.18"}, {"kind": "lifetime", "usd": "999.00"}]}
Цены выше — на 2026-10-15; берите их из этого вызова. lifetime — ограниченное бета-предложение (seats_left).
2. Цена с купоном (по желанию). GET /v0/my/coupons/quote?coupon=<clip>&target=yearly → list_usd, discount_usd, charged_usd, enough. API-пайплайн: применить купон
3. Покупка.
POST /v0/my/plan
{"kind": "monthly"} (optional "coupon": "<clip>")
→ {"active": true, "kind": "monthly", "until": "2026-11-15T10:00:00Z", "auto_renew": true, "projects": [], …,
"list_usd": 81.0, "discount_usd": 0.0, "charged_usd": 81.0}
Повторная покупка при активном помесячном или годовом плане добавляет его срок после текущего until (так же можно перейти между помесячным и годовым). У пожизненного плана нет окончания.
4. Подключить проект. POST /v0/my/plan/projects/<project> → проект, теперь Pro через план.
5. Освободить проект. DELETE /v0/my/plan/projects/<project> → проект, теперь Free; его кампании и оракулы останавливаются.
6. Отключить автопродление. DELETE /v0/my/plan → "auto_renew": false; план действует до until.
Что происходит за кадром
- Продление в момент
untilс баланса, пока включёнauto_renew. - Не хватает баланса при продлении: план истекает, кампании и оракулы его проектов останавливаются, и @CabiChatBot сообщает вам об этом.
Правила
kind:monthly,yearlyилиlifetime; иначе 400.- Недостаточно средств → 400
insufficient funds: <price> USDT required for the <kind> plan; мест нет → 400no founding seats left; пожизненный план уже есть → 400a lifetime plan is already active. - Подключение: нет активного плана → 400
no active plan; занято 10 → 400all plan slots are used. Освобождение проекта, который не на плане → 400project is not on a plan slot. - Если есть свободный слот, покупка Pro для отдельного проекта отклоняется: используйте слот. API-пайплайн: подключить Pro для проекта
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
GET /v0/my/plan |
Предложение и состояние | да | да |
POST /v0/my/plan |
Купить или продлить | да | да |
DELETE /v0/my/plan |
Отключить автопродление | да | да |
POST /v0/my/plan/projects/{nonce} |
Занять слот | да | да |
DELETE /v0/my/plan/projects/{nonce} |
Освободить слот | да | да |
Индекс: API-пайплайны — индекс