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

api_keys.php

Модуль управления API-ключами: создание, редактирование, удаление и просмотр ключей с поддержкой привязки к серверам и ограничением по IP

Методы API

Метод Действие Описание
add создание ключа Создает новый API-ключ для клиента. Если у клиента есть активные сервисы или баланс, ключ может быть привязан к серверу.
add_history добавление записи в историю Добавляет запись о событии в историю API-ключей.
count_owned подсчет собственных ключей Возвращает количество API-ключей, принадлежащих текущему клиенту.
delete удаление ключа Удаляет API-ключ.
edit редактирование ключа Редактирует существующий API-ключ (название, IP-адреса или привязку к серверу).
history просмотр истории Возвращает историю изменений для API-ключей.
list получение списка ключей Возвращает список всех API-ключей текущего клиента.
list_for_customer список для клиента Возвращает список API-ключей, доступных конкретному клиенту.
list_for_server список для сервера Возвращает список API-ключей, привязанных к конкретному серверу.
view просмотр ключа Возвращает детальную информацию об одном API-ключе.

api_keys/add

Создает новый API-ключ для клиента. Если у клиента есть активные сервисы или баланс, ключ может быть привязан к серверу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: add
token ✅ string Токен авторизации
params[name] ✅ string Название API-ключа
params[server_id] ❌ int ID сервера для привязки ключа. Если не указан, ключ действует на все серверы клиента.
params[ip] ❌ string Список разрешенных IP-адресов или подсетей (через пробел). Пример: 192.168.1.1/24 10.0.0.5
params[active] ❌ int Статус ключа (1 - активен, 0 - деактивирован). По умолчанию 1.
params[login_notify_method] ✅ string Метод уведомления о входе. Допустимые значения: none, email, webhook
params[login_notify_address] ❌ string Адрес для уведомлений (email или URL). Зависит от выбранного метода.

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=My Key" \
--data "params[login_notify_method]=email" \
--data "params[login_notify_address]=user@example.com"
Пример успешного ответа
{
"result": "OK",
"action": "add",
"data": {
"id": 1,
"name": "My Key",
"token_view": "a1b2c3d4e5f6g7h8i9j0",
"server_id": 123,
"ip": "192.168.1.1/24 10.0.0.5",
"active": 1,
"login_notify_method": "email",
"login_notify_address": "user@example.com",
"customer_id": "12345",
"api_key": "a1b2c3d4e5f6g7h8i9j0-a1b2c3d4e5f6g7h8i9j0"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument IP address '...' or login notify method/address"
}

api_keys/add_history

Добавляет запись о событии в историю API-ключей.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: add_history
token ✅ string Токен авторизации
params[id] ✅ int ID API-ключа для привязки истории. Должен быть > 0.
params[log_line] ✅ string Текст записи в лог (событие)

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X POST \
--data "action=add_history" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE" \
--data "params[log_line]=VALUE"
Пример успешного ответа
{
"id": 50,
"history": {
"result": "OK",
"action": "add_history"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument id '...'"
}

api_keys/count_owned

Возвращает количество API-ключей, принадлежащих текущему клиенту.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: count_owned
token ✅ string Токен авторизации

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=count_owned" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "api_keys",
"action": "count_owned",
"data": {
"count": 5
}
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

api_keys/delete

Удаляет API-ключ.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token ✅ string Токен авторизации
params[id] ✅ int ID удаляемого ключа (должен быть > 0)

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument id '...'"
}

api_keys/edit

Редактирует существующий API-ключ (название, IP-адреса или привязку к серверу).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: edit
token ✅ string Токен авторизации
params[id] ✅ int ID редактируемого ключа
params[name] ❌ string Новое название ключа
params[active] ❌ int Статус активности ключа (1 - активен, 0 - деактивирован). По умолчанию 1.
params[ip] ❌ string Список разрешенных IP-адресов или подсетей (через пробел). Пример: 192.168.1.1/24 10.0.0.5
params[login_notify_method] ❌ string Метод уведомления: none, email, webhook
params[login_notify_address] ❌ string Адрес для уведомлений (email или URL для webhook)

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X POST \
--data "action=edit" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123" \
--data "params[name]=NewKeyName" \
--data "params[active]=1" \
--data "params[ip]=192.168.1.1/24 10.0.0.5" \
--data "params[login_notify_method]=email" \
--data "params[login_notify_address]=admin@example.com"
Пример успешного ответа
{
"id": 1
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument id '0'"
}

api_keys/history

Возвращает историю изменений для API-ключей.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: history
token ✅ string Токен авторизации
params[id] ✅ int ID конкретного API-ключа для фильтрации истории (должен быть > 0)
params[customer_id] ✅ int ID клиента для проверки принадлежности ключа
params[period_from] ❌ string Дата начала периода (формат Y-m-d H:i:s). По умолчанию 'now'
params[period_to] ❌ string Дата окончания периода (формат Y-m-d H:i:s). По умолчанию текущая дата до конца дня

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE" \
--data "params[customer_id]=VALUE"
Пример успешного ответа
{
"id": 10,
"date": "2024-05-20 13:00:00",
"description": "Changed api_key 1. server_id from '0' to '456'",
"message": "",
"type": "edit",
"login": "admin"
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

api_keys/list

Возвращает список всех API-ключей текущего клиента.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Действие: list
token ✅ string Токен авторизации

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list",
"data": [
{
"id": 1,
"name": "Key 1",
"active": true,
"ip": "127.0.0.1",
"server_id": null,
"token_view": "abcde...",
"login_notify_method": "email",
"login_notify_address": "user@example.com"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

api_keys/list_for_customer

Возвращает список API-ключей, доступных конкретному клиенту.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: list_for_customer
token ✅ string Токен авторизации
params[customer_id] ✅ int ID клиента (обязателен для выполнения запроса)

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=list_for_customer" \
--data "token=HOSTKEY_TOKEN" \
--data "params[customer_id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "list_for_customer",
"data": [
{
"id": 1,
"name": "Customer Key",
"token_view": "fghij...",
"server_id": 10,
"ip": "1.1.1.1"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument customer_id '0'"
}

api_keys/list_for_server

Возвращает список API-ключей, привязанных к конкретному серверу.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: list_for_server
token ✅ string Токен авторизации
params[server_id] ✅ int ID сервера для фильтрации ключей. Должен быть > 0.

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=list_for_server" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=10"
Пример успешного ответа
{
"result": "OK",
"action": "list_for_server",
"data": [
{
"id": 1,
"name": "Server Key",
"active": 1,
"ip": "127.0.0.1",
"server_id": 10,
"token_view": "klmno...",
"login_notify_method": "email",
"login_notify_address": "admin@example.com"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}

api_keys/view

Возвращает детальную информацию об одном API-ключе.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Method identifier: view
token ✅ string Токен авторизации
params[id] ✅ int ID API-ключа для просмотра

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

curl -s "https://invapi.hostkey.com/api_keys.php" -X GET \
--data "action=view" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "view",
"data": {
"id": 1,
"name": "Secret Key",
"token_view": "pqrst...",
"server_id": 5,
"ip": "8.8.8.8",
"created_at": "2024-05-20T12:00:00Z"
}
}
Примеры ошибок
{
"code": -1,
"message": "Action is not recognized"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×