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

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
- - - Других параметров нет

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

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

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"
Пример успешного ответа
{
"result": "OK",
"action": "get_ptr",
"message": "server10.example.com"
}
Примеры ошибок
{
"code": -1,
"message": "invalid IP"
}

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"
]
}
Примеры ошибок
{
"code": -1,
"message": "illegal IP subnet"
}

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"
Пример успешного ответа
{
"result": "OK",
"action": "set_main",
"message": "IP 192.168.1.10 set as main for server 123"
}
Примеры ошибок
{
"code": -1,
"message": "invalid IP 192.168.1.10 for server 123"
}

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"
Пример успешного ответа
{
"result": "OK",
"action": "update_ptr",
"message": ""
}
Примеры ошибок
{
"code": -1,
"message": "IP 192.168.1.10 is not assigned for server 123"
}

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