Домены
Свой домен — это адрес вроде example.com, который вы купили у регистратора и на котором сайт откроется вместо адреса платформы mysite.onpress.pro. Подключают его через один эндпоинт /sites/{id}/custom-domain: POST начинает подключение, GET показывает статус и DNS-записи, DELETE отключает домен.
AI-агенту хватает двух запросов: первый возвращает DNS-записи для регистратора, второй показывает, на каком шаге подключение. Сертификат платформа выпускает сама и сама переводит сайт на новый адрес, как только записи заработают.
Во всех примерах API — https://onpress.pro/api/v2, SITE — id сайта (SITE_ID), OP_TOKEN — токен op_XXXX. Полный перечень эндпоинтов — в справочнике API.
Подключить домен
В консоли. Откройте раздел «Домен» в консоли (/dashboard/), добавьте домен и пропишите у регистратора DNS-записи, которые покажет консоль. Сертификат выпустится сам, и сайт откроется по новому домену.
Через API. POST /sites/{id}/custom-domain начинает подключение и в ответе отдаёт DNS-записи, которые нужно прописать у регистратора. До конца подключения сайт работает на прежнем адресе. Например, подключить example.com:
curl -s -X POST "$API/sites/$SITE/custom-domain" \
-H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
-d '{"domain": "example.com"}'
Прописать DNS-записи
У регистратора заведите две A-записи на адрес из поля server_ip: для самого домена и для www. Нужны обе — сертификат выпускается на оба имени. Вместо A-записи для www подойдёт CNAME на основной домен. Например, для example.com:
| Тип | Имя | Значение |
|---|---|---|
| A | example.com | 31.128.47.177 |
| A | www.example.com | 31.128.47.177 |
Других A-записей и AAAA-записей (IPv6) у этих имён быть не должно, а если домен обслуживает Cloudflare, переключите записи в режим «DNS only». Иначе сертификат не выпустится.
Проверить статус
GET /sites/{id}/custom-domain показывает, на каком шаге подключение и что сейчас видно в DNS. Платформа проверяет записи раз в несколько минут, а запрос статуса запускает проверку сразу. Например:
curl -s "$API/sites/$SITE/custom-domain" -H "Authorization: Bearer $OP_TOKEN"
status | Что происходит |
|---|---|
pending_dns | платформа ждёт DNS-записи; что она видит сейчас — в dns.records[].found |
issuing_cert | записи на месте, выпускается сертификат |
switching | сайт переходит на https://example.com |
active | сайт работает на домене |
failed | подключение остановлено, причина — в error |
none | своего домена нет |
Когда записи заработали, до active обычно проходит одна-две минуты. После failed исправьте причину и отправьте тот же POST ещё раз.
Отключить домен
DELETE /sites/{id}/custom-domain возвращает сайт на адрес платформы, с которого он переехал, — он виден в поле previous_domain. Незавершённое подключение тот же запрос отменяет. Например:
curl -s -X DELETE "$API/sites/$SITE/custom-domain" -H "Authorization: Bearer $OP_TOKEN"
Статус сначала станет disconnecting, через минуту — none. DNS-записи у регистратора удалите сами.
Вопросы и ответы
Сколько ждать, пока заработают DNS-записи?
От нескольких минут до нескольких часов — это зависит от регистратора. Платформа ждёт записи 24 часа, потом статус станет failed. Тогда проверьте записи и отправьте POST ещё раз.
Можно ли подключить поддомен?
Да. Для shop.example.com нужны записи shop.example.com и www.shop.example.com.
Что будет с адресом mysite.onpress.pro?
После перехода сайт отвечает только на своём домене: mysite.onpress.pro его больше не открывает, а www.example.com и http://example.com ведут на https://example.com.
Почему не выпустился сертификат?
Чаще всего мешает AAAA-запись, прокси Cloudflare или лишняя A-запись на другой адрес. Ответ GET перечисляет такие помехи в dns.problems. Исправьте записи и отправьте POST ещё раз.
Можно ли сменить один свой домен на другой?
Да, отправьте POST с новым доменом. Сайт работает на прежнем домене, пока новый не станет active, затем прежний домен отключается.
Можно ли подключить домен в консоли?
Да, в разделе «Домен» консоли (/dashboard/). Консоль и API видят одно и то же подключение.
Где коды ошибок?
В справочнике API. Ответ с ошибкой сам называет причину.
Нужно ли менять ссылки в текстах после смены домена?
Нет, если ссылки и картинки записаны путями от корня, например /docs/: они работают на любом домене.