Сайты
Каждый сайт живёт на своём домене, у него есть свои страницы, данные и настройки. Вы можете создать сколько угодно сайтов и управлять ими в консоли (/dashboard/) или через API — эндпоинты /sites/{id}, где {id} — site_id или домен сайта.
Каждый новый сайт создаётся с демо-контентом: страницами, меню и оформлением, как на base-v2.onpress.pro. Его можно сразу менять под себя или очистить и начать с начала.
Во всех примерах API — https://onpress.pro/api/v2, SITE — id сайта (SITE_ID), OP_TOKEN — токен op_XXXX. Полный перечень эндпоинтов — в справочнике API.
Прочитать
GET /sites отдаёт список ваших сайтов с их site_id, доменами и названиями, а GET /sites/{id} — карточку одного сайта: site_id для адресов /site/$SITE/…, домен, языки, главную страницу и видимость для поисковиков. Например, карточка сайта по домену:
curl -s "$API/sites/example.com" -H "Authorization: Bearer $OP_TOKEN"
Создать сайт
Сайт можно создать двумя способами: в консоли или через API. В обоих случаях сначала выбирают тариф, а сайт появляется после оплаты.
В консоли. Зарегистрируйтесь на onpress.pro, откройте «Настройки → Оплата → Тарифы» (/dashboard/settings/billing/plans), выберите тариф и оплатите. Сайт появится в списке ваших сайтов с демо-контентом.
Через API. Узнайте код тарифа в GET /sites/plans и отправьте POST /sites с адресом сайта и тарифом. Если тариф платный, API ответит 402 со ссылкой на оплату payment_url: откройте её в браузере и оплатите — сайт создастся сам за минуту. Статус заказа показывает GET /sites/orders/{order_id}: после оплаты в нём появится site_id нового сайта. Например, сайт mysite.onpress.pro:
curl -s -X POST "$API/sites" \
-H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
-d '{"name": "mysite", "title": "Мой сайт", "plan": "simple"}'
Чтобы начать с пустого сайта, добавьте "empty": true, а чтобы закрыть сайт от поисковиков до запуска — "public": false.
Закрыть сайт
Закрытый сайт остаётся на месте, но посетители видят заглушку, а поисковики его не индексируют. Вы, войдя в консоль, видите сайт как обычно. Это удобно, пока сайт готовится к запуску.
В консоли. Откройте раздел «SEO» в консоли (/dashboard/) и нажмите «Закрыть сайт». Открыть его обратно можно там же.
Через API. Запишите true в PUT /data/settings/closed, а чтобы открыть сайт — false. Например:
curl -s -X PUT "$API/site/$SITE/data/settings/closed" \
-H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
-d '{"value": true}'
Удалить сайт
DELETE /sites/{id} убирает сайт в корзину: посетители и поисковики его больше не видят, а страницы, файлы и настройки остаются. Сайты в корзине показывает GET /sites?status=trash, вернуть сайт можно через POST /sites/{id}/restore. Например, удалить сайт 247:
curl -s -X DELETE "$API/sites/247" -H "Authorization: Bearer $OP_TOKEN"
Удалить сайт навсегда, без возможности вернуть, можно с "mode": "purge" — подробно в справочнике API.
Вопросы и ответы
Где взять site_id сайта?
В списке GET /sites или в карточке сайта: GET /sites/{id} принимает домен, поэтому достаточно знать адрес сайта.
Можно ли создать сайт без демо-контента?
Да, с "empty": true в POST /sites: сайт получит оформление, но без демо-страниц, меню и данных.
Можно ли повторить запрос, если он оборвался?
Да. Повтор смены домена доводит прерванный перенос, а повтор создания с тем же name отвечает 409 site_exists с номером уже созданного сайта.
Где коды ошибок?
В справочнике API. Ответ с ошибкой сам называет причину.