Машинный перевод
Эта страница была автоматически переведена ИИ и может содержать ошибки. Если что-то неясно, обращайтесь к английскому источнику.
Модель аутентификации¶
Эта страница представляет справочную область API — проверенную на практике запись частного веб-API Perplexity в проекте pplx_export. Аудитория: сопровождающие и пользователи этого проекта. Все конечные точки были проверены с помощью захвата сети WebBridge + прямых запросов с аутентификацией по cookie (2026-07). Любые изменения или дополнения к знаниям об API должны быть синхронизированы с этими страницами (явное требование пользователя). Последнее обновление: 2026-07-23
Справочная область разделена на: 1. Модель аутентификации (эта страница) · 2. GraphQL (постоянные запросы / APQ) · 3. REST-конечные точки (сгруппированы по назначению) · 4–5. Структура ответов и семантика ошибок · 6–8. Пункты TBD, обнаружение конечных точек и дорожная карта — для общего описания системы см. карту чтения архитектуры.
1. Модель аутентификации¶
1.1 Сессия на основе cookie¶
- Все запросы к API требуют только cookie сессии браузера (токен CSRF не требуется; как GET, так и POST проверены и работают через прямые запросы).
- Ключевая cookie:
__Secure-next-auth.session-token(токен сессии текущей активной учётной записи). - Cloudflare находится перед сервером:
cf_clearance/__cf_bmпривязаны к TLS-отпечатку браузера — простые запросы curl получают 403; инструмент работает с Python urllib + cookie, импортированными из браузера (UA замаскирован под настольный Chrome).
1.2 Мультиаккаунт (обнаружено 2026-07-20)¶
- Когда в один браузер выполнен вход с несколькими учётными записями, каждая учётная запись имеет свою собственную cookie
__Secure-pplx.session.<user_id>(домен www.perplexity.ai; значение обновляется с каждым ответом). - Значение
__Secure-next-auth.session-token= значение cookie активной учётной записи. - Переключение учётных записей в веб-интерфейсе = переход на
https://www.perplexity.ai/?pplx_account=<user_id>; сервер перезаписывает активный токен. - Автоматическое переключение на стороне инструмента (реализовано в pplx_export): перечисление cookie
__Secure-pplx.session.*браузера, замена__Secure-next-auth.session-tokenна каждую по очереди и проверка/api/auth/sessionдо совпадения целевого email. GET /api/auth/linked-accountsвозвращаетaccounts: [{user_id, email, display_name, subscription_tier, is_primary}], но возвращает полный список учётных записей только когда активна основная учётная запись (только текущую учётную запись, когда активна не основная) — поэтому инструмент на него не полагается.- Примеры зарегистрированных учётных записей (реальная таблица учётных записей находится в
config.tomlна уровне пользователя; здесь показаны заполнители): Aalice/ alice@example.com / uid00000000-0000-4000-8000-0000000000aa(Max); Bbob/ bob@example.com / uid00000000-0000-4000-8000-0000000000bb(Pro, основная).