ip.php¶
Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
get_client_ip | получение клиентского IP | Возвращает текущий IP-адрес клиента, совершившего запрос к API. |
get_ip | получение информации об IP | Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, шлюз и т.д.) |
get_ptr | проверка PTR-записи IP | Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации. |
get_traffic | получение трафика | Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки. |
list_free_ip | получение списка свободных IP | Возвращает список неиспользуемых IPv4 адресов для конкретной локации на основе тегов Route Reflector. Для клиентов доступно только в рамках их собственных подсетей. |
set_main | установка основного IP для сервера | Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера. При необходимости обновляет данные в биллинговой системе WHMCS. |
update_ptr | обновление PTR-записи | Обновляет обратную DNS-запись (PTR) для указанного IP-адреса. Требуется проверка прав доступа и принадлежности IP серверу. |
ip/get_client_ip¶
Возвращает текущий IP-адрес клиента, совершившего запрос к API.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_client_ip |
| token | ✅ | string | Токен авторизации |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "authentication required" }
```
ip/get_ip¶
Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, шлюз и т.д.)
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ip |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес для получения информации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "No data for the loopback address" }
```
ip/get_ptr¶
Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ptr |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес |
| id | ✅ | int | ID сервера |
| location | ❌ | string | Локация для проверки PTR |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid request" }
```
ip/get_traffic¶
Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес для получения трафика |
| period_start | ❌ | int | Начало периода (timestamp) |
| period_stop | ❌ | int | Конец периода (timestamp) |
| summary | ❌ | int | 1 - вернуть только сводку (in/out в GB), 0 - детальные метки с таймстемпами |
| unbilled | ❌ | int | 1 - только неоплаченный трафик, 0 - весь трафик |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "no significant traffic detected for [IP] in the period [DD-MM-YYYY] - [DD-MM-YYYY]" }
```
ip/list_free_ip¶
Возвращает список неиспользуемых IPv4 адресов для конкретной локации на основе тегов Route Reflector. Для клиентов доступно только в рамках их собственных подсетей.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (list_free_ip) |
| token | ✅ | string | Токен авторизации |
| exclude_special | ❌ | int | Исключить специальные адреса (0 или 1) |
| location | ✅ | string | Локация для поиска свободных IP |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "illegal IP subnet" }
```
ip/set_main¶
Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера. При необходимости обновляет данные в биллинговой системе WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_main |
| token | ✅ | string | Authentication token |
| id | ✅ | int | Server ID |
| ip | ✅ | string | IP address to set as main |
| main | ❌ | int | Main flag (0 for IPMI or 1 for IPv4) |
| description | ❌ | string | Description for the IP |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid request or invalid IP for server id" }
```
ip/update_ptr¶
Обновляет обратную DNS-запись (PTR) для указанного IP-адреса. Требуется проверка прав доступа и принадлежности IP серверу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: update_ptr |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес |
| id | ✅ | integer | ID сервера |
| ptr | ✅ | string | Новая PTR-запись |
| location | ❌ | string | Локация |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "IP 1.2.3.4 is not assigned for server id 5" }
```