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

6.1 KiB
Raw Blame History

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.