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

s3.php

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

Методы API

Метод Действие Описание
create_account создание аккаунта S3 Создает новый S3 аккаунт (пользователя) для клиента, привязывает его к тарифному плану и создает бакет.
create_bucket создание бакета Создает новый S3 бакет в указанном регионе с заданными параметрами доступа
create_order создание заказа S3 Создает новый S3 аккаунт, бакет и оформляет заказ (платный или бесплатный) в зависимости от выбранного плана и баланса пользователя.
delete_account удаление аккаунта Удаляет S3 аккаунт из системы по предоставленным параметрам
delete_bucket удаление бакета Удаляет указанный S3 бакет из системы хранения данных
delete_file удаление файла Удаляет указанный файл из S3 хранилища по его пути или идентификатору
delete_payment_account удаление платежного аккаунта Удаляет привязанный платежный аккаунт S3, связанный с клиентом через WHMCS
get_buckets получение списка бакетов (закомментировано) Метод закомментирован в коде, но предназначен для получения информации о бакетах S3 пользователя, включая использование трафика и снапшоты.
get_buckets_rmq получение данных о бакетах и ресурсах S3 Возвращает информацию об аккаунте S3: список бакетов, объем использованного хранилища, квоту, историю использования (metering), данные биллинга и учетные данные доступа.
get_files получение файлов Возвращает список доступных файлов в S3 хранилище
get_users получение пользователей Возвращает список пользователей, связанных с S3 хранилищем, с возможностью фильтрации по параметрам
history получение истории Возвращает историю событий или логов, связанных с S3 хранилищем
list_plans получение списка тарифных планов Возвращает список доступных S3 тарифных планов с параметрами конфигурации и ценами
show_key получение данных ключа Возвращает информацию о ключе доступа S3 на основе имени бакета и региона

s3/cancel_payment_account_deletion

Отменяет процесс удаления платежного аккаунта S3, инициированный ранее.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=cancel_payment_account_deletion" \
--data "token=HOSTKEY_TOKEN" \
--data "params[account_id]=12345"
Пример успешного ответа
{
"result": "OK",
"action": "cancel_payment_account_deletion",
"data": {
"status": "active",
"account_id": 12345,
"updated_at": "2024-05-20T14:30:00Z"
}
}
Примеры ошибок

``` { "code": -1, "message": "Account not found", "details": { "account_id": 12345 } }

```

s3/create_account

Создает новый S3 аккаунт (пользователя) для клиента, привязывает его к тарифному плану и создает бакет.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_account
token string Токен авторизации
bucket_name string Имя создаваемого бакета
plan_id int ID тарифного плана
location string Локация (регион) хранения

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

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

``` { "code": -1, "message": "S3 account was created, but have error: bucket create error. Debug data: ..." }

```

s3/create_bucket

Создает новый S3 бакет в указанном регионе с заданными параметрами доступа

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_bucket
token string Токен авторизации пользователя
params[bucket_name] string Уникальное имя бакета
params[region] string Регион размещения бакета (например, us-east-1)

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_bucket" \
--data "token=HOSTKEY_TOKEN" \
--data "params[bucket_name]=VALUE" \
--data "params[region]=VALUE"
Пример успешного ответа
{
"status": 200,
"body": "XML/JSON response from S3 API"
}
Примеры ошибок

``` { "code": -1, "message": "S3 Error: XML error message or code" }

```

s3/create_order

Создает новый S3 аккаунт, бакет и оформляет заказ (платный или бесплатный) в зависимости от выбранного плана и баланса пользователя.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
plan_id int ID выбранного тарифного плана S3
bucket_name string Имя создаваемого бакета
location string Код локации (например, NL, DE)

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

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

``` { "code": -3, "message": "s3_orders_disabled" }

```

s3/delete_account

Удаляет S3 аккаунт из системы по предоставленным параметрам

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_account
token string Токен авторизации
params[bucket_name] string Имя корзины (bucket name)

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_account" \
--data "token=HOSTKEY_TOKEN" \
--data "params[bucket_name]=example-bucket"
Пример успешного ответа
{
"result": "OK",
"action": "delete_account",
"data": {
"status": "deleted",
"bucket_name": "example-bucket"
},
"deleted_at": "2024-01-15T10:30:00Z",
"service_status": null,
"service_period_end": null
}
Примеры ошибок

``` { "code": -1, "message": "Ошибка при удалении аккаунта" }

```

s3/delete_bucket

Удаляет указанный S3 бакет из системы хранения данных

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации пользователя
params[bucket_name] string Имя удаляемого бакета

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "params[bucket_name]=example-bucket"
Пример успешного ответа
{
"result": "OK",
"action": "delete_bucket",
"data": {
"status": "deleted",
"bucket_name": "example-bucket"
}
}
Примеры ошибок

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

```

s3/delete_file

Удаляет указанный файл из S3 хранилища по его пути или идентификатору

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_file
token string Токен авторизации пользователя
params[file_path] string Путь к файлу в S3 хранилище

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_file" \
--data "token=HOSTKEY_TOKEN" \
--data "params[file_path]=uploads/documents/file.pdf"
Пример успешного ответа
{
"result": "OK",
"action": "delete_file",
"data": {
"status": "deleted",
"path": "uploads/documents/file.pdf"
}
}
Примеры ошибок

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

```

s3/delete_payment_account

Удаляет привязанный платежный аккаунт S3, связанный с клиентом через WHMCS

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_payment_account" \
--data "token=HOSTKEY_TOKEN" \
--data "params[client_id]=12345"
Пример успешного ответа
{
"result": "OK",
"action": "delete_payment_account",
"data": {
"status": "deleted",
"client_id": 12345,
"contractnum": "CONT-98765"
}
}
Примеры ошибок

``` { "code": -1, "message": "Client not found in WHMCS" }

```

s3/get_buckets

Метод закомментирован в коде, но предназначен для получения информации о бакетах S3 пользователя, включая использование трафика и снапшоты.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets",
"message": [
{
"Name": "example-bucket",
"usage": 1024
},
{
"Name": "test-bucket",
"usage": 512
}
],
"bandwidth": 123,
"snapshot": {
"bandwidth_usage": 10,
"storage_usage": 100,
"created_at": "2024-01-15T10:30:00Z"
}
}
Примеры ошибок

``` { "code": -1, "message": "Load bucket error: Invalid bucket_name" }

```

s3/get_buckets_rmq

Возвращает информацию об аккаунте S3: список бакетов, объем использованного хранилища, квоту, историю использования (metering), данные биллинга и учетные данные доступа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_buckets_rmq
token string Токен авторизации
s3uid integer Уникальный идентификатор 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_name_1",
"usage": 1024,
"status": "active"
},
{
"name": "bucket_name_2",
"usage": 512,
"status": "active"
}
],
"usage_storage": 1536,
"quota": 10240,
"metering": [
{
"date": "2024-05-01T12:00:00Z",
"used_gb": 1.5
}
],
"billing": {
"service_id": 123,
"currency": "EUR",
"period": {
"start": "2024-05-01T00:00:00Z",
"end": null
},
"limits": {
"traffic_gb": 100.0,
"storage_gb": 50
},
"current_period": {
"traffic_used_gb": 5.5,
"storage_used_gb": 2.1,
"billed_traffic_gb": 5.5,
"billed_storage_gb": 2.1,
"billed_traffic_amount": 10.5,
"billed_storage_amount": 4.2
},
"overage": null,
"records": [],
"error": "billing_unavailable"
},
"access_key": "AKIAEXAMPLE123456789",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"endpoint": "s3.region.provider.com"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/get_files

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_files" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_files",
"data": [
{
"id": 101,
"name": "backup_2023_10_01.zip",
"size": 10485760,
"type": "application/zip",
"created_at": "2023-10-01T12:00:00Z",
"url": "https://s3.example.com/bucket/backup_2023_10_01.zip"
},
{
"id": 102,
"name": "config.json",
"size": 512,
"type": "application/json",
"created_at": "2023-10-05T08:30:00Z",
"url": "https://s3.example.com/bucket/config.json"
}
]
}
Примеры ошибок

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

```

s3/get_users

Возвращает список пользователей, связанных с S3 хранилищем, с возможностью фильтрации по параметрам

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_users
token string Токен авторизации
params[customer_id] int ID клиента
params[plan_id] int ID плана
params[s3uid] string S3 UID (LIKE %value%)
params[email] string Email пользователя (LIKE %value%)
params[billing] string Billing данные
params[storage_type] string Тип хранилища (Standard и др.)
params[region] string Регион
params[include_deleted] bool Включать удаленных пользователей

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_users" \
--data "token=HOSTKEY_TOKEN" \
--data "params[email]=user@example.com" \
--data "params[include_deleted]=1"
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"data": [
{
"id": 123,
"email": "user@example.com",
"billing": "some_billing",
"currency": "USD",
"name": "Plan Name",
"active": 1
}
]
}
Примеры ошибок

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

```

s3/history

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "params[bucket_name]=my-bucket" \
--data "params[limit]=10"
Пример успешного ответа
{
"result": "OK",
"action": "history",
"data": [
{
"id": 10254,
"event": "bucket_created",
"status": "active",
"details": {
"ip": "192.168.1.1",
"user_agent": "Mozilla/5.0"
},
"created_at": "2024-05-20T14:30:00Z"
}
]
}
Примеры ошибок

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

```

s3/list_plans

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list_plans
token string Токен авторизации пользователя
with_users boolean Флаг для включения данных пользователей в список планов

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

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 S3 Plan",
"storage_type": "standard",
"region": "us-east-1",
"price": {
"USD": 5.0,
"EUR": 4.65,
"RUB": 450
},
"status": "active",
"tags": []
}
]
}
Примеры ошибок

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

```

s3/show_key

Возвращает информацию о ключе доступа S3 на основе имени бакета и региона

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: show_key
token string Токен авторизации пользователя
params[bucket_name] string Имя S3 бакета
params[region] string Регион расположения хранилища
params[storage_type] string Тип хранилища

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=show_key" \
--data "token=HOSTKEY_TOKEN" \
--data "params[bucket_name]=my-storage-bucket"
Пример успешного ответа
{
"result": "OK",
"action": "show_key",
"data": {
"auth_key": "abc123def456ghi789jklmno",
"status": "active",
"bucket_name": "my-storage-bucket",
"region": "us-east-1",
"storage_type": "standard"
}
}
Примеры ошибок

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

```

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