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

s3.php

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

Методы API

Метод Действие Описание
cancel_payment_account_deletion отмена удаления платежного аккаунта Отменяет процесс удаления сервиса и восстанавливает статус аккаунта.
create_bucket создание бакета Создает новый S3 бакет для указанного пользователя.
create_order создание заказа на S3 план Создает новый S3 аккаунт и привязывает его к тарифному плану.
delete_account удаление аккаунта Полное удаление S3 аккаунта и связанных с ним сервисов.
delete_bucket удаление бакета Удаляет указанный S3 бакет.
delete_file удаление файла Удаляет конкретный файл из S3 бакета.
delete_payment_account удаление платежного аккаунта Инициирует процесс удаления (отмены) сервиса и подписки.
get_available_locations получение доступных локаций Возвращает список всех доступных локаций, настроенных в S3 планах.
get_buckets_rmq получение информации о бакетах через RMQ Возвращает список бакетов пользователя, информацию об использовании хранилища и данные биллинга.
get_files получение списка файлов S3 Возвращает список файлов и папок в указанном бакете с поддержкой пагинации.
get_users получение списка пользователей S3 Возвращает список пользователей (аккаунтов) для конкретного плана или клиента.
list_plans получение списка планов S3 Возвращает список доступных тарифных планов с учетом налогов (VAT) и валюты пользователя.
show_key получение ключей доступа S3 Возвращает расшифрованный Access Key или Secret Key для указанного S3 аккаунта.

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/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/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 бакет.

HTTP-метод: POST

Параметры:

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

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

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

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_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/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

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets_rmq" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets_rmq",
"message": [
{
"name": "bucket-1",
"usage": 1024
},
{
"name": "bucket-2",
"usage": 512
}
],
"usage_storage": 1536,
"quota": 5000,
"metering": {
"total_traffic_gb": 10.5,
"total_storage_gb": 2.4
},
"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": 50
},
"current_period": {
"traffic_used_gb": 5.2,
"storage_used_gb": 1.1,
"billed_traffic_gb": 0,
"billed_storage_gb": 0,
"billed_traffic_amount": 0,
"billed_storage_amount": 0
},
"overage": null,
"records": [],
"error": "billing_unavailable"
},
"access_key": "AKIAEXAMPLE123456789",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"endpoint": "s3.nl.hostkey.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_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/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/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"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×