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 платежного аккаунта для отмены удаления |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 | Локация (регион) хранения |
Пример запроса
Примеры ошибок
``` { "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) |
Пример запроса
Примеры ошибок
``` { "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) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -3, "message": "s3_orders_disabled" }
```
s3/delete_account¶
Удаляет S3 аккаунт из системы по предоставленным параметрам
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_account |
| token | ✅ | string | Токен авторизации |
| params[bucket_name] | ✅ | string | Имя корзины (bucket name) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Ошибка при удалении аккаунта" }
```
s3/delete_bucket¶
Удаляет указанный S3 бакет из системы хранения данных
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Токен авторизации пользователя |
| params[bucket_name] | ✅ | string | Имя удаляемого бакета |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Bucket not found" }
```
s3/delete_file¶
Удаляет указанный файл из S3 хранилища по его пути или идентификатору
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_file |
| token | ✅ | string | Токен авторизации пользователя |
| params[file_path] | ✅ | string | Путь к файлу в S3 хранилище |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 пользователя |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 аккаунта |
Пример запроса
Пример успешного ответа
{
"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 адрес пользователя |
Пример запроса
Пример успешного ответа
{
"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 | Включать удаленных пользователей |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Unauthorized access" }
```
s3/history¶
Возвращает историю событий или логов, связанных с S3 хранилищем
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: history |
| token | ✅ | string | Токен авторизации |
| params[bucket_name] | ❌ | string | Имя бакета для фильтрации истории |
| params[limit] | ❌ | int | Количество записей в ответе |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Unauthorized access" }
```
s3/list_plans¶
Возвращает список доступных S3 тарифных планов с параметрами конфигурации и ценами
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_plans |
| token | ✅ | string | Токен авторизации пользователя |
| with_users | ❌ | boolean | Флаг для включения данных пользователей в список планов |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "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 | Тип хранилища |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Bucket not found" }
```