ip.php¶
Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
get_client_ip | получение IP клиента | Возвращает IP-адрес текущего клиента, сделавшего запрос. |
get_ip | получение информации об IP | Возвращает полную информацию о конкретном IP-адресе, включая данные о сети, маске и принадлежности. |
get_ptr | получение PTR-записи | Возвращает PTR-запись (обратное DNS-имя) для указанного IP-адреса, привязанного к серверу. |
get_traffic | получение статистики трафика | Возвращает статистику входящего и исходящего трафика для указанного IP-адреса за заданный период. Поддерживает режим сводки или детализации по временным меткам. |
list_free_ip | получение списка свободных IP | Возвращает список неиспользуемых IP-адресов для указанной локации или подсети. Для клиентов используется ID подсети, для администраторов — код локации. |
set_main | установка основного IP | Устанавливает указанный IP-адрес как основной для интерфейса сервера. Обновляет данные биллинга в WHMCS, если применимо. |
update_ptr | обновление PTR записи | Устанавливает обратную DNS запись (PTR) для указанного IP-адреса, привязанного к серверу. |
ip/get_client_ip¶
Возвращает IP-адрес текущего клиента, сделавшего запрос.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_client_ip |
| token | ✅ | string | Токен авторизации |
Пример запроса
ip/get_ip¶
Возвращает полную информацию о конкретном IP-адресе, включая данные о сети, маске и принадлежности.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ip |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес для получения информации |
| full | ❌ | boolean | Флаг для получения полных данных (обертка в data) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "ip/get_ip: malformed IP=192.168.1.1 for token abc123" }
```
ip/get_ptr¶
Возвращает PTR-запись (обратное DNS-имя) для указанного IP-адреса, привязанного к серверу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ptr |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера, к которому принадлежит IP |
| ip | ✅ | string | IP-адрес, для которого нужно получить PTR-запись |
| location | ❌ | string | Локация (опционально, используется внутри pdns_get_ptr) |
Пример запроса
ip/get_traffic¶
Возвращает статистику входящего и исходящего трафика для указанного IP-адреса за заданный период. Поддерживает режим сводки или детализации по временным меткам.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_traffic |
| token | ✅ | string | Токен авторизации |
| ip | ❌ | string | IP-адрес для получения статистики трафика |
| period_start | ❌ | integer | Начало периода в Unix timestamp (по умолчанию: сутки назад) |
| period_stop | ❌ | integer | Конец периода в Unix timestamp (по умолчанию: текущее время) |
| summary | ❌ | integer | Режим сводки: 1 - только итоговые значения, 0 - детализация по временным меткам |
| unbilled | ❌ | integer | Фильтр по оплате: 1 - только неоплаченные записи, 0 - все записи |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "ip/get_traffic: no significant traffic detected for 192.168.1.10 in the period 01-05-2024 - 02-05-2024" }
```
ip/list_free_ip¶
Возвращает список неиспользуемых IP-адресов для указанной локации или подсети. Для клиентов используется ID подсети, для администраторов — код локации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_free_ip |
| token | ✅ | string | Токен авторизации |
| exclude_special | ❌ | int | Исключить специальные IP (0/1) |
| id | ❌ | int | ID подсети (для клиентов) |
| location | ❌ | string | Код локации (для администраторов) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "illegal IP subnet" }
```
ip/set_main¶
Устанавливает указанный IP-адрес как основной для интерфейса сервера. Обновляет данные биллинга в WHMCS, если применимо.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_main |
| token | ✅ | string | Токен авторизации пользователя |
| id | ✅ | integer | ID сервера |
| ip | ✅ | string | IP-адрес, который нужно установить как основной |
| main | ❌ | integer | Флаг основного IP (0 или 1) |
| description | ❌ | string | Описание IP-адреса |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "ip/set_main: invalid request" }
```
ip/update_ptr¶
Устанавливает обратную DNS запись (PTR) для указанного IP-адреса, привязанного к серверу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: update_ptr |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера, к которому привязан IP |
| ip | ✅ | string | IP-адрес, для которого устанавливается PTR |
| ptr | ❌ | string | Значение PTR записи (hostname) |
| location | ❌ | string | Локация сервера |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "IP 192.168.1.1 is not assigned for server 123" }
```