6.1 KiB
Notion Business Trial — охота (проверено) + token_v2 пул/шлюз
Вердикт по Business trial
Cardless Business trial выдаётся server-side AB-бакетом Notion. Ни один клиентский механизм его не форсит. Если модалка Upgrade показывает «Payment method / $24/мес» — бакет закрыт, не жевать пути ниже повторно.
Мертвые пути (проверены, не повторять без нового сигнала)
- 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. - sessionStorage-seed
startupProgramData{partnerKey:'notion',trialCampaign:'12m_startup_business'} +startupProgramTimestampна обоих origins (www/app) — сервер игнорит. - Все chat-CTA («Get better answers from your apps», Add agents, AI Meeting Notes, Slides, Research) → одна карточная модалка. Кнопки «sources → add sources» из видео-метода нет.
- Settings → Notion AI / AI connectors / Upgrade plan — слова «trial» в DOM нет, план Free.
- US-резидентные socks-прокси (8 акков, Atlanta/Santa Ana/Irvine) — modal_has_trial false 8/8; медленные socks ещё и ломают онбординг (post_onboarding_url остаётся /signup, status registered-no-chat).
- 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
- Cookie
token_v2из state JSON. - POST https://www.notion.so/api/v3/getSpaces {} cookies={'token_v2':...} → recordMap; fallback POST /api/v3/loadUserContent.
- Из 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.