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

s3.php

В этой статье

Модуль управления S3 хранилищем: создание бакетов, управление аккаунтами пользователей, удаление данных и администрирование тарифов

Методы API

Метод Действие Описание
activate_user активация пользователя Активирует S3 аккаунт (снимает блокировку/суспенд). Используется в административном сценарии.
cancel_payment_account_deletion отмена удаления платежного аккаунта Отменяет процесс удаления сервиса и восстанавливает статус аккаунта.
clone_plan клонирование плана Создает новый тарифный план на основе существующего с указанием нового имени.
create_bucket создание бакета Создает новый S3 бакет для указанного пользователя.
create_order создание заказа на S3 план Создает новый S3 аккаунт и привязывает его к тарифному плану.
create_plan создание плана Создает новый тарифный план S3 с заданными параметрами стоимости и лимитов.
delete_account удаление аккаунта Полное удаление S3 аккаунта и связанных с ним сервисов.
delete_bucket удаление бакета Удаляет указанный S3 bucket.
delete_file удаление файла Удаляет конкретный файл из S3 бакета.
delete_journal_node удаление узла журнала Удаляет все записи в журнале (nodes) для указанного идентификатора. Доступно только администраторам.
delete_payment_account удаление платежного аккаунта Инициирует процесс удаления (отмены) сервиса и подписки.
delete_plan удаление плана Удаляет тарифный план, если у него нет активных пользователей.
export_users_to_csv экспорт пользователей в CSV Экспортирует список всех пользователей текущего тарифного плана в формате CSV.
fill_tariff_periods заполнение периодов тарифов Запускает процесс заполнения/обновления тарифных периодов в базе данных.
get_available_locations получение доступных локаций Возвращает список всех доступных локаций, настроенных в S3 планах.
get_buckets_rmq получение информации о бакетах из RMQ Возвращает список бакетов и информацию по использованию через RMQ.
get_files получение списка файлов S3 Возвращает список файлов и папок в указанном бакете с поддержкой пагинации.
get_plan_mrr_dynamics_report получение динамики MRR плана Возвращает отчет по динамике ежемесячной повторяющейся выручки (MRR) для конкретного S3 плана за указанный период.
get_report получение отчета по S3 Возвращает детализированный отчет по использованию ресурсов (трафик, хранилище) для конкретного плана или региона.
get_storage_dynamics_report получение динамики хранилища Возвращает отчет по динамике использования объема хранилища за последние N дней.
get_users получение списка пользователей S3 Возвращает список пользователей (аккаунтов) для конкретного плана или клиента.
history получение истории S3 Возвращает историю событий, связанных с конкретным S3 аккаунтом или планом.
list_plans получение списка планов S3 Возвращает список доступных тарифных планов с учетом налогов (VAT) и валюты пользователя.
metering сохранение метрик Принимает сырые данные метрик (raw body) для сохранения в систему биллинга.
metering_faker генерация фейковых метрик Генерирует и сохраняет тестовые (фейковые) данные метрик для указанных S3 аккаунтов.
metering_faker_calculate расчет фейковых метрик Выполняет расчет перерасхода (overage) на основе сгенерированных или существующих данных за период.
remove_free_s3 удаление бесплатных аккаунтов S3 Удаляет все бесплатные (бета) аккаунты S3 в системе.
show_key получение ключей доступа S3 Возвращает расшифрованный Access Key или Secret Key для указанного S3 аккаунта.

s3/activate_user

Активирует S3 аккаунт (снимает блокировку/суспенд). Используется в административном сценарии.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: activate_user
token ✅ string Токен авторизации
id ✅ integer ID администратора (если запрос от админа)
s3uid ✅ string Уникальный идентификатор S3 аккаунта
reason ❌ string Причина активации или изменения статуса учетной записи пользователя.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=activate_user" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE" \
--data "reason=REASON_TEXT"
Пример успешного ответа
{
"result": "OK",
"action": "activate_user",
"message": {
"status": "success"
}
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/cancel_payment_account_deletion

Отменяет процесс удаления сервиса и восстанавливает статус аккаунта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: cancel_payment_account_deletion
token ✅ string Токен авторизации
id ✅ integer ID пользователя (для администратора)
s3uid ✅ string Уникальный идентификатор S3 аккаунта

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=cancel_payment_account_deletion" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "cancel_payment_account_deletion",
"cancellation_date": "2024-12-31",
"cancellation_date_origin": "31.12.2024",
"next_commit_date": "2025-01-01"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/clone_plan

Создает новый тарифный план на основе существующего с указанием нового имени.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: clone_plan
token ✅ string Токен авторизации
plan_id ✅ integer ID существующего плана для клонирования
name ✅ string Имя нового тарифного плана

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=clone_plan" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=VALUE" \
--data "name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "clone_plan",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "S3 plan name already exists"
}

s3/create_bucket

Создает новый S3 бакет для указанного пользователя.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_bucket
token ✅ string Токен авторизации
s3uid ✅ string Уникальный идентификатор S3 аккаунта
bucket_name ✅ string Имя создаваемого бакета

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_bucket" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_bucket",
"message": {
"status": "success",
"id": 123
}
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/create_order

Создает новый S3 аккаунт и привязывает его к тарифному плану.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_order
token ✅ string Токен авторизации
plan_id ✅ integer ID выбранного тарифного плана
bucket_name ✅ string Имя бакета для инициализации
location ❌ string Локация (регион) размещения. По умолчанию NL.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_order" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=VALUE" \
--data "bucket_name=VALUE" \
--data "location=NL"
Пример успешного ответа
{
"result": "OK",
"action": "create_order",
"s3uid": "b8815337-test-uuid"
}
Примеры ошибок
{
"code": -3,
"message": "s3_location_unavailable"
}

s3/create_plan

Создает новый тарифный план S3 с заданными параметрами стоимости и лимитов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_plan
token ✅ string Токен авторизации
plan_id ❌ integer ID плана (если обновление)
name ✅ string Название тарифного плана
quota ✅ integer Общий объем хранилища (квота)
active ❌ boolean Статус активности плана. По умолчанию 0.
locations ✅ string Список доступных локаций через запятую. Допустимые значения: коды из get_available_locations.
price ❌ string JSON-объект с ценами в разных валютах
monthly_rub ❌ integer Ежемесячная стоимость в RUB. По умолчанию -1.
monthly_eur ❌ integer Ежемесячная стоимость в EUR. По умолчанию -1.
monthly_usd ❌ integer Ежемесячная стоимость в USD. По умолчанию -1.
storage_type ✅ string Тип хранилища (например: standard, cold)
bandwidth_limit ❌ integer Лимит трафика. По умолчанию 0.
traffic_overage_price_rub ❌ string Цена за превышение трафика в RUB
traffic_overage_price_eur ❌ string Цена за превышение трафика в EUR
traffic_overage_price_usd ❌ string Цена за превышение трафика в USD
storage_overage_price_rub ❌ string Цена за превышение хранилища в RUB
storage_overage_price_eur ❌ string Цена за превышение хранилища в EUR
storage_overage_price_usd ❌ string Цена за превышение хранилища в USD

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_plan" \
--data "token=HOSTKEY_TOKEN" \
--data "name=My S3 Plan" \
--data "quota=1024" \
--data "locations=EU,US" \
--data "storage_type=standard"
Пример успешного ответа
{
"result": "OK",
"action": "create_plan",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "S3 plan name already exists"
}

s3/delete_account

Полное удаление S3 аккаунта и связанных с ним сервисов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_account
token ✅ string Токен авторизации
id ✅ integer ID пользователя (для администратора)
s3uid ✅ string Уникальный идентификатор S3 аккаунта
reason ❌ string Причина удаления аккаунта

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_account" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_account",
"deleted_at": "2024-05-20 14:30:00",
"service_status": "cancelled",
"service_period_end": "2024-05-20 14:30:00"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/delete_bucket

Удаляет указанный S3 bucket.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_bucket
token ✅ string Токен авторизации
id ✅ integer ID пользователя (S3UID)
bucket_name ✅ string Имя удаляемого бакета
s3uid ✅ string Уникальный идентификатор S3 аккаунта пользователя.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_bucket" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "bucket_name=VALUE" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_bucket",
"message": "Bucket deleted successfully"
}
Примеры ошибок
{
"code": -1,
"message": "Delete S3 bucket error: Bucket not found"
}

s3/delete_file

Удаляет конкретный файл из S3 бакета.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_file
token ✅ string Токен авторизации
s3uid ✅ string Уникальный идентификатор S3 аккаунта
bucket_name ✅ string Имя бакета в хранилище S3
filename ✅ string Путь или имя файла для удаления из бакета

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_file" \
--data "token=VALUE" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE" \
--data "filename=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_file",
"message": "File deleted successfully"
}
Примеры ошибок
{
"code": -1,
"message": "Delete S3 file error: ..."
}

s3/delete_journal_node

Удаляет все записи в журнале (nodes) для указанного идентификатора. Доступно только администраторам.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: delete_journal_node
token ✅ string Токен авторизации
id ✅ integer Идентификатор объекта для удаления узлов журнала

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

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

s3/delete_payment_account

Инициирует процесс удаления (отмены) сервиса и подписки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_payment_account
token ✅ string Токен авторизации
id ❌ integer ID пользователя (для администратора)
s3uid ✅ string Уникальный идентификатор S3 аккаунта
reason ❌ string Причина отмены подписки

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_payment_account" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_payment_account",
"cancellation_date": "2024-12-31",
"cancellation_date_origin": "31.12.2024",
"reason_suspend": "Причина"
}
Примеры ошибок
{
"code": -1,
"message": "Invalid service ID"
}

s3/delete_plan

Удаляет тарифный план, если у него нет активных пользователей.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_plan
token ✅ string Токен авторизации
plan_id ✅ integer ID плана для удаления. Должен быть числовым значением.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_plan" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=123"
Пример успешного ответа
{
"result": "OK",
"action": "delete_plan",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "Plan have active users and cannot be deleted"
}

s3/export_users_to_csv

Экспортирует список всех пользователей текущего тарифного плана в формате CSV.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=export_users_to_csv" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "export_users_to_csv",
"message": [
{
"id": 1,
"email": "user@example.com",
"s3uid": "uuid-string"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Error export S3 users to CSV: not found users."
}

s3/fill_tariff_periods

Запускает процесс заполнения/обновления тарифных периодов в базе данных.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=fill_tariff_periods" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "fill_tariff_periods",
"updated": 5
}
Примеры ошибок
{
"code": -1,
"message": "Internal error"
}

s3/get_available_locations

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_available_locations" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_available_locations",
"message": [
"NL",
"DE",
"US"
]
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка авторизации или выполнения запроса"
}

s3/get_buckets_rmq

Возвращает список бакетов и информацию по использованию через RMQ.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_buckets_rmq
token ✅ string Токен авторизации
id ✅ integer ID клиента или администратора
s3uid ✅ string S3 UID пользователя

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets_rmq" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets_rmq",
"message": [
{
"name": "bucket-name",
"usage": 1024
}
],
"usage_storage": 50,
"quota": 500,
"metering": {
"traffic_used_gb": 1.5,
"storage_used_gb": 10.0
},
"billing": {
"service_id": 123,
"currency": "EUR",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"limits": {
"traffic_gb": 100,
"storage_gb": 500
}
},
"access_key": "AKIA...",
"secret_key": "wJalrXUtn...",
"endpoint": "s3.nl.example.com"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer."
}

s3/get_files

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_files
token ✅ string Токен авторизации
s3uid ✅ string Уникальный идентификатор S3 аккаунта
bucket_name ✅ string Имя бакета
max_keys ❌ integer Максимальное количество ключей (до 100)
search ❌ string Строка поиска для фильтрации файлов
continuation_token ❌ string Токен продолжения (для пагинации)

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_files" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_files",
"files": {
"items": [
{
"key": "folder/file.txt",
"original_key": "folder/file.txt",
"size": 1024,
"last_modified": "2024-05-20T12:00:00Z"
}
],
"folders": [
"folder/"
]
},
"next_token": "example_token_string"
}
Примеры ошибок
{
"code": -1,
"message": "Load S3 files error: ..."
}

s3/get_plan_mrr_dynamics_report

Возвращает отчет по динамике ежемесячной повторяющейся выручки (MRR) для конкретного S3 плана за указанный период.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_plan_mrr_dynamics_report
token ✅ string Токен авторизации
days ❌ integer Количество дней для построения отчета. Допустимые значения: 1-365. По умолчанию 90.
plan_id ❌ integer ID S3 плана для формирования отчета.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_plan_mrr_dynamics_report" \
--data "token=HOSTKEY_TOKEN" \
--data "days=90" \
--data "plan_id=123"
Пример успешного ответа
{
"result": "OK",
"action": "get_plan_mrr_dynamics_report",
"data": {
"dates": [
"2024-01-01",
"2024-01-02"
],
"mrr": [
50.0,
55.5
]
}
}
Примеры ошибок
{
"code": -1,
"message": "Get storage dynamics report error: ..."
}

s3/get_report

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_report
token ✅ string Токен авторизации
id ❌ integer ID S3 плана.
location ❌ string Код локации (например: NL). По умолчанию NL.
billing ❌ string Метод биллинга для формирования отчета.
actions ❌ integer Массив действий (битовая маска). По умолчанию -1.
period_from ❌ string Дата начала периода.
period_to ❌ string Дата окончания периода.
email ❌ string Email пользователя для фильтрации.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_report" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_report",
"message": {}
}
Примеры ошибок
{
"code": -1,
"message": "Get S3 report error: ..."
}

s3/get_storage_dynamics_report

Возвращает отчет по динамике использования объема хранилища за последние N дней.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_storage_dynamics_report
token ✅ string Токен авторизации
days ❌ integer Количество дней для анализа динамики (от 1 до 365). По умолчанию 90.
plan_id ❌ integer ID S3 плана для анализа динамики.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_storage_dynamics_report" \
--data "token=HOSTKEY_TOKEN" \
--data "days=30" \
--data "plan_id=123"
Пример успешного ответа
{
"result": "OK",
"action": "get_storage_dynamics_report",
"data": [
{
"date": "2024-01-01",
"usage_gb": 15.5
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Get storage dynamics report error: ..."
}

s3/get_users

Возвращает список пользователей (аккаунтов) для конкретного плана или клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_users
token ✅ string Токен авторизации
id ❌ integer ID клиента (для администратора)
plan_id ❌ integer ID плана для фильтрации пользователей
mode ❌ string Режим получения: plan_users (только для админа)
s3uid ❌ string S3UID пользователя
email ❌ string Поиск по email
billing ❌ string Фильтр по биллингу (whmcs_location)
storage_type ❌ string Тип хранилища
location ❌ string Локация (регион)
bucket_name ❌ string Поиск по имени бакета
offset ❌ integer Смещение для пагинации (админ)
limit ❌ integer Лимит записей (админ)
period_from ❌ string Дата начала отчетного периода для расчета метрик использования.
period_to ❌ string Дата окончания отчетного периода для расчета метрик использования.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_users" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"s3_users": [
{
"id": 123,
"email": "user@example.com",
"status": "active",
"price": {
"EUR": 49.99,
"RUB": 5000
},
"service": {
"id": 123,
"rate": 49.99,
"status": "active",
"period_start": "2024-01-01"
}
}
],
"count": 1,
"s3_have_free_accounts": false,
"s3_tariff_upgrade_decided": true,
"s3_tariff_upgrade_available": true
}
Примеры ошибок
{
"code": -1,
"message": "customer not found"
}

s3/history

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: history
token ✅ string Токен авторизации
id ❌ integer ID объекта (плана или пользователя) для получения истории.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "history",
"data": [
{
"id": 123,
"event": "account_created",
"date": "2024-01-01T10:00:00Z"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Error fetching history"
}

s3/list_plans

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_plans
token ✅ string Токен авторизации
id ❌ integer ID конкретного плана для получения информации (доступно только администраторам)

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=list_plans" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_plans",
"plans": [
{
"id": 1,
"name": "Standard Plan",
"active": 1,
"price": {
"EUR": 10.0,
"RUB": 1000
},
"traffic_overage_price": {
"eur": 0.5,
"rub": 50
},
"storage_overage_price": {
"eur": 0.1,
"rub": 10
}
}
],
"vat": 20.0
}
Примеры ошибок
{
"code": -1,
"message": "S3 plan is not exists"
}

s3/metering

Принимает сырые данные метрик (raw body) для сохранения в систему биллинга.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: metering
token ✅ string Токен авторизации

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

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

s3/metering_faker

Генерирует и сохраняет тестовые (фейковые) данные метрик для указанных S3 аккаунтов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: metering_faker
token ✅ string Токен авторизации
s3uids ❌ array<string> Список S3UID для генерации данных. Принимает несколько значений: s3uids[]=id1&s3uids[]=id2
date_start ❌ string Дата начала генерации.
date_end ❌ string Дата окончания генерации.
location ❌ string Локация для привязки данных.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=metering_faker" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uids[]=id1" \
--data "s3uids[]=id2"
Пример успешного ответа
{
"result": "OK",
"action": "metering_faker"
}
Примеры ошибок
{
"code": -1,
"message": "Faker error"
}

s3/metering_faker_calculate

Выполняет расчет перерасхода (overage) на основе сгенерированных или существующих данных за период.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: metering_faker_calculate
token ✅ string Токен авторизации
date_start ❌ string Дата начала расчета.
date_end ❌ string Дата окончания расчета.

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

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

s3/remove_free_s3

Удаляет все бесплатные (бета) аккаунты S3 в системе.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: remove_free_s3
token ✅ string Токен авторизации

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

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

s3/show_key

Возвращает расшифрованный Access Key или Secret Key для указанного S3 аккаунта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: show_key
token ✅ string Токен авторизации
s3uid ✅ string Уникальный идентификатор S3 аккаунта
s3_key ✅ string Тип ключа. Допустимые значения: secret_key, access_key

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=show_key" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "s3_key=secret_key"
Пример успешного ответа
{
"result": "OK",
"action": "show_key",
"key": "AKIAEXAMPLE123456789"
}
Примеры ошибок
{
"code": -1,
"message": "invalid key"
}

s3/suspend_free_s3

Приостанавливает работу всех бесплатных (бета) аккаунтов S3.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: suspend_free_s3
token ✅ string Токен авторизации

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

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

s3/suspend_user

Приостанавливает работу конкретного S3 аккаунта.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: suspend_user
token ✅ string Токен авторизации
id ✅ integer ID администратора (для проверки прав)
s3uid ✅ string S3 UID пользователя
reason ❌ string Причина приостановки аккаунта

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=suspend_user" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE" \
--data "reason=REASON_TEXT"
Пример успешного ответа
{
"result": "OK",
"action": "suspend_user",
"message": "Success"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/tariff_upgrade

Инициирует процесс перехода с бесплатного S3 на платный тариф.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: tariff_upgrade
token ✅ string Токен авторизации
s3uid ❌ string S3 UID аккаунта для апгрейда
decision ❌ integer Идентификатор принятого решения для обновления тарифа пользователя.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=tariff_upgrade" \
--data "token=YOUR_TOKEN" \
--data "s3uid=12345" \
--data "decision=1"
Пример успешного ответа
{
"result": "OK",
"action": "tariff_upgrade"
}
Примеры ошибок
{
"code": -1,
"message": "Tariff upgrade is not available"
}

s3/tariff_upgrade_execute

Выполняет техническую часть перехода на платный тариф.

HTTP-метод: POST

Параметры:

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

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

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

s3/update_plan

Создает новый или обновляет существующий тарифный план S3.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_plan
token ✅ string Токен авторизации
id ❌ integer ID существующего плана (если обновление)
name ✅ string Название тарифного плана
quota ✅ integer Общий объем хранилища (в байтах/единицах)
active ❌ boolean Статус активности плана. Допустимые значения: 0, 1.
locations ✅ string Список доступных локаций через запятую (например: NL,DE). Допустимые значения: список кодов из get_available_locations.
price ❌ string JSON-объект с ценами в разных валютах. Допустимые значения: JSON string
monthly_rub ❌ number Ежемесячная цена в RUB.
monthly_eur ❌ number Ежемесячная цена в EUR.
monthly_usd ❌ number Ежемесячная цена в USD.
storage_type ✅ string Тип хранилища. Допустимые значения: Standard, Cold и др.
bandwidth_limit ❌ integer Лимит пропускной способности.
traffic_overage_price_rub ❌ number Цена за превышение трафика в RUB.
traffic_overage_price_eur ❌ number Цена за превышение трафика в EUR.
traffic_overage_price_usd ❌ number Цена за превышение трафика в USD.
storage_overage_price_rub ❌ number Цена за превышение объема хранения в RUB.
storage_overage_price_eur ❌ number Цена за превышение объема хранения в EUR.
storage_overage_price_usd ❌ number Цена за превышение объема хранения в USD.
plan_id ✅ integer Уникальный идентификатор тарифного плана для обновления.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=update_plan" \
--data "token=HOSTKEY_TOKEN" \
--data "name=VALUE" \
--data "quota=VALUE" \
--data "locations=VALUE" \
--data "storage_type=VALUE" \
--data "plan_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "update_plan",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "S3 plan name already exists"
}

s3/update_quota

Выполняет системную процедуру обновления лимитов (квот) для всех аккаунтов.

HTTP-метод: POST

Параметры:

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

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

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

s3/update_reason_suspend

Обновляет причину приостановки S3 аккаунта для административного контроля.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_reason_suspend
token ✅ string Токен авторизации
id ✅ integer ID администратора (используется для проверки прав)
s3uid ✅ string Уникальный идентификатор S3 аккаунта
reason ❌ string Причина приостановки аккаунта.

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=update_reason_suspend" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE" \
--data "reason=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "update_reason_suspend",
"message": "Reason updated successfully"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/update_traffic_info

Возвращает текущие метрики использования трафика для S3 аккаунта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_traffic_info
token ✅ string Токен авторизации
id ✅ integer ID администратора (используется для проверки прав)
s3uid ✅ string Уникальный идентификатор S3 аккаунта

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=update_traffic_info" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "update_traffic_info",
"message": {
"total_bytes_sent": 1024576,
"total_bytes_received": 524288,
"period_start": "2024-01-01T00:00:00Z",
"period_end": "2024-01-31T23:59:59Z"
}
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×