# Notion Business Trial — охота (проверено) + token_v2 пул/шлюз ## Вердикт по Business trial Cardless Business trial выдаётся server-side AB-бакетом Notion. Ни один клиентский механизм его не форсит. Если модалка Upgrade показывает «Payment method / $24/мес» — бакет закрыт, не жевать пути ниже повторно. ### Мертвые пути (проверены, не повторять без нового сигнала) 1. Campaign URL `/signup/?trialCampaign=` — роутер принимает в 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.