ip.php¶
Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
get_client_ip | получение IP клиента | Возвращает IP-адрес текущего клиента |
get_ip | получение информации об IP | Возвращает полную информацию о конкретном IP-адресе (сеть, маска и т.д.) |
get_ptr | получение PTR записи | Проверяет и возвращает PTR-запись для указанного IP |
get_traffic | получение статистики трафика | Возвращает статистику входящего и исходящего трафика для IP за указанный период |
list_free_ip | список свободных IP | Возвращает список свободных IP-адресов для указанной локации или подсети |
set_main | установка основного IP | Устанавливает указанный IP как основной для интерфейса сервера |
update_ptr | обновление PTR записи | Обновляет PTR-запись (обратное DNS) для указанного IP |
ip/get_client_ip¶
Возвращает IP-адрес текущего клиента
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_client_ip |
| - | - | - | Других параметров нет |
Пример запроса
Пример успешного ответа
Примеры ошибок
ip/get_ip¶
Возвращает полную информацию о конкретном IP-адресе (сеть, маска и т.д.)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ip |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес для запроса |
| full | ❌ | boolean | Включить полные данные в ответ (обертка data) |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=get_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=VALUE"
Пример успешного ответа
{
"result": "OK",
"module": "ip",
"action": "get_ip",
"data": {
"ip": "192.168.1.10",
"network": "192.168.1.0",
"netmask": "255.255.255.0",
"location": "AMS",
"status": "active"
}
}
Примеры ошибок
{
"code": -1,
"message": "malformed IP=192.168.1.10 for token abc123",
"description": "Некорректный формат IP-адреса"
}
ip/get_ptr¶
Проверяет и возвращает PTR-запись для указанного IP
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ptr |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| ip | ✅ | string | IP-адрес |
| location | ❌ | string | Локация сервера |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=get_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE"
Пример успешного ответа
Примеры ошибок
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 - только неоплаченный трафик |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=get_traffic" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=192.168.1.10" \
--data "period_start=1704067200" \
--data "period_stop=1704153600" \
--data "summary=0"
Пример успешного ответа
{
"result": "OK",
"action": "get_traffic",
"traffic": [
{
"ip": "192.168.1.10",
"in": 15.5,
"out": 8.2,
"timestamp": 1704067200
}
]
}
Примеры ошибок
{
"code": -1,
"message": "no significant traffic detected for 192.168.1.10 in the period 01-01-2024 - 02-01-2024"
}
ip/list_free_ip¶
Возвращает список свободных IP-адресов для указанной локации или подсети
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_free_ip |
| token | ✅ | string | Токен авторизации |
| location | ❌ | string | Код локации |
| id | ❌ | integer | ID подсети (для клиентов) |
| exclude_special | ❌ | integer | Исключить специальные IP |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=list_free_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "location=LOC_CODE" \
--data "id=12345" \
--data "exclude_special=1"
Пример успешного ответа
{
"result": "OK",
"action": "list_free_ip",
"ip": [
"192.168.1.50",
"192.168.1.51",
"192.168.1.52"
]
}
Примеры ошибок
ip/set_main¶
Устанавливает указанный IP как основной для интерфейса сервера
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_main |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| ip | ✅ | string | IP-адрес для установки |
| main | ❌ | integer | Флаг основного IP (0/1) |
| description | ❌ | string | Описание действия |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=set_main" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE"
Пример успешного ответа
Примеры ошибок
ip/update_ptr¶
Обновляет PTR-запись (обратное DNS) для указанного IP
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: update_ptr |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| ip | ✅ | string | IP-адрес |
| ptr | ✅ | string | Новое PTR-значение (доменное имя) |
| location | ❌ | string | Локация сервера |
Пример запроса
curl -s "https://invapi.hostkey.ru/ip" -X POST \
--data "action=update_ptr" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "ptr=VALUE"