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

api_keys.php

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

Методы API

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

api_keys/add

Создает новый API ключ для клиента или конкретного сервера. Требуется наличие активных серверов у клиента.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=add" \
--data "token=HOSTKEY_TOKEN" \
--data "params[name]=Production Key" \
--data "params[server_id]=10" \
--data "params[ip]=192.168.1.1" \
--data "params[active]=1" \
--data "params[login_notify_method]=email" \
--data "params[login_notify_address]=admin@example.com"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "add",
  "data": {
    "id": 12345,
    "name": "Production Key",
    "token_view": "sk_live_abc123...",
    "server_id": 10,
    "ip": "192.168.1.1",
    "active": 1,
    "login_notify_method": "email",
    "login_notify_address": "admin@example.com",
    "customer_id": "cust_123",
    "api_key": "a1b2c3d4e5f6g7h8-i9j0k1l2m3n4o5p6",
    "created_at": "2024-01-15T10:30:00Z"
  }
}
Примеры ошибок
{
  "code": -1,
  "message": "invalid argument name",
  "details": {
    "reason": "Параметр name пуст или некорректен"
  }
}

api_keys/edit

Изменяет параметры существующего API ключа (название, IP, статус, срок действия).

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=edit" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE" \
--data "params[name]=VALUE"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "edit",
  "data": {
    "id": 12345
  }
}
Примеры ошибок
{
  "code": -1,
  "message": "invalid argument id",
  "description": "Некорректный ID ключа"
}

api_keys/delete

Удаляет указанный API ключ из системы.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete
token string Токен авторизации
params[id] int ID удаляемого API ключа

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=delete" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "delete",
  "data": {
    "id": 12345
  }
}
Примеры ошибок
{
  "code": -1,
  "message": "invalid argument id",
  "description": "Некорректный ID (меньше 1 или не число)",
  "details": {
    "id": "invalid_value"
  }
}

api_keys/history

Возвращает историю действий с API ключами (создание, изменение, удаление).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: history
token string Токен авторизации
params[limit] int (внутри params[]) Количество записей для возврата
params[offset] int (внутри params[]) Смещение для пагинации
params[key_id] int (внутри params[]) Фильтр по ID ключа

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "params[limit]=10" \
--data "params[offset]=0"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "history",
  "data": [
    {
      "id": 1,
      "key_id": 12345,
      "action": "created",
      "user": "admin",
      "timestamp": "2024-01-15T10:30:00Z",
      "details": "Key created for server 10"
    },
    {
      "id": 2,
      "key_id": 12345,
      "action": "edited",
      "user": "admin",
      "timestamp": "2024-01-16T14:20:00Z",
      "details": "IP changed to 10.0.0.5"
    }
  ]
}
Примеры ошибок
{
  "code": -1,
  "message": "Invalid parameters",
  "details": {}
}

api_keys/list

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "list",
  "data": [
    {
      "id": 12345,
      "name": "Production Key",
      "token_view": "sk_live_abc123...",
      "server_id": 10,
      "ip": "192.168.1.1",
      "active": 1,
      "login_notify_method": "email",
      "login_notify_address": "admin@example.com"
    },
    {
      "id": 12346,
      "name": "Staging Key",
      "token_view": "sk_live_def456...",
      "server_id": null,
      "ip": null,
      "active": 0,
      "login_notify_method": null,
      "login_notify_address": null
    }
  ]
}
Примеры ошибок
{
  "code": -1,
  "message": "Action required",
  "details": {}
}

api_keys/list_for_server

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=list_for_server" \
--data "token=HOSTKEY_TOKEN" \
--data "params[server_id]=VALUE"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "list_for_server",
  "data": [
    {
      "id": 12345,
      "name": "Server 10 Key",
      "active": 1,
      "ip": "192.168.1.1",
      "server_id": 10,
      "token_view": "sk_live_abc123...",
      "login_notify_method": "email",
      "login_notify_address": "admin@example.com"
    }
  ]
}
Примеры ошибок
{
  "code": -1,
  "message": "invalid argument server_id",
  "details": {
    "reason": "server_id must be greater than 0"
  }
}

api_keys/view

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/api_keys" -X POST \
--data "action=view" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
  "result": "OK",
  "module": "api_keys",
  "action": "view",
  "data": {
    "id": 12345,
    "name": "Production Key",
    "token_view": "sk_live_abc123...",
    "server_id": 10,
    "ip": "192.168.1.1",
    "expire": 1735689600,
    "active": 1,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-16T14:20:00Z"
  }
}
Примеры ошибок
{
  "code": -1,
  "message": "Action required",
  "description": "Отсутствует параметр action"
}

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