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

auth.php

Модуль аутентификации и авторизации: управление сессиями, вход через WHMCS, LDAP, API-ключи и SSO (Google, GitHub, VK), верификация 2FA, SMS и email, а также управление тегами клиентов.

Методы API

Метод Действие Описание
2fa_check проверка 2FA Проверяет корректность кода двухфакторной аутентификации для пользователя
2fa_resend повторная отправка 2FA Инициирует повторную отправку кода двухфакторной аутентификации (2FA) на привязанный канал связи пользователя.
billing_list получение списка биллинга Возвращает список активных сервисов и данных о биллинге пользователя
email_check проверка email Проверяет существование клиента по его адресу электронной почты и возвращает связанные с ним теги.
flip_tag переключение тега Переключает состояние (активен/неактивен) указанного тега для пользователя или сущности
get_log получение лога авторизации Возвращает лог событий авторизации за указанный период или по токену.
get_log_details получение деталей лога Возвращает детальную информацию о событии в журнале авторизации по предоставленному токену
github_init инициализация GitHub Инициализирует процесс авторизации через GitHub для получения токена доступа
github_signin авторизация через GitHub Выполняет вход в систему с использованием учетной записи GitHub, генерирует токен доступа и устанавливает сессию пользователя.
google_signin авторизация через Google Выполняет вход в систему с использованием учетной записи Google для получения токена доступа
info получение информации об авторизации Возвращает информацию о текущем состоянии аутентификации и данных пользователя
ipalogin вход через LDAP (IPA) Авторизация сотрудника через LDAP (IPA) с возможностью привязки к серверу.
login авторизация Выполняет вход в систему, создавая новую сессию пользователя и возвращая данные авторизованного клиента.
logout выход из системы Завершает текущую сессию пользователя и аннулирует токен доступа
session_reset сброс сессии Сбрасывает активную сессию пользователя, аннулируя текущие токены доступа.
set_tag установка тега Массовая вставка или обновление тегов для указанных компонентов. Поддерживает валидацию и логирование истории.
tg_verify проверка Telegram-авторизации Проверяет валидность данных авторизации через Telegram для подтверждения личности пользователя
vk_init инициализация VK Инициализирует процесс авторизации или настройки параметров для интеграции с VK
vk_signin авторизация через VK Выполняет авторизацию пользователя с использованием данных социальной сети ВКонтакте.
whmcslogin авторизация через WHMCS или SSO Выполняет вход в систему. Поддерживает стандартную авторизацию (email/password) и SSO-методы (Google, GitHub, VK). При успешном входе возвращает токен сессии, данные клиента и права доступа.

auth/2fa_check

Проверяет корректность кода двухфакторной аутентификации для пользователя

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: 2fa_check
params[token] string Токен сессии или идентификатор проверки
params[code] string Код двухфакторной аутентификации
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=2fa_check" \
--data "params[token]=VALUE" \
--data "params[code]=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "2fa_check",
"data": {
"status": "verified",
"session_id": Infinity,
"expires_at": "2024-12-31T23:59:59Z"
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid 2FA code" }

```

auth/2fa_resend

Инициирует повторную отправку кода двухфакторной аутентификации (2FA) на привязанный канал связи пользователя.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: 2fa_resend
token string Токен авторизации сессии
from string Параметр from (обнаружен в коде)

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=2fa_resend" \
--data "token=HOSTKEY_TOKEN" \
--data "from=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "2fa_resend",
"data": {
"status": "sent"
}
}
Примеры ошибок

``` { "code": -1, "message": "Не удалось отправить код 2FA" }

```

auth/billing_list

Возвращает список активных сервисов и данных о биллинге пользователя

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: billing_list
params[user_id] int ID пользователя для получения списка сервисов
params[location] string Фильтрация по локации (например, NL)
params[decode] boolean Флаг декодирования данных
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=billing_list" \
--data "params[user_id]=12345" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "billing_list",
"data": {
"userid": 12345,
"services": [
{
"id": 98765,
"name": "Cloud VPS",
"status": "active",
"location": "NL",
"price": {
"EUR": 15.0,
"USD": 16.2
}
}
]
}
}
Примеры ошибок

``` { "code": -1, "message": "User not found" }

```

auth/email_check

Проверяет существование клиента по его адресу электронной почты и возвращает связанные с ним теги.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: email_check
params[email] string Адрес электронной почты для проверки

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=email_check" \
--data "params[email]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "email_check",
"data": {
"tags": [
"premium",
"vip_client"
]
}
}
Примеры ошибок

``` { "code": -1, "message": "Email not found" }

```

auth/flip_tag

Переключает состояние (активен/неактивен) указанного тега для пользователя или сущности

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
params[hash] string Уникальный хеш сессии или идентификатор пользователя
params[tag] string Имя тега для переключения
tag string Параметр tag (обнаружен в коде)
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "params[hash]=VALUE" \
--data "params[tag]=VALUE" \
--data "tag=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "flip_tag",
"data": {
"status": "active"
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid hash or tag not found" }

```

auth/get_log

Возвращает лог событий авторизации за указанный период или по токену.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_log
token string Токен сессии
user_token string Токен пользователя для поиска лога
period_start string Начало периода (YYYY-MM-DD)
period_stop string Конец периода (YYYY-MM-DD)
user_email string Email пользователя для фильтрации лога

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=get_log" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"data": [
{
"id": 123,
"action": "login",
"ip": "1.2.3.4",
"time": "2024-01-15 10:00:00"
}
]
}
Примеры ошибок
{
"code": 404,
"message": "Log is empty"
}

auth/get_log_details

Возвращает детальную информацию о событии в журнале авторизации по предоставленному токену

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=get_log_details" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_log_details",
"data": {
"id": 12345,
"event": "login_success",
"ip": "192.168.1.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"created_at": "2024-05-20T14:30:00Z",
"details": {
"status": "success",
"method": "password",
"remote_addr": "192.168.1.1"
}
}
}
Примеры ошибок

``` { "code": -404, "message": "Log entry not found" }

```

auth/github_init

Инициализирует процесс авторизации через GitHub для получения токена доступа

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
- - - Других параметров нет

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

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

``` { "code": -1, "message": "GitHub authentication failed" }

```

auth/github_signin

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: github_signin
token string Токен авторизации GitHub для проверки подлинности
state string Параметр state (обнаружен в коде)
code string Параметр code (обнаружен в коде)

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=github_signin" \
--data "token=HOSTKEY_TOKEN" \
--data "state=VALUE" \
--data "code=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "github_signin",
"data": {
"token": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"expire": 3600,
"hash": "zxywvutsrqponmlkjihgfedcba",
"web_ip": "192.168.1.1"
}
}
Примеры ошибок

``` { "code": -1, "message": "Authentication failed" }

```

auth/google_signin

Выполняет вход в систему с использованием учетной записи Google для получения токена доступа

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: google_signin
params[id_token] string ID Token, полученный от Google
credential string Параметр credential (обнаружен в коде)
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=google_signin" \
--data "params[id_token]=VALUE" \
--data "credential=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "google_signin",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 123,
"email": "user@gmail.com",
"name": "John Doe"
}
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid Google token" }

```

auth/info

Возвращает информацию о текущем состоянии аутентификации и данных пользователя

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=info" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "info",
"data": {
"user_email": "user@example.com",
"status": "active",
"web_ip": "192.168.1.1",
"tags": [
{
"id": 1,
"tag": "premium",
"value": "fa-solid fa-rocket"
}
],
"customer_id": 456,
"whmcs_id": 456
},
"server_data_incomplete": null,
"prebill_scope": null,
"manage_products": null,
"show_invoices": null,
"billing_servers": null,
"whmcs_location": null,
"edit_master_profile": null,
"original_tags": null,
"has_product_subscription": null,
"s3": null,
"ipsubnet_announce": null,
"managed_apps": null,
"deploy_keys": null,
"manage_orders": null,
"prebill": null,
"show_products": null,
"subaccount": null,
"prebill_global": null,
"email": null,
"token_expire": null
}
Примеры ошибок

``` { "code": -1, "message": "Unauthorized" }

```

auth/login

Выполняет вход в систему, создавая новую сессию пользователя и возвращая данные авторизованного клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: login
params[client_id] string|int ID или email клиента для авторизации
params[password] string Пароль пользователя
key string API ключ для авторизации
ttl int Время жизни сессии (Time To Live)

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=login" \
--data "params[client_id]=VALUE" \
--data "params[password]=VALUE" \
--data "key=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "login",
"data": {
"billing_location": "NL",
"client": "user@example.com",
"contractnum": "CONT-12345",
"corporate": false,
"error": null,
"inn": "123456789012",
"method": "password",
"twofa_enabled": true,
"twofa_method": "google_authenticator"
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid credentials" }

```

auth/logout

Завершает текущую сессию пользователя и аннулирует токен доступа

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Invalid token or session expired" }

```

auth/session_reset

Сбрасывает активную сессию пользователя, аннулируя текущие токены доступа.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=session_reset" \
--data "token=HOSTKEY_TOKEN" \
--data "confirm=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "session_reset",
"data": {
"status": "success"
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid token" }

```

auth/set_tag

Массовая вставка или обновление тегов для указанных компонентов. Поддерживает валидацию и логирование истории.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
tags[] array<object> Массив объектов с данными тега. Каждый объект должен содержать component, component_id и tag.
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "tags[][][component]=server&tags[][][component_id]=123&tags[][][tag]=prod" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "set_tag",
"data": {
"component": "string",
"component_id": 123,
"error": null,
"internal": false
}
}
Примеры ошибок

``` { "code": -1, "message": "DuplicateTagNameException: Тег с таким именем уже существует для данного компонента" }

```

auth/tg_verify

Проверяет валидность данных авторизации через Telegram для подтверждения личности пользователя

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Invalid token or Telegram session expired" }

```

auth/vk_init

Инициализирует процесс авторизации или настройки параметров для интеграции с VK

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: vk_init
state string Параметр state (обнаружен в коде)

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

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

``` { "code": -1, "message": "Ошибка инициализации VK" }

```

auth/vk_signin

Выполняет авторизацию пользователя с использованием данных социальной сети ВКонтакте.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: vk_signin
token string Токен доступа для аутентификации запроса
state string Параметр state (обнаружен в коде)
code string Параметр code (обнаружен в коде)
device_id int Параметр device_id (обнаружен в коде)

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=vk_signin" \
--data "token=HOSTKEY_TOKEN" \
--data "state=VALUE" \
--data "code=VALUE" \
--data "device_id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "vk_signin",
"data": {
"user_id": 12345678,
"name": "Ivan Ivanov",
"email": "ivan@example.com",
"status": "active"
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid VK token" }

```

auth/whmcslogin

Выполняет вход в систему. Поддерживает стандартную авторизацию (email/password) и SSO-методы (Google, GitHub, VK). При успешном входе возвращает токен сессии, данные клиента и права доступа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: whmcslogin
sso string Метод SSO (google, github, vk)
sso_hash string Хеш или токен для SSO-авторизации
user string Email пользователя (для стандартного входа)
password string Пароль пользователя

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

curl -s "https://invapi.hostkey.ru/auth.php" -X POST \
--data "action=whmcslogin" \
--data "user=user@example.com" \
--data "password=your_password"
Пример успешного ответа
{
"result": "OK",
"action": "whmcslogin",
"token": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"role": "Customer",
"role_type": "Customer",
"whmcs_id": 12345,
"whmcs_location": "US",
"country": "United States",
"country_code": "US",
"currency_code": "USD",
"vat": "123456789",
"prebill": true,
"permissions": [
"manageproducts",
"show_invoices",
"edit_master_profile"
],
"client_data": {
"id": 100,
"email": "user@example.com",
"account_id": 12345,
"countrycode": "US",
"currency_code": "USD"
}
}
Примеры ошибок

``` { "INVALID_SERVICE": { "result": -2, "error": "Invalid service", "code": "INVALID_SERVICE" }, "INVALID_CREDENTIAL": { "result": -2, "message": "invalid credential", "error_code": "INVALID_CREDENTIAL" }, "SSO_NOT_SET": { "result": -2, "error": "SSO not set", "code": "SSO_NOT_SET" }, "USER_NOT_FOUND": { "result": -2, "error": "User not found", "code": "USER_NOT_FOUND" }, "USERNAME_REQUIRED": { "result": -2, "error": "Username is empty", "code": "USERNAME_REQUIRED" }, "PASSWORD_REQUIRED": { "result": -2, "error": "Password is empty", "code": "PASSWORD_REQUIRED" } }

```

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