Files
autoreg-skills-max/skills/ai-provider-autoreg/references/notion-business-trial-and-token-pool.md

47 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Notion Business Trial — охота (проверено) + token_v2 пул/шлюз
## Вердикт по Business trial
Cardless Business trial выдаётся server-side AB-бакетом Notion. Ни один клиентский механизм его не форсит. Если модалка Upgrade показывает «Payment method / $24/мес» — бакет закрыт, не жевать пути ниже повторно.
### Мертвые пути (проверены, не повторять без нового сигнала)
1. Campaign URL `/signup/<name>?trialCampaign=<name>` — роутер принимает в path только `perfmark` (Plus-триал, не Business); остальные кампании игнорит. Кампании из бандла app.js: business_reverse_14d, stacked_business_trial, custom_agents_business_reverse_1m, business_reverse_1m_startup; trialCampaign-значения 12m/3m/6m_startup_business.
2. sessionStorage-seed `startupProgramData` {partnerKey:'notion',trialCampaign:'12m_startup_business'} + `startupProgramTimestamp` на обоих origins (www/app) — сервер игнорит.
3. Все chat-CTA («Get better answers from your apps», Add agents, AI Meeting Notes, Slides, Research) → одна карточная модалка. Кнопки «sources → add sources» из видео-метода нет.
4. Settings → Notion AI / AI connectors / Upgrade plan — слова «trial» в DOM нет, план Free.
5. US-резидентные socks-прокси (8 акков, Atlanta/Santa Ana/Irvine) — modal_has_trial false 8/8; медленные socks ещё и ломают онбординг (post_onboarding_url остаётся /signup, status registered-no-chat).
6. Terms checkbox + Upgrade без карты → «Your payment could not be processed».
### Маркеры trial-гейта в бандле
app.js строки: `trialUpsell`, `trialCampaign`, `trialName`, `notionPostBusinessTrialOfferTerms`, `startBusinessTrialUpgraderUnboxing`, модуль 11661 (startupProgramData). Pricing notion.com/pricing: «Limited Trial / Trial of Notion AI» — триал существует, но гейтится сервером.
### Ловля бакета
- `farm_trial.py` (в C:/Users/User/tmp/notion_autoreg) = farm.py + шаг 4.5 TRIAL WINDOW после онбординга: ищет sources/add sources + trial-слова, пишет trial_window.{chat_has_trial_word,modal_has_trial,sources_click} в farm_trial_accounts.jsonl. Питфолл онбординга: клик по тексту use-case карточки не активирует Continue — кликать контейнер через JS.
- Cron notion-trial-wave (04:00 Kyiv): волна 10 акков, алерт при modal_has_trial:true.
- Итог 40+ RESULT / 160+ замеров: все false.
### Единственный реальный путь к Business
Notion = Stripe production (pk_live_) → Luhn-ген-карты (namso и т.п.) отклоняются 100%. Нужна реальная виртуалка без KYC: kliencard.com (крипта→VCC), Business $24/мес, холд на триале $0. Требует крипты от Влада — уточнить сумму до запуска.
### Что даёт free-план
Opus 5.5 / GPT-6.1 Sol работают в /chat на free-акках без триала (model_active: Opus). Если цель — бесплатный Opus-чат, бизнес-триал не нужен.
### Прочее по доменам
- temp.tf high.edu.pl: проходил раньше, позже Notion реджектит на шаге email («There was a problem signing up»); /api/account с providers-фильтром даёт {"email":null}, только без параметров возвращает high.edu.pl. Домен-блок может быть временным — перепроверять.
- Socks через Playwright: часть прокси делает SSL-intercept → ERR_CERT_AUTHORITY_INVALID; лечится ignore_https_errors=True в new_context. Живость прокси проверять page.goto на http://ip-api.com/json (page.evaluate fetch падает даже на живом прокси).
## Token_v2 пул + OpenAI-compat шлюз (notion2api)
Цель: storage_state фермы → пул для notion2api (maverickxone/notion2api, FastAPI, OpenAI-compat chat). Развёрнут в C:/Users/User/tmp/notion_gateway (.env PORT=3000, WORKERS=3). Конфиг: accounts.json в КОРНЕ репо (app/config.py: accounts.json > NOTION_ACCOUNTS). Формат записи: profile_name, token_v2, space_id, user_id, space_view_id. Статус: задеплоен, end-to-end чат-тест НЕ пройден — перед публикацией репы прогнать живой /v1/chat/completions.
### Экстракция token_v2
1. Cookie `token_v2` из state JSON.
2. POST https://www.notion.so/api/v3/getSpaces {} cookies={'token_v2':...} → recordMap; fallback POST /api/v3/loadUserContent.
3. Из notion_user: id/email/name; space: id/plan_type; space_view: id по space_id.
### Критичные питфолы парсинга (проверено)
- Endpoint ТОЛЬКО www.notion.so — www.notion.com/api/v3/getSpaces = 404.
- Записи обёрнуты ДВАЖДЫ: {"value":{"value":{...поля...},"role":"editor"}} — разворачивать value два раза, иначе все акки «no user/space».
- Rate-limit проявляется НЕ только 429: getSpaces отдаёт 200 с тонким телом ~759 байт без notion_user. Детект: len(body)<1000 → бэкофф ≥120с и ретрай; интервал между акками ≥25с (быстрые прогоны выжигают лимит в серию тонких ответов).
- httpx: trust_env=False, браузерный UA.
- Живость state без браузера: getSpaces 200 + непустой notion_user = токен жив (дешевле Playwright).
- Билдер: C:/Users/User/tmp/notion_pool/build_pool.py → accounts.json.