Дашборд и вход
Дашборд — https://onpress.pro/dashboard/. Это панель над тем же API v2: всё, что вы видите и меняете в ней, делается теми же ручками, что описаны в этой документации. Агенту дашборд не нужен; человеку — чтобы видеть состояние сайта и выпустить токен.
Вход
Два способа: почта с паролем или Google. Вход идёт через Firebase; пароля WordPress и входа по op_-токену в дашборде нет.
Войти может только тот, кто уже есть в сети или приглашён на сайт. Почта должна быть подтверждена в Firebase. Незнакомая почта — отказ «пользователь не найден»: попросите администратора сайта добавить вас (пользователи сайта). Приглашение закрывается при первом входе, и вы сразу становитесь администратором пригласивших сайтов.
«Забыли пароль» присылает ссылку для смены пароля; на несуществующий адрес ответ такой же, как на существующий. Привязать Google к учётной записи и отправить ссылку для смены пароля можно в «Настройки» → «Безопасность».
Разделы
Левое меню, три группы. Разделы кроме «Сайтов» работают с текущим сайтом — он выбирается переключателем в шапке.
| Раздел | Что там |
|---|---|
| Контент | |
| Сайты | все ваши сайты таблицей: поиск и показы, посещаемость, скорость, визиты ботов, теги; отсюда выбирается сайт для остальных разделов |
| Страницы | дерево страниц сайта: заголовки, SEO-поля, фрейм, языки; виды-наборы колонок; клик по строке открывает панель правки полей страницы с телом в markdown |
| Медиа | медиатека: загрузка и пакетное удаление |
| Сборка | |
| Фреймы | фреймы сайта и разметка каждого |
| Данные | наборы данных и системные источники с содержимым; здесь же адрес ручек сайта с site_id |
| SEO | настройки SEO сайта и обход страниц со списком того, чего не хватает |
| Аналитика | подключение Метрики, Вебмастера, GA4 и Search Console |
| Стили | собственный CSS сайта и его куски |
| Администрирование | |
| Пользователи | администраторы сайта и приглашения по почте |
| Домен | мастер подключения своего домена: DNS, SSL, применение |
Настройки учётной записи — меню пользователя → «Настройки» (/dashboard/settings/): «Профиль» (имя, почта, язык интерфейса), «Безопасность» (способы входа, смена пароля, выход на всех устройствах), «API-ключи» (личный токен API: выпустить, выпустить заново, отозвать; пароли приложений WordPress), «Подписка» (тариф и оплата).
Язык интерфейса — русский или английский — хранится в учётной записи (dashboard_lang в /me); не выбран — угадывается по браузеру.
Токен API в дашборде
«Настройки» → «API-ключи» → «Токен API»: «Выпустить токен» или «Выпустить заново». Токен показывается один раз — скопируйте сразу. Там же «Отзыв токена». Перевыпуск и отзыв сразу отключают старый токен у всех скриптов и агентов, которые им пользуются; сессию дашборда они не трогают — дашборд живёт на своей куке.
Как дашборд разговаривает с API
Для агентов это знать не нужно, но полезно, чтобы понимать ответы ручек.
Сессия. После входа ID-токен Firebase обменивается на сессию: POST /api/v2/auth/session. Сессия — две httpOnly-куки: короткая (15 минут) для запросов и долгая (30 дней) для продления, которое меняет секрет при каждом обновлении. Все ручки API принимают эту куку наравне с op_-токеном; запрос с кукой обязан прийти с адреса дашборда (иначе 403 cross_origin). Выход — POST /api/v2/auth/logout, выход на всех устройствах — /auth/logout-all, состояние сессии — GET /api/v2/auth/me.
Билет для первой версии API. Часть разделов читает ручки первой версии (/wp-json/onpress/v1/…) на домене самого сайта, куда кука дашборда не доезжает. Для таких запросов дашборд берёт одноразовый билет POST /api/v2/auth/ticket на две минуты и на один сайт. С op_-токеном билет не нужен и не выдаётся (401 no_session): первая версия API принимает токен напрямую.
Подробно ручки входа — в справочнике.
Если что-то не так
- «Пользователь не найден» при входе — вашей почты нет в сети и приглашений на неё нет. Нужен администратор сайта.
- «Почта не подтверждена» — откройте письмо Firebase и перейдите по ссылке.
- Раздел пуст или не грузится — проверьте текущий сайт в переключателе: разделы показывают один сайт.
- Видно «Доступна новая версия» — дашборд обновился, пока вкладка была открыта; перезагрузите страницу.