Используемые параметры
- {appkey} - ключ API, полученный в поддержке.
- {login} - логин аккаунта, с которым производятся действия.
- {token} - токен, полученный при авторизации.
- {domain} - домен, с которым выполняются действия; всегда вида domain.ru.
- {subdomain} - поддомен, с которым выполняются действия; всегда вида subdomain.
- {idrecords} - ID ресурсной записи (берется из метода получения ресурсных записей для домена).
Доступные операции
Статус аккаунта
GET /v1.1/accounts/{login}/status
Шаблон запроса:
curl -X GET "https://api.timeweb.ru/v1.1/accounts/{login}/status" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Пример ответа:
"autopay_cardinfo": "", "autopay_cardowner": "", "autopay_last": "0000-00-00 00:00:00+03:00", "balance": 54.45901489, "blocked": false, "country": "ru", "cp_login_date": "2018-02-20T16:16:32Z", "cp_theme": "default", "cron_mailto": "", "customer_id": "cn9632", "days_left": 16.609999541449998, "dedic_order_stage": null, "invoice_auto_creation": false, "last_password_changed": "2020-02-04T13:43:03Z", "mail_auto_limit": false, "mysql_password": "8Lxx75335awK", "mysql_super_access": true, "new_panel": true, "next_plan_id": null, "order_plan_id": 917, "password_expired": false, "permanent_block": false, "personal_manager": "", "plan_expires_date": "2020-05-31T15:28:33Z", "plan_id": 20, "recv_invoice_copy": true, "sms_auth": false, "ssh": true, "want_bill_letters": "U", "ym_client_id": null
Сведения о финансах и оплате
GET /v1.1/finances/accounts/{login}
Шаблон запроса
curl -X GET "https://api.timeweb.ru/v1.1/finances/accounts/{login}" -H "accept: application/json" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Пример ответа
"available_balance": 54.45901489, "balance": 54.45901489, "currency": "RUB", "discount_end_date": "", "discount_percent": 0, "hourly_cost": 0.1366120218579235, "hourly_fee": 0.1366120218579235, "monthly_cost": 100, "monthly_fee": 100, "total_paid": 160
Информация о сайтах на аккаунте
GET /v1.1/sites/{login}
Шаблон запроса
curl -X GET "https://api.timeweb.ru/v1.1/sites/{login}" -H "accept: application/json" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Пример ответа
"customer_id": "cn9632", "db_created": false, "directory": "oip", "domains": [ "cn9632.tmweb.ru" ], "encoding": "UTF-8", "http2": false, "id": 2807457, "infected": false, "php_version": "5.6", "python_version": "2.7", "redirect": null, "site_caption": ""
Информация о базах данных
GET /v1.2/databases/{login}/mysql/
Шаблон запроса
curl -X GET "https://api.timeweb.ru/v1.2/databases/{login}/mysql/" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Создание нового сайта
POST /v1.1/sites/{login}
Шаблон запроса
curl -X POST "https://api.timeweb.ru/v1.1/sites/{login}" -H "accept: application/json" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}" -H "Content-Type: application/json" -d "{\"site_caption\":\"имя_директории_сайта\", \"directory\":\"имя_директории_сайта\"}"
Параметры site_caption
и directory
совпадают и указывают на имя директории, в которой будут размещены файлы сайта.
Добавление домена в панель
POST /v1/accounts/{login}/domains/{domain}/nameserver
Шаблон запроса
curl -X POST "https://api.timeweb.ru/v1/accounts/{login}/domains/{domain}/nameserver" -H "accept: application/json" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Добавление поддомена в панель
POST /v1.1/accounts/{login}/domains/{domain}/subdomains/{subdomain}
Шаблон запроса
curl -X POST "https://api.timeweb.ru/v1.1/accounts/{login}/domains/{domain}/subdomains/{subdomain}" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Получение ID персоны администратора домена
GET /v3/accounts/{login}/persons
Шаблон запроса
curl -X GET "https://api.timeweb.ru/v3/accounts/{login}/persons" -H "accept: application/json" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Пример ответа
"address": "Россия, Санкт-Петербург, ул.Заставская дом 22 А", "birthdate": "1990-01-01", "country_code": "", "document_id": "1234", "email": "mail@example.ru", "fax": "", "id": 123456, "is_closed": false, "name_eng": "Ivanov Ivan Ivanovich", "name_rus": "Иванов Иван Иванович", "passport_date": "2010-01-01", "passport_number": "567890", "passport_place": "ТП N123 ОУФМС России по СПб и Лен. обл", "passport_series": "1234", "phone": "+7 (999) 123-45-67", "postcode": "196006", "resident": "Y", "type": "person"
Создание заявки на регистрацию домена
POST /v1.1/domains/request
Шаблон запроса
curl -X POST "https://api.timeweb.ru/v1.1/domains/request" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}" -H "Content-Type: application/json" -d "{\"action\":\"register\", \"autoprolong\":false, \"fqdn\":\"{domain}\", \"person_id\":1, \"whois_privacy\":false}"
Параметры:
- autoprolong - включение опции автопродления, true / false.
- fqdn - домен, который вы хотите зарегистрировать.
- person_id - ID администратора домена, на чьи данные будет зарегистрирован домен (ID можно получить из запроса выше).
- whois_privacy - включение опции скрытия данных администратора домена, true / false.
Пример ответа
"auth_code": null, "autoprolong": false, "customer_id": "cn9632", "date": "yyyy-mm-dd hh:mm:ss+hh:mm", "domain_bundle_id": null, "error_code": null, "fqdn": "domain.ru", "id": 123456, "message": null, "pay_type": null, "person_id": 1, "type": "request", "whois_privacy": "N"
ID заявки, полученный в данном запросе (например: "id": 123456
), используется в запросе на оплату регистрации (метод ниже).
Оплата регистрации с баланса аккаунта
PUT /v1.1/domains/request/{id}
Шаблон запроса
curl -X PUT "https://api.timeweb.ru/v1.1/domains/request/{id}" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}" -H "Content-Type: application/json" -d "{\"person_id\":1, \"auth_code\":\"abcdefghij\", \"money_source\":\"use\"}"
Параметры:
- id - ID заявки на регистрацию, берется из запроса выше.
- person_id - ID администратора домена, на чьи данные будет зарегистрирован домен.
Параметр money_source определяет способ оплаты: при указании use заявка будет оплачена с баланса аккаунта.
Добавление ресурсной записи для домена
POST /v1.2/accounts/{login}/domains/{domain}/user-records/
Шаблон запроса
curl -X POST "https://api.timeweb.ru/v1.2/accounts/{login}/domains/{domain}/user-records/" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}" -H "Content-Type: application/json" -d "{\"data\": {\"host\":\"mail.server.com\", \"port\":443, \"priority\":10, \"protocol\":\"_TCP\", \"service\":\"_sip\"}, \"type\":\"SRV\"}"
Параметры port, priority, protocol, service
могут быть удалены из запроса, если не требуются.
Получение ресурсных записей домена
GET /v1.2/accounts/{login}/domains/{domain}/user-records
Шаблон запроса
curl -X GET "https://api.timeweb.ru/v1.2/accounts/{login}/domains/{domain}/user-records" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
Пример ответа
{ "data": { "subdomain": "test", "value": "v=spf1 ip4:176.57.223.0/24 ip4:92.53.116.0/22 ip6:2a03:6f00::/32 ~all" }, "id": 29044587, "type": "TXT" }, { "data": { "value": "193.164.150.42" }, "id": 29044532, "type": "A" }, { "data": { "priority": 20, "value": "mx2.timeweb.ru" }, "id": 29044498, "type": "MX" }, { "data": { "priority": 10, "value": "mx1.timeweb.ru" }, "id": 29044497, "type": "MX" }, { "data": { "subdomain": null, "value": "v=spf1 ip4:176.57.223.0/24 ip4:92.53.116.0/22 ip6:2a03:6f00::/32 ~all" }, "id": 29044494, "type": "TXT" }
ID ресурсной записи, полученный в данном запросе (например: "id": 29044494
), используется для удаления записей.
Удаление ресурсной записи
DELETE /v1.2/accounts/{login}/domains/{domain}/user-records/{idrecords}/
Шаблон запроса
curl -X DELETE "https://api.timeweb.ru/v1.2/accounts/{login}/domains/{domain}/user-records/{idrecords}/" -H "accept: */*" -H "x-app-key: {appkey}" -H "Authorization: Bearer {token}"
ID записи (параметр idrecords
) можно получить из метода выше.