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

ip.php

Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.

Методы API

Метод Действие Описание
get_client_ip получение IP клиента Возвращает IP-адрес клиента, совершившего запрос к API
get_ip получение информации об IP Возвращает полную информацию о конкретном IP-адресе: сетевые данные, маску подсети и другие параметры.
get_ptr получение PTR-записи Возвращает текущую PTR-запись для указанного IP-адреса, если он закреплен за сервером в данной локации
get_traffic получение трафика Возвращает данные о сетевом трафике (in/out) для указанного IP-адреса за выбранный период. Поддерживает получение сводной информации или детальных тиков.
list_free_ip получение списка свободных IP Возвращает список неиспользуемых IPv4 адресов для указанной локации на основе тегов Route Reflector. Для клиентов доступны только те подсети, которые привязаны к их email или subaccount.
set_main установка основного IP-адреса для интерфейса Устанавливает указанный IPv4 адрес в качестве основного (main) адреса для сервера. При необходимости обновляет данные в биллинговой системе WHMCS.
update_ptr обновление PTR-записи Обновляет PTR-запись для IP-адреса, закрепленного за сервером. Проверяет наличие связи между IP и ID сервера перед выполнением операции.

ip/get_client_ip

Возвращает IP-адрес клиента, совершившего запрос к API

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_client_ip
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_client_ip"
Пример успешного ответа
{
"result": "OK",
"action": "get_client_ip",
"data": {
"ip": "192.168.1.1"
}
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при определении IP-адреса" }

```

ip/get_ip

Возвращает полную информацию о конкретном IP-адресе: сетевые данные, маску подсети и другие параметры.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_ip
ip string IP-адрес для получения информации
full boolean Флаг возврата расширенных данных (включая response)

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ip" \
--data "ip=192.168.1.1"
Пример успешного ответа
{
"data": {
"network": "192.168.1.0",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1",
"broadcast": "192.168.1.255"
}
}
Примеры ошибок

``` { "code": -1, "message": "unknown IP 1.2.3.4" }

```

ip/get_ptr

Возвращает текущую PTR-запись для указанного IP-адреса, если он закреплен за сервером в данной локации

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_ptr
id int ID сервера
ip string IP-адрес для проверки PTR-записи
location int|string ID локации
token string Авторизационный токен

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_ptr" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "location=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": "example.com"
}
Примеры ошибок

``` { "code": -1, "message": "\(module/\)action: invalid IP" }

```

ip/get_traffic

Возвращает данные о сетевом трафике (in/out) для указанного IP-адреса за выбранный период. Поддерживает получение сводной информации или детальных тиков.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
ip string IP-адрес для получения данных трафика
period_start int Начальная временная метка (timestamp)
period_stop int Конечная временная метка (timestamp)
summary int 1 - вернуть сводную информацию в GB, 0 - детальные тики с таймстампами
unbilled int 1 - только неоплаченные тики, 0 - все тики

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=get_traffic" \
--data "ip=1.2.3.4" \
--data "period_start=1716206400" \
--data "period_stop=1716292800" \
--data "summary=0" \
--data "unbilled=0"
Пример успешного ответа
{
"result": "OK",
"traffic": [
{
"timestamp": "2024-05-20T12:00:00Z",
"in": 1.25,
"out": 0.85
}
]
}
Примеры ошибок

``` { "code": -1, "message": "ip/get_traffic: inactive IP" }

```

ip/list_free_ip

Возвращает список неиспользуемых IPv4 адресов для указанной локации на основе тегов Route Reflector. Для клиентов доступны только те подсети, которые привязаны к их email или subaccount.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list_free_ip
exclude_special int Исключать специальные адреса (0 или 1)
token string Авторизационный токен

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=list_free_ip" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"ip": [
"192.168.1.1",
"192.168.1.2"
]
}
Примеры ошибок

``` { "code": -1, "message": "general failure" }

```

ip/set_main

Устанавливает указанный IPv4 адрес в качестве основного (main) адреса для сервера. При необходимости обновляет данные в биллинговой системе WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: set_main
id int ID сервера
ip string IPv4 адрес
main bool Флаг основного адреса
description string Описание IP-адреса

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=set_main" \
--data "id=VALUE" \
--data "ip=VALUE"
Пример успешного ответа
{
"result": "OK",
"message": "data (результат выполнения функции ipv4_set_main)"
}
Примеры ошибок

``` { "code": -1, "message": "invalid request or invalid IP for server id" }

```

ip/update_ptr

Обновляет PTR-запись для IP-адреса, закрепленного за сервером. Проверяет наличие связи между IP и ID сервера перед выполнением операции.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update_ptr
id int ID сервера
ip string IP-адрес
ptr string PTR-запись (FQDN)
location mixed Локация для записи

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

curl -s "https://invapi.hostkey.ru/ip.php" -X POST \
--data "action=update_ptr" \
--data "id=VALUE" \
--data "ip=VALUE" \
--data "ptr=VALUE" \
--data "location=VALUE"
Пример успешного ответа
{
"result": "OK",
"message": ""
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка обновления в PDNS" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×