Перейти к содержанию

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 Флаг обновления существующей записи.

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=add_dns" \
--data "token=HOSTKEY_TOKEN" \
--data "params[zone]=example.com" \
--data "params[name]=@ " \
--data "params[type]=A" \
--data "params[content][]=1.2.3.4" \
--data "params[content][]=5.6.7.8"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "add_dns",
"data": null
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument zone '...'"
}

pdns/add_domain

Регистрирует новый домен в системе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_domain
token ✅ string Токен авторизации
params[name] ✅ string Имя домена. Валидный FQDN.
params[pdns_loc] ❌ string Местоположение DNS-зоны (RU или COM). По умолчанию COM.

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=add_domain" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=example.com" \
--data "params[pdns_loc]=COM"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "add_domain",
"data": {
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument DNS zone name"
}

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 сервера для размещения зоны

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=add_subdomain" \
--data "token=HOSTKEY_TOKEN" \
--data "params[domain_id]=VALUE" \
--data "params[name]=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "add_subdomain",
"data": {
"id": 456
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument subdomain name"
}

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)

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=delete_dns" \
--data "token=HOSTKEY_TOKEN" \
--data "params[zone]=example.com" \
--data "params[type]=MX" \
--data "params[priority]=10"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "delete_dns",
"data": null
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument zone '...'"
}

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

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=delete_domain" \
--data "token=HOSTKEY_TOKEN" \
--data "params[customer_id]=VALUE" \
--data "params[id]=VALUE" \
--data "params[zone]=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "delete_domain",
"data": {
"id": 456
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument DNS zone id"
}

pdns/delete_subdomain

Удаляет поддомен.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_subdomain
token ✅ string Токен авторизации
params[id] ✅ integer Идентификатор поддомена для удаления

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=delete_subdomain" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "delete_subdomain",
"data": {
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument subdomain id"
}

pdns/edit_subdomain

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: edit_subdomain
token ✅ string Токен авторизации
params[id] ✅ integer Идентификатор поддомена для редактирования.
params[server_id] ❌ integer Новый идентификатор сервера для поддомена.
params[name] ❌ string Имя поддомена.

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=edit_subdomain" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "edit_subdomain",
"data": {
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument subdomain id"
}

pdns/get_cb_url

Возвращает URL для вызова callback-функции.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_cb_url
token ✅ string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=get_cb_url" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "get_cb_url",
"data": {
"cb_url": "https://example.com/callback"
}
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

pdns/list_domains

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_domains
token ✅ string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=list_domains" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "list_domains",
"data": [
{
"id": 1,
"name": "example.com"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Action required"
}

pdns/list_subdomains

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_subdomains
token ✅ string Токен авторизации
params[customer_id] ✅ integer Идентификатор клиента для получения списка поддоменов

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=list_subdomains" \
--data "token=HOSTKEY_TOKEN" \
--data "params[customer_id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "list_subdomains",
"data": [
{
"id": "integer",
"name": "string",
"domain_id": "integer",
"server_id": "integer"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

pdns/list_zones

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_zones
token ✅ string Токен авторизации
params[pdns_loc] ❌ string Локация DNS-сервера. Допустимые значения: RU, COM. По умолчанию COM.

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=list_zones" \
--data "token=HOSTKEY_TOKEN" \
--data "params[pdns_loc]=COM"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "list_zones",
"data": [
{
"id": "string",
"kind": "Master",
"account": ""
}
]
}
Примеры ошибок
{
"-1": "Action is not recognized"
}

pdns/view_zone

Возвращает информацию о DNS-зоне, включая её локацию и имя.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: view_zone
token ✅ string Токен авторизации.
params[zone] ✅ string Имя зоны. Должно быть валидным FQDN.

Пример запроса

curl -s "https://invapi.hostkey.ru/pdns.php" -X POST \
--data "action=view_zone" \
--data "token=HOSTKEY_TOKEN" \
--data "params[zone]=example.com"
Пример успешного ответа
{
"result": "OK",
"module": "pdns",
"action": "view_zone",
"data": {
"name": "string",
"id": "string",
"nameservers": "array<string>",
"rrsets": "array<object>"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument zone '...'"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×