pdns.php¶
В этой статье
API для управления DNS-записями, доменами и поддоменами в системе PowerDNS.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add_dns | add_dns | |
add_domain | добавление домена | Регистрирует новый домен в системе. |
add_subdomain | add_subdomain | |
delete_dns | удаление DNS-записи | Удаляет существующую DNS-запись. |
delete_domain | удаление домена | Удаляет домен из системы. |
delete_subdomain | удаление поддомена | Удаляет поддомен. |
edit_subdomain | edit_subdomain | |
get_cb_url | получение URL callback | Возвращает URL для вызова callback-функции. |
list_domains | list_domains | |
list_subdomains | list_subdomains | |
list_zones | list_zones | |
view_zone | просмотр зоны | Возвращает информацию о DNS-зоне, включая её локацию и имя. |
pdns/add_dns¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_dns |
| token | ✅ | string | Токен авторизации |
| params[zone] | ✅ | string | FQDN домена (зона), в которой создается запись. |
| params[name] | ❌ | string | Имя записи. Если пусто или '@', записывается для корня зоны. |
| params[type] | ✅ | string | Тип DNS-записи. Допустимые значения: A, AAAA, CNAME, NS, MX, SOA, DKIM, SPF, SRV, TXT. |
| params[content] | ✅ | array | Содержимое записи. Для типов A, AAAA, NS — массив IP/FQDN. Для TXT, SPF, DKIM — строка. |
| params[ttl] | ❌ | integer | Время жизни записи (TTL). По умолчанию 3600. |
| params[changetype] | ❌ | string | Тип действия. |
| params[pdns_loc] | ❌ | string | Локация PowerDNS. |
| params[original_content] | ❌ | string | Исходное содержимое записи (для TXT при обновлении). |
| params[increase_soa_serial] | ❌ | boolean | Флаг увеличения серийного номера SOA. |
| params[mname] | ❌ | string | Master name для SOA. |
| params[rname] | ❌ | string | Responsible email для SOA. |
| params[serial] | ❌ | integer | Серийный номер зоны (SOA). |
| params[refresh] | ❌ | integer | Refresh interval (SOA). |
| params[retry] | ❌ | integer | Retry interval (SOA). |
| params[expire] | ❌ | integer | Expire interval (SOA). |
| params[minimum] | ❌ | integer | Minimum TTL (SOA). |
| params[priority] | ❌ | integer | Приоритет для MX. |
| params[proto] | ❌ | string | Протокол для SRV. |
| params[weight] | ❌ | integer | Вес для SRV. |
| params[port] | ❌ | integer | Порт для SRV. |
| params[target] | ❌ | string | Целевой хост для SRV. |
| params[update] | ❌ | boolean | Флаг обновления существующей записи. |
Пример запроса
pdns/add_domain¶
Регистрирует новый домен в системе.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_domain |
| token | ✅ | string | Токен авторизации |
| params[name] | ✅ | string | Имя домена. Валидный FQDN. |
| params[pdns_loc] | ❌ | string | Местоположение DNS-зоны (RU или COM). По умолчанию COM. |
Пример запроса
Пример успешного ответа
pdns/add_subdomain¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_subdomain |
| token | ✅ | string | Токен авторизации |
| params[domain_id] | ✅ | integer | ID родительского домена |
| params[name] | ✅ | string | FQDN имя создаваемого поддомена |
| params[server_id] | ❌ | integer | null. ID сервера для размещения зоны |
Пример запроса
Пример успешного ответа
pdns/delete_dns¶
Удаляет существующую DNS-запись.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_dns |
| token | ✅ | string | Токен авторизации |
| params[zone] | ✅ | string | FQDN домена (зона), для которого удаляется запись |
| params[type] | ✅ | string | Тип DNS-записи. Допустимые значения: TXT, SPF, DKIM, MX. |
| params[name] | ❌ | string | Имя записи (subdomain). Если пустое, удаляется запись для корня зоны (@) |
| params[pdns_loc] | ❌ | string | Локация DNS-сервера. Допустимые значения: RU, COM (по умолчанию) |
| params[original_content] | ❌ | string | Исходное содержимое записи для типа DKIM или SPF |
| params[priority] | ✅ | integer | Приоритет записи (обязательно для типа MX) |
Пример запроса
pdns/delete_domain¶
Удаляет домен из системы.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_domain |
| token | ✅ | string | Токен авторизации |
| params[customer_id] | ✅ | integer | Идентификатор клиента |
| params[id] | ✅ | integer | ID DNS зоны для удаления |
| params[zone] | ✅ | string | FQDN имя домена (преобразуется в ASCII) |
| params[pdns_loc] | ❌ | string | Локатор DNS-сервера (по умолчанию COM). Допустимые значения: RU, COM |
Пример запроса
Пример успешного ответа
pdns/delete_subdomain¶
Удаляет поддомен.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_subdomain |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | integer | Идентификатор поддомена для удаления |
Пример запроса
Пример успешного ответа
pdns/edit_subdomain¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: edit_subdomain |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | integer | Идентификатор поддомена для редактирования. |
| params[server_id] | ❌ | integer | Новый идентификатор сервера для поддомена. |
| params[name] | ❌ | string | Имя поддомена. |
Пример запроса
Пример успешного ответа
pdns/get_cb_url¶
Возвращает URL для вызова callback-функции.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_cb_url |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
pdns/list_domains¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_domains |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
pdns/list_subdomains¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_subdomains |
| token | ✅ | string | Токен авторизации |
| params[customer_id] | ✅ | integer | Идентификатор клиента для получения списка поддоменов |
Пример запроса
Пример успешного ответа
pdns/list_zones¶
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_zones |
| token | ✅ | string | Токен авторизации |
| params[pdns_loc] | ❌ | string | Локация DNS-сервера. Допустимые значения: RU, COM. По умолчанию COM. |
Пример запроса
Пример успешного ответа
pdns/view_zone¶
Возвращает информацию о DNS-зоне, включая её локацию и имя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: view_zone |
| token | ✅ | string | Токен авторизации. |
| params[zone] | ✅ | string | Имя зоны. Должно быть валидным FQDN. |
Пример запроса